30 lines
1.5 KiB
YAML
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
|