mirror of
https://github.com/Haxxnet/Compose-Examples
synced 2024-11-30 15:31:12 +00:00
2caef5b1e3
add security flags
87 lines
5.0 KiB
YAML
87 lines
5.0 KiB
YAML
version: "3"
|
||
|
||
services:
|
||
|
||
send:
|
||
image: registry.gitlab.com/timvisee/send:latest # official image
|
||
#image: l4rm4nd/send:latest # image of a fork with darkmode only
|
||
container_name: send-app
|
||
restart: unless-stopped
|
||
read_only: true
|
||
security_opt:
|
||
- no-new-privileges:true
|
||
cap_drop:
|
||
- ALL
|
||
ports:
|
||
- 1234:1234
|
||
expose:
|
||
- 1234
|
||
volumes:
|
||
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/send/uploads:/uploads
|
||
#- ./logo.png:/app/dist/mylogo.png:ro # pass custom logo into the container
|
||
environment:
|
||
- NODE_ENV=production # default is development
|
||
- DETECT_BASE_URL=true
|
||
#- BASE_URL=https://send.example.com # optional; if used then protocol handler (http/https) is mandatory
|
||
- PORT=1234
|
||
- REDIS_HOST=redis
|
||
# For local uploads storage
|
||
- FILE_DIR=/uploads
|
||
# To customize upload limits
|
||
- EXPIRE_TIMES_SECONDS=3600,86400,604800,2592000,31536000 # Expire time options to show in UI dropdown, e.g. 3600,86400,604800,2592000,31536000
|
||
- DEFAULT_EXPIRE_SECONDS=604800 # Default expire time in UI (defaults to 86400)
|
||
- MAX_EXPIRE_SECONDS=31536000 # Maximum upload expiry time in seconds (defaults to 604800 aka 7 days)
|
||
- DOWNLOAD_COUNTS=1,2,5,10,50 # Download limit options to show in UI dropdown, e.g. 10,1,2,5,10,15,25,50,100,1000
|
||
- DEFAULT_DOWNLOADS=10
|
||
- MAX_DOWNLOADS=10 # Maximum number of downloads (defaults to 100)
|
||
- MAX_FILE_SIZE=2684354560 # Maximum upload file size in bytes (defaults to 2147483648 aka 2GB)
|
||
# ----------------------------------------------------------------------------------
|
||
# Custom Branding; see https://github.com/timvisee/send/blob/master/server/config.js
|
||
# ----------------------------------------------------------------------------------
|
||
#- CUSTOM_TITLE=Send
|
||
#- CUSTOM_DESCRIPTION=Encrypt and send files with a link that automatically expires to ensure your important documents don’t stay online forever.
|
||
#- CUSTOM_FOOTER_TEXT=
|
||
#- CUSTOM_FOOTER_URL=
|
||
#- CUSTOM_LOCALE=
|
||
#- UI_CUSTOM_ASSETS_ANDROID_CHROME_192PX=mylogo.png # use a custom logo; if NODE_ENV=production you must use an internal image; otherwise any http(s) url works too
|
||
#- UI_CUSTOM_ASSETS_ANDROID_CHROME_512PX=mylogo.png # use a custom logo; if NODE_ENV=production you must use an internal image; otherwise any http(s) url works too
|
||
#- UI_CUSTOM_ASSETS_APPLE_TOUCH_ICON=mylogo.png # use a custom logo; if NODE_ENV=production you must use an internal image; otherwise any http(s) url works too
|
||
#- UI_CUSTOM_ASSETS_FAVICON_16PX=mylogo.png # use a custom logo; if NODE_ENV=production you must use an internal image; otherwise any http(s) url works too
|
||
#- UI_CUSTOM_ASSETS_FAVICON_32PX=mylogo.png # use a custom logo; if NODE_ENV=production you must use an internal image; otherwise any http(s) url works too
|
||
#- UI_CUSTOM_ASSETS_ICON=mylogo.png # use a custom logo; if NODE_ENV=production you must use an internal image; otherwise any http(s) url works too
|
||
#- UI_CUSTOM_ASSETS_SAFARI_PINNED_TAB=mylogo.png # use a custom logo; if NODE_ENV=production you must use an internal image; otherwise any http(s) url works too
|
||
#- UI_CUSTOM_ASSETS_FACEBOOK=mylogo.png # use a custom logo; if NODE_ENV=production you must use an internal image; otherwise any http(s) url works too
|
||
#- UI_CUSTOM_ASSETS_TWITTER=mylogo.png # use a custom logo; if NODE_ENV=production you must use an internal image; otherwise any http(s) url works too
|
||
#- UI_CUSTOM_ASSETS_WORDMARK=mylogo.png # use a custom logo; if NODE_ENV=production you must use an internal image; otherwise any http(s) url works too
|
||
#- UI_CUSTOM_CSS=
|
||
#- UI_COLOR_PRIMARY=0a84ff
|
||
#- UI_COLOR_ACCENT=003eaa
|
||
#- SEND_FOOTER_CLI_URL=https://github.com/timvisee/ffsend
|
||
#- SEND_FOOTER_DMCA_URL=
|
||
#- SEND_FOOTER_SOURCE_URL=https://github.com/timvisee/send
|
||
# ----------------------------------------------------------------------------------
|
||
#networks:
|
||
# - proxy
|
||
#labels:
|
||
# - traefik.enable=true
|
||
# - traefik.docker.network=proxy
|
||
# - traefik.http.routers.send.rule=Host(`send.example.com`)
|
||
# - traefik.http.services.send.loadbalancer.server.port=1234
|
||
# - traefik.http.middlewares.limit.buffering.maxRequestBodyBytes=5000000000 # optional, only necessary for file uploads; allow 5GB
|
||
# - traefik.http.middlewares.limit.buffering.maxResponseBodyBytes=5000000000 # optional, only necessary for file uploads; allow 5GB
|
||
# - traefik.http.middlewares.limit.buffering.memRequestBodyBytes=5000000000 # optional, only necessary for file uploads; allow 5GB
|
||
# - traefik.http.middlewares.limit.buffering.memResponseBodyBytes=5000000000 # optional, only necessary for file uploads; allow 5GB
|
||
|
||
redis:
|
||
image: redis:alpine
|
||
container_name: send-redis
|
||
restart: unless-stopped
|
||
volumes:
|
||
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/send/redis:/data
|
||
#networks:
|
||
# - proxy
|
||
|
||
#networks:
|
||
# proxy:
|
||
# external: true
|