Watchtower (maintained fork): automatic container image updates
Watchtower watches your running containers, pulls newer versions of their images and restarts them with the same settings. This fork continues the project after the original containrrr repository was archived.
Drafted with AI from official documentation. Scripts were run in a test environment and repository links verified. Awaiting a human check. Did it work for you? Last edited Outdated?
nicholas-fedor/watchtower
- Stars
- 4.6k
- Forks
- 82
- Language
- Go
- Licence
- Apache-2.0
- Last push
- 15 Oct 2026
On GitHub: Automate Docker container image updates
Open on GitHubWatchtower is a small Go program that runs as a container itself, checks the registry for new versions of the images your other containers use, and when it finds one, pulls it, stops the old container and starts a new one with the same options. The original project, containrrr/watchtower, was archived in late 2025; nicholas-fedor/watchtower is the actively maintained fork with about 4.6k stars, regular releases and the same Apache 2.0 licence.
What it does
On a schedule (by default once a day) Watchtower compares the digest of each running container’s image with the registry. If they differ, it recreates the container with the new image, keeping volumes, ports, environment variables and networks. It can send notifications through email, Slack, Discord, Gotify and others via the Shoutrrr library, and can be limited to containers with a specific label so that only the services you choose are updated automatically.
When to use it
- Home servers and small self-hosted setups where you want security updates without logging in every week.
- Containers whose images use a stable tag that moves with minor releases, such as
nginx:1.27or an application’slatestyou trust. - Not for databases or anything where an unattended version jump could break data: pin those and update them deliberately. Watchtower can also only check, not update, with
--monitor-only.
How to install or try it
docker run --detach \
--name watchtower \
--volume /var/run/docker.sock:/var/run/docker.sock \
nickfedor/watchtower
The Docker socket mount lets Watchtower see and recreate containers, which means it has root-level access to the host. Careful: a container that Watchtower recreates loses anything stored in its writable layer, so make sure your services keep data in volumes before enabling it. Add --label-enable to the command and com.centurylinklabs.watchtower.enable=true as a label on each container you want updated to opt in service by service.
Credit
Watchtower was created by CenturyLink Labs, maintained for years by the containrrr team, and is now carried on by Nicholas Fedor and contributors at github.com/nicholas-fedor/watchtower. Documentation: watchtower.nickfedor.com.
Did this work for you?
No votes yet. Be the first.
If it did not work, the report form below tells the editors what went wrong.
See also
- 0055 Docker basics: images, containers and the commands you need An image is a read-only package of an app and its dependencies, and a container is a running instance of it. Learn… Beginner · Explains an idea · Linux, macOS, Windows Article Docker basics 15 Oct 2026
- 0056 Docker Compose: run a small web app with a database Docker Compose describes several containers, their ports, volumes and environment in one compose.yaml file, then starts them all with docker compose up. Intermediate · Step by step · Linux, macOS, Windows Article Docker basics · Docker Compose 15 Oct 2026
- 0250 Containerize a Node.js app and run it with PostgreSQL using Docker Compose Package a small Node.js web app in a multi-stage Docker image, then run it next to PostgreSQL with Docker Compose, named volumes,… Intermediate · Guided project · Linux, macOS, Windows Article Docker basics · Docker Compose · PostgreSQL 15 Oct 2026
- 0268 What is a container? A container is a lightweight box that packs a program with everything it needs so it runs the same on any computer. Beginner · Explains an idea · Any system Article Docker basics 15 Oct 2026
- 0327 Docker images, containers and volumes explained An image is a read-only template, a container is a running copy of it with a thin writable layer, and a volume… Beginner · Explains an idea · Linux, macOS, Windows Article Docker basics 15 Oct 2026
- 0328 Install Docker Engine on Ubuntu and Debian Set up Docker's official apt repository, install Docker Engine with the Compose and Buildx plugins, run hello-world and let your user run… Beginner · Step by step · Linux Article Docker basics · Packages & updates 15 Oct 2026
History
Every saved edit is kept. The plot on the sleeve draws one line per edit. Open any edit to see exactly what changed.
- Dominik +2,210 chars