# Apprise — notify.manohargupta.com # Unified notification API. POST one message, fans out to Telegram, email, ~80 services. # Auth: bcrypt basic auth via Traefik (hash hardcoded -- env vars don't work in labels). # Whitelist removed -- basic auth is sufficient protection. services: apprise: image: caronc/apprise:latest restart: unless-stopped environment: APPRISE_STATEFUL_MODE: simple APPRISE_CONFIG_LOCK: "no" volumes: - apprise_config:/config - apprise_attach:/attach networks: - dokploy-network labels: - "traefik.enable=true" - "traefik.docker.network=dokploy-network" - "traefik.http.routers.apprise.rule=Host(`notify.manohargupta.com`)" - "traefik.http.routers.apprise.entrypoints=websecure" - "traefik.http.routers.apprise.tls.certresolver=letsencrypt" - "traefik.http.services.apprise.loadbalancer.server.port=8000" - "traefik.http.middlewares.apprise-auth.basicauth.users=manohar:$$2y$$05$$xzm9ssFqu4alRc5XvLLiSunZXviyj5CkfxQdJAPw2NyqEQ1gTIDuq" - "traefik.http.routers.apprise.middlewares=apprise-auth@docker" deploy: labels: - "traefik.enable=true" - "traefik.docker.network=dokploy-network" - "traefik.http.routers.apprise.rule=Host(`notify.manohargupta.com`)" - "traefik.http.routers.apprise.entrypoints=websecure" - "traefik.http.routers.apprise.tls.certresolver=letsencrypt" - "traefik.http.services.apprise.loadbalancer.server.port=8000" - "traefik.http.middlewares.apprise-auth.basicauth.users=manohar:$$2y$$05$$xzm9ssFqu4alRc5XvLLiSunZXviyj5CkfxQdJAPw2NyqEQ1gTIDuq" - "traefik.http.routers.apprise.middlewares=apprise-auth@docker" volumes: apprise_config: apprise_attach: networks: dokploy-network: external: true