# 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