1+ # iGotify Notification Assistant - Docker Compose
2+ #
3+ # Quick Start:
4+ # 1. Copy .env.example to .env and configure
5+ # 2. Run: docker compose up -d
6+ #
7+ # Documentation: https://github.com/androidseb25/iGotify-Notification-Assistent/wiki
8+
19services :
210 gotify :
311 container_name : gotify
412 hostname : gotify
5- image : gotify/server # Uncommand correct server image
6- # image: gotify/server-arm7
7- # image: gotify/server-arm64
13+ image : gotify/server
14+ # image: gotify/server-arm7 # For ARM v7
15+ # image: gotify/server-arm64 # For ARM64
816 restart : unless-stopped
917 security_opt :
1018 - no-new-privileges:true
1119 networks :
1220 - net
21+ # - proxy # Uncomment for Traefik
1322 ports :
1423 - " 8680:80"
1524 volumes :
1625 - data:/app/data
1726 environment :
18- GOTIFY_DEFAULTUSER_PASS : ' my-very-strong-password' # Change me!!!!!
27+ GOTIFY_DEFAULTUSER_PASS : ${GOTIFY_DEFAULTUSER_PASS:?Please set GOTIFY_DEFAULTUSER_PASS in .env}
28+ # GOTIFY_REGISTRATION: 'false' # Disable user registration
1929 healthcheck :
20- test : ["CMD-SHELL ", "ls /app/data || exit 1 "]
30+ test : ["CMD", "curl", "-f", "http://localhost:80/health "]
2131 interval : 5s
2232 timeout : 3s
2333 retries : 5
2434 start_period : 10s
35+ # ─── Traefik Labels (uncomment to enable) ───────────────────────
36+ # labels:
37+ # traefik.enable: "true"
38+ # traefik.docker.network: proxy
39+ # # HTTPS
40+ # traefik.http.routers.gotify-secure.entrypoints: websecure
41+ # traefik.http.routers.gotify-secure.rule: Host(`gotify.example.com`)
42+ # traefik.http.routers.gotify-secure.tls: "true"
43+ # traefik.http.routers.gotify-secure.tls.certresolver: http_resolver
44+ # traefik.http.routers.gotify-secure.service: gotify
45+ # traefik.http.routers.gotify-secure.middlewares: default@file
46+ # # HTTP (redirect to HTTPS)
47+ # traefik.http.routers.gotify.entrypoints: web
48+ # traefik.http.routers.gotify.rule: Host(`gotify.example.com`)
49+ # # Service
50+ # traefik.http.services.gotify.loadbalancer.server.port: "80"
2551
2652 igotify :
2753 container_name : igotify
@@ -30,30 +56,52 @@ services:
3056 restart : unless-stopped
3157 security_opt :
3258 - no-new-privileges:true
33- pull_policy : always
3459 depends_on :
3560 gotify :
3661 condition : service_healthy
37- healthcheck :
38- test : [ "CMD", "curl", "-f", "http://localhost:8080/Version" ]
39- interval : " 3s"
40- timeout : " 3s"
41- retries : 5
4262 networks :
4363 - net
64+ # - proxy # Uncomment for Traefik
4465 ports :
4566 - " 8681:8080"
4667 volumes :
4768 - api-data:/app/data
48- # environment: # option environment see above note
49- # GOTIFY_URLS: ''
50- # GOTIFY_CLIENT_TOKENS: ''
51- # SECNTFY_TOKENS: ''
52- # ENABLE_CONSOLE_LOG: 'true'
53- # ENABLE_SCALAR_UI: 'true'
69+ environment :
70+ # Required only when NOT using a public domain
71+ # See wiki for details: https://github.com/androidseb25/iGotify-Notification-Assistent/wiki#environment-variables
72+ GOTIFY_URLS : ${GOTIFY_URLS:-}
73+ GOTIFY_CLIENT_TOKENS : ${GOTIFY_CLIENT_TOKENS:-}
74+ SECNTFY_TOKENS : ${SECNTFY_TOKENS:-}
75+ # Optional settings
76+ ENABLE_CONSOLE_LOG : ${ENABLE_CONSOLE_LOG:-'true'}
77+ ENABLE_SCALAR_UI : ${ENABLE_SCALAR_UI:-'true'}
78+ healthcheck :
79+ test : ["CMD", "curl", "-f", "http://localhost:8080/Version"]
80+ interval : 5s
81+ timeout : 3s
82+ retries : 5
83+ start_period : 10s
84+ # ─── Traefik Labels (uncomment to enable) ───────────────────────
85+ # labels:
86+ # traefik.enable: "true"
87+ # traefik.docker.network: proxy
88+ # # HTTPS
89+ # traefik.http.routers.igotify-secure.entrypoints: websecure
90+ # traefik.http.routers.igotify-secure.rule: Host(`igotify.example.com`)
91+ # traefik.http.routers.igotify-secure.tls: "true"
92+ # traefik.http.routers.igotify-secure.tls.certresolver: http_resolver
93+ # traefik.http.routers.igotify-secure.service: igotify
94+ # traefik.http.routers.igotify-secure.middlewares: default@file
95+ # # HTTP (redirect to HTTPS)
96+ # traefik.http.routers.igotify.entrypoints: web
97+ # traefik.http.routers.igotify.rule: Host(`igotify.example.com`)
98+ # # Service
99+ # traefik.http.services.igotify.loadbalancer.server.port: "8080"
54100
55101networks :
56102 net :
103+ # proxy:
104+ # external: true
57105
58106volumes :
59107 data :
0 commit comments