Watchtower Docker Portainer Overview
Watchtower docker portainer is one of the most popular combinations in homelab and self-hosted environments. Portainer is a web-based Docker management interface; Watchtower is the automation engine that keeps containers current. They serve different, complementary roles:
- Portainer: Deploy, manage, view logs, and control containers via a GUI
- Watchtower: Automatically update container images in the background
Neither replaces the other. Many teams deploy Watchtower as a stack inside Portainer, then use Portainer's log viewer to monitor Watchtower's update activity.
Deploy Watchtower via Portainer Stacks
The cleanest way to manage docker watchtower portainer is through Portainer's Stacks feature (equivalent to Docker Compose):
- Log into Portainer at
http://your-host:9000 - Navigate to Stacks → Add Stack
- Give the stack a name:
watchtower - In the Web Editor, paste the following compose content:
version: "3.8"
services:
watchtower:
image: containrrr/watchtower
container_name: watchtower
restart: unless-stopped
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /etc/localtime:/etc/localtime:ro
environment:
- WATCHTOWER_CLEANUP=true
- WATCHTOWER_POLL_INTERVAL=21600
- WATCHTOWER_NOTIFICATIONS=slack
- WATCHTOWER_NOTIFICATION_SLACK_HOOK_URL=https://hooks.slack.com/services/...
- Click Deploy the Stack
Watchtower is now running and will auto-update all containers managed by Portainer and any other Docker containers on the host.
Configure Watchtower Environment Variables via Portainer
Portainer's stack editor supports environment variables in two ways:
Option A — Inline in the Compose YAML: Add environment keys directly (shown above).
Option B — Portainer ENV file: Create environment variables in the "Environment variables" tab below the editor. This is more secure for sensitive values like Slack webhook URLs.
# In the Portainer env tab, add:
WATCHTOWER_CLEANUP=true
WATCHTOWER_POLL_INTERVAL=21600
WATCHTOWER_NOTIFICATION_SLACK_HOOK_URL=https://hooks.slack.com/services/...
Monitoring Watchtower in Portainer
To view watchtower docker logs through the Portainer web interface:
- Go to Containers in Portainer
- Find the watchtower container
- Click the container name, then click Logs
- Enable Auto-refresh logs to watch updates in real time
You'll see log entries like:
time="2026-05-26" level=info msg="Checking all containers"
time="2026-05-26" level=info msg="Found new portainer/portainer-ce:latest image"
time="2026-05-26" level=info msg="Stopping /portainer"
time="2026-05-26" level=info msg="Creating /portainer"
com.centurylinklabs.watchtower.enable=false as a label to your Portainer container, or use Portainer's built-in update mechanism instead.Watchtower Docker Web Interface via Portainer
While Watchtower itself has no built-in docker watchtower ui or watchtower docker web interface, Portainer fills this gap completely. Through Portainer you can:
- View all container statuses and update logs
- Manually trigger a Watchtower run via the exec console
- Update Watchtower's environment variables by editing the Stack
- See which image versions each container is running
Excluding Portainer from Watchtower Updates
To prevent Watchtower from auto-updating Portainer (recommended for stability), add a label to your Portainer deployment:
services:
portainer:
image: portainer/portainer-ce:latest
container_name: portainer
restart: unless-stopped
ports:
- "9000:9000"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- portainer_data:/data
labels:
- "com.centurylinklabs.watchtower.enable=false" # Don't auto-update portainer
Frequently Asked Questions
Both. They serve different purposes. Portainer is a Docker management GUI for deploying, monitoring, and controlling containers. Watchtower is an automation tool for keeping container images updated. Use Portainer to manage and observe your Docker environment, and Watchtower to handle automatic image updates in the background.
No. Watchtower is a headless background service with no built-in web UI. Monitoring is done through Docker logs. For a GUI, use Portainer (container management) or What's Up Docker (image update notifications with a web UI). Watchtower's Watchtower platform (this site) provides a premium monitoring dashboard above and beyond what the open-source tool offers.
Yes. Watchtower monitors all running containers at the Docker daemon level, regardless of which tool deployed them. Containers deployed by Portainer, docker run, docker compose, or any other method are all visible to and updatable by Watchtower.