Files
homelab/docs/watchtower.md
2026-04-03 10:44:26 +02:00

55 lines
2.2 KiB
Markdown

# 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)