forked from Haxxnet/Compose-Examples
-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yml
86 lines (82 loc) · 4.99 KB
/
docker-compose.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
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