Why Use Watchtower on Unraid?
Unraid is one of the most popular homelab NAS and server operating systems, with a huge community of self-hosters running dozens of Docker containers — Plex, Jellyfin, Home Assistant, Vaultwarden, Nextcloud, game servers, and more. Without automation, updating all these containers requires navigating to each one in the Unraid Docker UI and clicking "Update" individually.
Watchtower Docker Unraid automates this entirely. Install Watchtower once, configure your schedule, and every container on your Unraid server stays current automatically — security patches, new features, and bug fixes all arrive without manual intervention.
Method 1: Install via Community Applications (Easiest)
The Community Applications (CA) plugin is the standard way to install Docker containers on Unraid:
- In Unraid WebUI, navigate to the Apps tab (Community Applications must be installed)
- Search for "Watchtower" in the search bar
- Find the containrrr/watchtower template (published by linuxserver or community)
- Click Install
- On the configuration screen, set:
# Key settings in the CA template:
Container Name: watchtower
Repository: containrrr/watchtower
Network Type: bridge (or host)
# Volume Mappings:
Container Path: /var/run/docker.sock
Host Path: /var/run/docker.sock
Access Mode: Read/Write
# Environment Variables (add these):
WATCHTOWER_CLEANUP=true
WATCHTOWER_SCHEDULE=0 0 4 * * *
WATCHTOWER_NOTIFICATIONS=slack # Optional
WATCHTOWER_NOTIFICATION_SLACK_HOOK_URL= # Optional
- Click Apply to deploy Watchtower
Method 2: Manual Installation via Docker Tab
If you prefer not to use Community Applications:
- Go to Docker tab in Unraid WebUI
- Click Add Container
- Fill in the fields:
Name: watchtower
Repository: containrrr/watchtower
Icon URL: https://containrrr.dev/watchtower-icon.png
# Extra Parameters field:
--restart=unless-stopped
# Add Volume mapping:
Container Path: /var/run/docker.sock
Host Path: /var/run/docker.sock
# Add Environment Variables:
WATCHTOWER_CLEANUP = true
WATCHTOWER_SCHEDULE = 0 0 4 * * *
WATCHTOWER_POLL_INTERVAL = 86400
- Click Apply
Method 3: SSH / Terminal
Unraid supports SSH and has a built-in terminal. Install via command line:
# SSH into Unraid
ssh root@192.168.1.x
# Install Watchtower
docker run -d \
--name watchtower \
--restart unless-stopped \
-v /var/run/docker.sock:/var/run/docker.sock \
-e WATCHTOWER_CLEANUP=true \
-e WATCHTOWER_SCHEDULE="0 0 4 * * *" \
containrrr/watchtower
# Verify it's running
docker ps | grep watchtower
docker logs watchtower
Recommended Unraid Configuration
# Full recommended Watchtower config for Unraid homelab:
docker run -d \
--name watchtower \
--restart unless-stopped \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /etc/localtime:/etc/localtime:ro \
-e WATCHTOWER_CLEANUP=true \
-e WATCHTOWER_SCHEDULE="0 0 3 * * *" \
-e WATCHTOWER_ROLLING_RESTART=true \
-e WATCHTOWER_NOTIFICATION_URL="telegram://BOT_TOKEN@telegram?channels=CHAT_ID" \
containrrr/watchtower
Unraid-Specific Considerations
Unraid vs Watchtower: Who Updates Docker?
Unraid has its own built-in Docker update notification (the "Update Ready" badge in the Docker tab). Watchtower automates the actual update. You can use both, but be aware:
- Unraid's update check is a notification-only system — it doesn't auto-apply updates
- Watchtower handles the actual pull + restart automatically
- If both are active, Unraid may show "Update Ready" badges even after Watchtower already updated the containers — this is cosmetic and resolves on next Unraid check
Protecting Containers You Don't Want Auto-Updated
In Unraid, add the disable label via Extra Parameters in the container template:
# In the "Extra Parameters" field of an Unraid container template:
--label=com.centurylinklabs.watchtower.enable=false
# Or add in the Label section of the container configuration
Watching Logs in Unraid
# Via Unraid Docker tab:
# Click the Watchtower container → click the Logs icon
# Via SSH/terminal:
docker logs watchtower --follow
# Last 50 lines:
docker logs watchtower --tail 50
Containers to Exclude on Unraid
These containers are common on Unraid and should generally be excluded from auto-updates:
| Container | Recommendation | Reason |
|---|---|---|
| MariaDB / MySQL | ✗ Exclude | Major version upgrades break data compatibility |
| PostgreSQL | ✗ Exclude | Same — manual migration required |
| Nextcloud | ✗ Exclude | Major versions need manual upgrade wizard |
| Plex | ✓ Include | Safe to auto-update, metadata library is unaffected |
| Jellyfin | ✓ Include | Safe to auto-update |
| Home Assistant | ⚠ Caution | Test on minor versions; major versions may break integrations |
| Vaultwarden | ✓ Include | Security-critical — always keep updated |
| Portainer | ⚠ Caution | Let Portainer manage its own updates for stability |
Frequently Asked Questions
The easiest way is via Community Applications (CA): open the Apps tab, search "Watchtower", and install the containrrr/watchtower template. The template auto-fills most settings. You'll need to manually add environment variables like WATCHTOWER_CLEANUP=true and WATCHTOWER_SCHEDULE in the template configuration.
Yes — Watchtower monitors all running Docker containers regardless of how they were installed. To protect specific containers (databases, Nextcloud), add --label=com.centurylinklabs.watchtower.enable=false in the container's Extra Parameters field in the Unraid Docker template.
They serve different needs. Unraid's built-in Docker check shows update notifications but requires manual clicks to apply. Watchtower fully automates the process on a schedule. For a hands-off homelab, use Watchtower. For more control over individual container updates, use Unraid's native check and apply selectively.