# Watchtower - Container update notifier (schedule disabled - GitOps managed) # Auto-update schedule removed; image updates are handled via Renovate PRs. # Manual update trigger: POST http://localhost:${WATCHTOWER_PORT:-8083}/v1/update # Header: Authorization: Bearer watchtower-metrics-token # Excludes containers with label: com.centurylinklabs.watchtower.enable=false # Notifications: Ntfy push notifications # # Set WATCHTOWER_PORT env var in Portainer stack if 8080 is in use (e.g., Synology) services: watchtower: image: containrrr/watchtower:latest container_name: watchtower ports: - "${WATCHTOWER_PORT:-8083}:8080" # HTTP API for metrics (8083 to avoid conflicts) volumes: - /var/run/docker.sock:/var/run/docker.sock environment: - DOCKER_API_VERSION=1.43 - WATCHTOWER_CLEANUP=true # Schedule disabled — updates managed via Renovate PRs (GitOps). # Enable manual HTTP API updates instead. - WATCHTOWER_HTTP_API_UPDATE=true - WATCHTOWER_INCLUDE_STOPPED=false - TZ=America/Los_Angeles # HTTP API for metrics and manual update triggers - WATCHTOWER_HTTP_API_METRICS=true - WATCHTOWER_HTTP_API_TOKEN="REDACTED_HTTP_TOKEN" # ntfy push notifications via shoutrrr - WATCHTOWER_NOTIFICATIONS=shoutrrr - WATCHTOWER_NOTIFICATION_URL=ntfy://192.168.0.210:8081/homelab-alerts?scheme=http restart: unless-stopped labels: - "com.centurylinklabs.watchtower.enable=false" # Deployed to: Atlantis (EP=2), Calypso (EP=443397), Homelab VM (EP=443399) | schedule disabled | verified