services: ntfy: image: binwiederhier/ntfy container_name: ntfy command: - serve environment: TZ: Etc/London # optional: set desired timezone NTFY_BASE_URL: http://ntfy.internal NTFY_CACHE_FILE: /var/lib/ntfy/cache.db NTFY_AUTH_FILE: /var/lib/ntfy/auth.db NTFY_AUTH_DEFAULT_ACCESS: deny-all NTFY_AUTH_USERS: 'username:base64encodedpassword:admin' # Must escape '$' as '$$' NTFY_BEHIND_PROXY: true NTFY_ATTACHMENT_CACHE_DIR: /var/lib/ntfy/attachments NTFY_ENABLE_LOGIN: true NTFY_UPSTREAM_BASE_URL: https://ntfy.sh volumes: - ./cache/ntfy:/var/cache/ntfy - ./web/ntfy:/etc/ntfy healthcheck: # optional: remember to adapt the host:port to your environment test: ["CMD-SHELL", "wget -q --tries=1 http://localhost:80/v1/health -O - | grep -Eo '\"healthy\"\\s*:\\s*true' || exit 1"] interval: 60s timeout: 10s retries: 3 start_period: 40s restart: unless-stopped init: true # needed, if healthcheck is used. Prevents zombie processes