Watchtower automatically updates your Docker containers the moment a new image lands on Docker Hub — with real-time monitoring, AI-powered alerts, and full support for Docker Compose and Docker Swarm.
Trusted by teams at world-class companies
Watchtower Docker is an open-source tool that automatically monitors your running Docker containers and updates them the moment a new image is available on Docker Hub or any private registry. Developed and maintained by the containrrr organization, the official image is containrrr/watchtower.
When Docker Watchtower is running, it connects to the Docker daemon via the Docker socket, polls your configured registries at a scheduled interval, and — when a newer image digest is detected — pulls the update, gracefully stops the old container, and restarts it with the exact same configuration. That is Watchtower for Docker in a single sentence: hands-free Docker container lifecycle management.
Whether you run a single Docker Compose stack on a VPS or a full Docker Swarm cluster, Watchtower keeps every container current without manual intervention — no cron jobs, no shell scripts, no downtime procedures.
Monitors all running containers by default, or only containers you opt-in via Docker labels.
Fetches the latest image from Docker Hub or any private registry on a configurable schedule.
Replaces old containers with updated ones — volumes, env vars, networks, and ports are all preserved.
Set WATCHTOWER_CLEANUP=true to automatically remove old Docker images and free disk space.
Six powerful pillars that give your team complete observability, intelligence, and control.
Sub-second metric ingestion across all your containers, VMs, and cloud services. Zero blind spots, zero delays.
Machine learning models trained on billions of data points detect anomalies 10x faster than threshold-based alerts.
Build pixel-perfect dashboards with drag-and-drop simplicity. Share live views with any stakeholder instantly.
Route alerts to Slack, PagerDuty, email, or any webhook. Suppress noise with intelligent alert grouping and deduplication.
Aggregate, search, and analyze logs from every service in your stack. AI-powered log parsing turns noise into actionable insight at massive scale.
Define runbooks that execute automatically when incidents are detected. Resolve issues before your customers notice them.
Three simple steps to full-stack observability. No PhD required.
Run the official containrrr/watchtower Docker image with a single command. Pulled directly from Docker Hub — no configuration files needed to get started. Supports Docker Compose and Docker Swarm out of the box.
Use our Docker Compose example to add Watchtower as a service in your docker-compose.yml. Enable WATCHTOWER_CLEANUP=true to automatically remove old Docker images after each update. Works identically with Docker Swarm deployments.
Watchtower polls Docker Hub (or your private registry) on a configurable schedule, pulls the latest Docker image for each container, and performs a zero-downtime restart. Your infrastructure is always running the freshest code — no manual docker pull ever again.
Install Watchtower using Docker Run, a Docker Compose example, or deploy across a Docker Swarm cluster — all powered by the official containrrr/watchtower image on Docker Hub.
The fastest way to get started. This single command pulls the official containrrr/watchtower Docker image from Docker Hub and starts monitoring all running containers. Watchtower will poll for new images every 24 hours by default and perform a graceful restart when updates are found.
docker run -d \
--name watchtower \
--restart unless-stopped \
-v /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower
Add Watchtower as a service inside your existing docker-compose.yml. Setting WATCHTOWER_CLEANUP=true tells Watchtower to automatically remove old Docker images after each container update — keeping your host clean and freeing disk space. Adjust WATCHTOWER_POLL_INTERVAL (in seconds) to control how often Watchtower checks Docker Hub.
version: "3"
services:
watchtower:
image: containrrr/watchtower
container_name: watchtower
restart: unless-stopped
volumes:
- /var/run/docker.sock:/var/run/docker.sock
environment:
- WATCHTOWER_CLEANUP=true
- WATCHTOWER_POLL_INTERVAL=300
- WATCHTOWER_NOTIFICATIONS=slack
- WATCHTOWER_NOTIFICATION_SLACK_HOOK_URL=https://hooks.slack.com/...
Deploy Watchtower across an entire Docker Swarm cluster with one command. Running as a global service ensures every node in your Swarm automatically keeps its containers updated from Docker Hub — no per-node configuration required. Ideal for production multi-host environments.
docker service create \
--name watchtower \
--mode global \
--mount type=bind,source=/var/run/docker.sock,target=/var/run/docker.sock \
--env WATCHTOWER_CLEANUP=true \
containrrr/watchtower
Looking for a Watchtower Docker alternative or replacement? Here's how Watchtower stacks up against What's Up Docker, Portainer, and manual workflows.
| Feature |
Watchtower
Recommended
|
What's Up Docker | Portainer | Manual Updates |
|---|---|---|---|---|
| Auto-update Docker containers | ✓ Full | ◑ Notify only | ◑ Manual trigger | ✗ None |
| Docker Compose support | ✓ Native | ✓ Yes | ✓ Yes | ✗ Manual |
| Docker Swarm support | ✓ Native | ✗ Limited | ✓ Yes | ✗ None |
| Watchtower cleanup (old images) | ✓ WATCHTOWER_CLEANUP=true |
✗ No | ◑ Manual | ✗ No |
| AI Anomaly Detection | ✓ Built-in | ✗ No | ✗ No | ✗ No |
| Real-time dashboards | ✓ Advanced | ◑ Basic | ✓ Yes | ✗ No |
| Slack / PagerDuty alerts | ✓ Yes | ✓ Yes | ◑ Limited | ✗ No |
| Auto-remediation runbooks | ✓ Yes | ✗ No | ✗ No | ✗ No |
| Private registry support | ✓ Yes | ✓ Yes | ✓ Yes | ◑ Manual |
| Setup time | ✓ < 5 minutes | ◑ ~15 minutes | ◑ ~30 minutes | ✗ Ongoing |
| Free tier | ✓ Yes — forever | ✓ Open source | ◑ Community edition | ✓ Free (your time) |
What's Up Docker is a solid notification tool — but it only tells you about updates, it doesn't act on them. Watchtower is the complete Docker container lifecycle platform: auto-update, auto-cleanup, monitor, alert, and remediate — all in one. It's not a replacement for Watchtower; it is Watchtower, evolved.
Start free. Scale as you grow. Cancel anytime.
Perfect for side projects and indie hackers exploring their infrastructure.
For growing teams who demand professional-grade monitoring at scale.
Unlimited scale, SSO, SLA guarantees, and dedicated support for mission-critical infrastructure.
"Watchtower cut our mean-time-to-resolution from 47 minutes to under 4. The AI anomaly detection is genuinely magical — it flagged a memory leak 20 minutes before it would have taken down our payment service."
"We evaluated Datadog, New Relic, and Grafana Cloud. Watchtower won on every dimension — better UX, better pricing, and the auto-remediation feature alone has saved us six figures in engineering hours."
"Our SRE team went from firefighting 24/7 to proactively managing infrastructure. Watchtower doesn't just monitor — it thinks. The ROI in the first 30 days was undeniable."
"The setup took literally 4 minutes. By minute 6 we had dashboards auto-populated, alerts configured, and our first anomaly detected. I've never seen onboarding this polished."
"Switched from Datadog and cut our observability bill by 60%. We get more features, faster insights, and a support team that actually responds. Watchtower is in a different league."
"The executive dashboards are a game-changer. I can now show our board real-time infrastructure health in a format they actually understand. Watchtower bridges the technical/business divide beautifully."
Complete documentation for every Watchtower Docker use case — from first install to advanced multi-host deployments.
Step-by-step install guide for Docker Run, Docker Compose, and Swarm. All platforms covered.
Every WATCHTOWER_* variable documented with defaults, examples, and production configs.
Fix unauthorized errors, connection issues, containers not updating, and keeps-restarting bugs.
Compare Watchtower vs Diun, What's Up Docker, Ouroboros, and Portainer side by side.
Auto-update n8n, Ollama, Vaultwarden, Plex, Jellyfin and more on your homelab.
21 in-depth articles covering every Watchtower Docker topic — platform guides, configuration, advanced usage.
Watchtower Docker is an open-source container automation tool that monitors running Docker containers and automatically updates them when newer images are available on Docker Hub or a private registry. It is developed by the containrrr organization and distributed as containrrr/watchtower on Docker Hub. Watchtower connects to the Docker daemon, polls container registries on a schedule, pulls updated images, and gracefully restarts containers — preserving all volumes, environment variables, and network settings.
Watchtower for Docker is a container lifecycle manager that automates Docker image updates. When a new image tag or digest is detected, Watchtower: (1) pulls the updated Docker image from Docker Hub or your registry; (2) stops the running container gracefully; (3) starts a new container using the updated image with the same runtime parameters; and (4) optionally removes the old image (WATCHTOWER_CLEANUP=true). It can send notifications via Slack, email, or webhooks and can be scoped to specific containers using Docker labels.
Watchtower updates Docker containers in four automatic steps: it polls your container registry for a newer image digest; pulls the new Docker image when detected; gracefully stops the existing container with a configurable stop timeout; then starts a replacement container using the updated image while preserving all original parameters — volumes, env vars, ports, networks, labels, and restart policy. The process typically completes in seconds with no manual commands required.
In Docker Compose, Watchtower is added as an additional service inside your docker-compose.yml. It runs alongside your application containers, mounts the Docker socket, and automatically updates every other service in the Compose stack. You configure it with environment variables such as WATCHTOWER_CLEANUP=true, WATCHTOWER_POLL_INTERVAL, and WATCHTOWER_NOTIFICATIONS. This is the most common production deployment pattern for Watchtower Docker Compose setups.
The purpose of Watchtower Docker is to eliminate the manual work of keeping Docker containers up to date. Without Watchtower, keeping containers current requires logging into each host, running docker pull, stopping the old container, and restarting with the new image — repeated for every container, every time. Watchtower fully automates this cycle, ensuring every Docker container always runs the latest image version with zero human intervention. It is especially valuable in homelab setups, self-hosted application stacks, and small-to-medium production environments.
Most teams are fully operational in under 5 minutes. Our one-command agent installer auto-discovers your services and pre-configures dashboards and alerts. No YAML editing, no complex configuration required.
Absolutely. Watchtower has native Kubernetes support with automatic pod, node, namespace, and cluster-level monitoring. We also support Helm chart deployment, RBAC, and multi-cluster federation.
We support AWS, Google Cloud, Azure, DigitalOcean, Linode, Hetzner, and any bare-metal or hybrid environment. Our 450+ integrations cover virtually every modern infrastructure tool.
All data is encrypted in transit (TLS 1.3) and at rest (AES-256). We are SOC 2 Type II certified, GDPR compliant, and offer private cloud / on-premises deployment for Enterprise customers.
Yes. We have a dedicated migration tool that imports your existing dashboards, alert rules, and monitor configurations from Datadog, New Relic, Grafana, and Prometheus. Most migrations complete in under an hour.
Enterprise customers can deploy Watchtower fully on-premises or in their own VPC. Our team provides white-glove setup and ongoing support to ensure your deployment is production-ready from day one.
containrrr/watchtower is the official Watchtower Docker image hosted on Docker Hub. It is maintained by the containrrr organization and is the standard way to install Watchtower on any Docker host. You can pull it with docker pull containrrr/watchtower or reference it directly in your Docker Compose file.
Set the environment variable WATCHTOWER_CLEANUP=true in your Docker Compose file. When Watchtower updates a container, it will automatically remove the old Docker image from the host after the new one is running — preventing disk space from filling up over time. This is one of the most popular configuration options for production Docker Compose deployments.
Yes. Watchtower runs natively on Docker Swarm. Deploy it as a global service so it runs on every Swarm node and keeps all containers up to date cluster-wide. Mount the Docker socket via bind mount and set WATCHTOWER_CLEANUP=true to keep your Swarm nodes clean automatically.
Watchtower goes far beyond What's Up Docker. While What's Up Docker is a Watchtower alternative focused purely on sending notifications about available image updates, Watchtower actually performs the updates — pulling the new Docker image from Docker Hub, stopping the old container, and restarting with the updated image. Watchtower is the more complete Docker container management solution for teams who want automation, not just alerts.
Mount your Docker config file (~/.docker/config.json) into the Watchtower container and it will automatically use your registry credentials. This works for AWS ECR, Google Container Registry, GitHub Container Registry, and any private Docker registry. No extra configuration needed — Watchtower reads the standard Docker authentication file.
The fastest way to install Watchtower Docker is a single docker run command: docker run -d --name watchtower --restart unless-stopped -v /var/run/docker.sock:/var/run/docker.sock -e WATCHTOWER_CLEANUP=true containrrr/watchtower. This pulls the official containrrr/watchtower image and starts monitoring all running containers immediately. For Docker Compose, add Watchtower as a service in your docker-compose.yml. Watchtower works identically on Linux, macOS Docker Desktop, Windows Docker Desktop, Synology, Unraid, Proxmox, Raspberry Pi, and TrueNAS SCALE.
Using Watchtower Docker is three steps: (1) Run Watchtower alongside your existing containers, mounting the Docker socket; (2) Configure your update schedule via WATCHTOWER_POLL_INTERVAL (seconds) or WATCHTOWER_SCHEDULE (6-field cron); (3) Optionally set WATCHTOWER_CLEANUP=true and a notification URL. Watchtower runs silently in the background from that point — every container on the host is checked and updated automatically. Check docker logs watchtower to see what it's doing.
Watchtower Docker is actively maintained as of 2026. The containrrr/watchtower project on GitHub continues to receive releases — the latest stable version is v1.7.x. While the release cadence is slower than some projects, the codebase is stable, production-tested, and widely used with 100M+ Docker Hub pulls. The nickfedor/watchtower community fork (by Nicholas Fedor) provides more frequent releases with additional features for users who want cutting-edge functionality. Watchtower is not abandoned or end-of-life.
Watchtower Docker is widely used in production environments, but with a few considerations: (1) It requires the Docker socket mount, which is equivalent to root access on the host — use a socket proxy for hardened environments; (2) Auto-updates can introduce breaking changes from upstream images — use label-based opt-in (WATCHTOWER_LABEL_ENABLE=true) for critical services; (3) For databases (PostgreSQL, MySQL), always exclude them from auto-updates. For homelab, self-hosted apps, and non-critical production services, Watchtower with WATCHTOWER_CLEANUP=true and daily scheduling is the recommended approach.
Join 12,000+ engineering teams who chose Watchtower. Start monitoring in 5 minutes, free forever.
14-day Pro trial · No credit card required · Cancel anytime