31 lines
1.2 KiB
YAML
31 lines
1.2 KiB
YAML
# Watchtower - Auto-update all containers
|
|
# Schedule: Daily at 4:00 AM
|
|
# HTTP API: POST to http://localhost:${WATCHTOWER_PORT:-8080}/v1/update
|
|
# 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:
|
|
- WATCHTOWER_CLEANUP=true
|
|
- WATCHTOWER_SCHEDULE=0 0 4 * * *
|
|
- WATCHTOWER_INCLUDE_STOPPED=false
|
|
- TZ=America/Los_Angeles
|
|
# HTTP API for metrics only (not updates to allow scheduled runs)
|
|
- 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"
|