infra/apprise.compose.yml

44 lines
1.8 KiB
YAML

# 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