DodoTransfer/compose.example.yaml
2026-11-05 10:28:10 +09:00

30 lines
1.5 KiB
YAML

# Dodo Transfer: docker compose example
#
# 1. cp .env.example .env and set the two passwords in it
# 2. docker compose -f compose.example.yaml up -d --build
#
# The image is built from this repository (the frontend is built inside the build).
# Everything the app stores lives in the /data volume: the uploaded files and the
# settings of the admin page (name, logo), so a re-created container keeps them.
services:
dodo-transfer:
build: .
image: dodo-transfer:latest
container_name: dodo-transfer
user: "1000:1000" # same uid/gid as the owner of the data folder
restart: unless-stopped
ports:
- "127.0.0.1:3377:3000" # not exposed directly, only the nginx of this server reaches it
env_file:
- .env # PSITRANSFER_ADMIN_PASS, PSITRANSFER_UPLOAD_PASS
environment:
PSITRANSFER_BASE_URL: "/sharing"
PSITRANSFER_REQUIRE_BUCKET_PASSWORD: "true" # every upload needs a password, except one-time downloads
PSITRANSFER_TRUST_PROXY: "172.16.0.0/12"
PSITRANSFER_MAX_AGE: "1209600" # 14 days, no file lives longer
PSITRANSFER_DEFAULT_RETENTION: "86400"
PSITRANSFER_RETENTIONS: '{"one-time":"1회 다운로드","3600":"1시간","86400":"1일","259200":"3일","432000":"5일","604800":"7일","1209600":"2주"}'
PSITRANSFER_APP_NAME: "AJIN Transfer" # default name, can be changed on the admin page
volumes:
- /storage/sharing/files:/data