# Watchtower **Purpose:** Automatically updates Docker container images on a schedule and sends email notifications. | Property | Value | | -------------- | ------------------------------ | | Status | Running | | Image | `nickfedor/watchtower:latest` | | Ports | None | | Restart policy | `unless-stopped` | | Schedule | Daily at 03:00 | | Compose file | [`../services/watchtower/docker-compose.yml`](../services/watchtower/docker-compose.yml) | --- ## Configuration - Checks for updated images daily at 03:00 (`0 0 3 * * *`) - Automatically pulls and restarts containers with updated images - Removes old images after updating (`WATCHTOWER_CLEANUP=true`) - Sends an email summary to `mail@jens.pub` after each run ## Environment Variables | Variable | Value | Source | | ------------------------------------------- | ---------------------- | --------- | | `WATCHTOWER_SCHEDULE` | `0 0 3 * * *` | hardcoded | | `WATCHTOWER_CLEANUP` | `true` | hardcoded | | `WATCHTOWER_NOTIFICATIONS` | `email` | hardcoded | | `WATCHTOWER_NOTIFICATION_EMAIL_FROM` | `mail@jens.pub` | hardcoded | | `WATCHTOWER_NOTIFICATION_EMAIL_TO` | `mail@jens.pub` | hardcoded | | `WATCHTOWER_NOTIFICATION_EMAIL_SERVER` | `smtp.mailbox.org` | hardcoded | | `WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PORT` | `587` | hardcoded | | `WATCHTOWER_NOTIFICATION_EMAIL_SERVER_USER` | `mail@jens.pub` | hardcoded | | `WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PASSWORD` | mailbox.org password | `.env` | ## Excluding Containers To exclude a container from being updated by Watchtower, add this label to it: ```yaml labels: - "com.centurylinklabs.watchtower.enable=false" ``` ## Volumes | Volume | Mount | | ---------------------- | ------------------------------------------- | | `/var/run/docker.sock` | `:ro` — Docker socket for container monitoring | ## Networks - `proxy` (external)