services: ntfy: image: binwiederhier/ntfy container_name: ntfy networks: - default - proxy command: serve volumes: - ntfy_cache:/var/cache/ntfy - ntfy_config:/etc/ntfy - ntfy_data:/var/lib/ntfy healthcheck: test: ["CMD-SHELL", "wget -q --tries=1 http://localhost:2586/v1/health -O - | grep -Eo '\"healthy\"\\s*:\\s*true' || exit 1"] interval: 60s timeout: 10s retries: 3 start_period: 40s restart: unless-stopped labels: caddy: ntfy.fern.garden caddy.reverse_proxy: "{{upstreams 2586}}" mollysocket: image: ghcr.io/mollyim/mollysocket:1 container_name: mollysocket networks: - default - proxy restart: unless-stopped volumes: - mollysocket_data:/data working_dir: /data command: server environment: - MOLLY_DB=/data/mollysocket.db - MOLLY_ALLOWED_ENDPOINTS=["https://ntfy.fern.garden"] - MOLLY_ALLOWED_UUIDS=["*"] - MOLLY_VAPID_PRIVKEY=${MOLLY_VAPID_PRIVKEY} - MOLLY_HOST=0.0.0.0 - MOLLY_PORT=8020 - RUST_LOG=info labels: caddy: mollysocket.fern.garden caddy.reverse_proxy: "{{upstreams 8020}}" apprise-api: image: lscr.io/linuxserver/apprise-api:latest container_name: apprise-api environment: - PUID=1000 - PGID=1000 - TZ=Australia/Perth networks: - default - proxy volumes: - apprise-api_config:/config - apprise-api_attachments:/attachments restart: unless-stopped labels: caddy: apprise.ferngarden.net caddy.import: internal caddy.reverse_proxy: '{{ upstreams 8000 }}' networks: default: proxy: external: true volumes: ntfy_cache: name: ntfy_cache ntfy_config: name: ntfy_config ntfy_data: name: ntfy_data mollysocket_data: name: mollysocket_data apprise-api_config: name: apprise-api_config apprise-api_attachments: name: apprise-api_attachments