Automate Docker container image updates http://watchtower.nickfedor.com/
  • Go 99.2%
  • Shell 0.6%
  • Makefile 0.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
renovate[bot] fea9dc8356
chore(deps): update module github.com/docker/cli to v29.7.1+incompatible (#2076)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-31 18:30:41 +00:00
.circleci chore(deps): update cimg/go docker tag to v1.26.5 (#1910) 2026-07-08 16:04:03 +00:00
.devcontainer chore(deps): update golang:1.26.4-alpine3.22 docker digest to 727cfc3 (#1723) 2026-06-03 06:09:08 +00:00
.github chore(deps): update nicholas-fedor/go-proxy-pull-action action to v1.1.35 (#2071) 2026-07-30 19:46:09 +00:00
build refactor: expand and reorganize http-api and metrics, improve logging, and restructure documentation (#1939) 2026-07-14 07:36:11 -07:00
cmd fix(notify-upgrade): address command execution bugs and update migration docs (#2054) 2026-07-27 21:45:31 -07:00
docs feat(api): emit SSE events for the HTTP API check endpoint (#2066) 2026-07-29 12:25:00 -07:00
examples refactor: expand and reorganize http-api and metrics, improve logging, and restructure documentation (#1939) 2026-07-14 07:36:11 -07:00
internal feat(api): emit SSE events for the HTTP API check endpoint (#2066) 2026-07-29 12:25:00 -07:00
pkg fix(notifications): mark slice flags as changed after docker secret expansion (#2060) 2026-07-28 13:28:01 -07:00
scripts docs: overhaul documentation website (#574) 2025-08-21 15:51:24 -07:00
test fix: resolve TLS connection issues (#1044) 2025-12-08 16:25:10 -07:00
tools/tplprev fix: correct self-update, container management, and dependency issues (#1199) 2026-01-14 23:21:55 -07:00
.all-contributorsrc add Greite as a contributor for code, test, and doc (#1800) 2026-06-13 16:07:16 -07:00
.codacy.yml feat(container): enhance network preservation and lifecycle management 2025-03-24 18:06:32 -07:00
.editorconfig ci: modernize GoReleaser config and GitHub Actions workflows (#1607) 2026-05-09 17:31:59 -07:00
.gitattributes chore(git): add .gitattributes file (#342) 2025-06-20 05:23:27 -07:00
.gitignore fix: resolve self-update container cleanup issues (#1159) 2025-12-31 08:58:10 -07:00
CHANGELOG.md docs(changelog): update changelog (#2074) 2026-07-30 22:53:48 -07:00
cliff.toml ci: modernize GoReleaser config and GitHub Actions workflows (#1607) 2026-05-09 17:31:59 -07:00
code_of_conduct.md Update references from containrrr to nicholas-fedor 2025-02-11 07:23:43 -07:00
codecov.yaml feat(container): enhance network preservation and lifecycle management 2025-03-24 18:06:32 -07:00
CONTRIBUTING.md fix: correct self-update, container management, and dependency issues (#1199) 2026-01-14 23:21:55 -07:00
go.mod chore(deps): update module github.com/docker/cli to v29.7.1+incompatible (#2076) 2026-07-31 18:30:41 +00:00
go.sum chore(deps): update module github.com/docker/cli to v29.7.1+incompatible (#2076) 2026-07-31 18:30:41 +00:00
gopher-watchtower.png add logo to repo 2020-05-01 13:13:14 +02:00
LICENSE.md Fix indentation 2025-02-13 12:44:15 -07:00
logo.png Add files via upload 2020-06-22 19:41:09 +02:00
main.go refactor: expand and reorganize http-api and metrics, improve logging, and restructure documentation (#1939) 2026-07-14 07:36:11 -07:00
Makefile fix: correct self-update, container management, and dependency issues (#1199) 2026-01-14 23:21:55 -07:00
README.md docs(readme): update badges (#2037) 2026-07-26 12:14:19 -07:00
SECURITY.md Fix bare URL 2025-02-11 07:22:15 -07:00
watchtower-sq180.png Add watchtower-sq180.png 2025-02-26 13:19:16 -07:00

Watchtower

Automate Docker container image updates

All Contributors CircleCI codecov Codacy Badge Pulls from DockerHub GoDoc Ask DeepWiki Apache-2.0 License latest version

Quick Start

With watchtower you can update the running version of your containerized app simply by pushing a new image to the Docker Hub or your own image registry.

Watchtower will pull down your new image, gracefully shut down your existing container and restart it with the same options that were used when it was deployed initially. Run the watchtower container with the following command:

$ docker run --detach \
    --name watchtower \
    --volume /var/run/docker.sock:/var/run/docker.sock \
    nickfedor/watchtower

Watchtower is intended to be used in homelabs, media centers, local dev environments, and similar. We do not recommend using Watchtower in a commercial or production environment. If that is you, you should be looking into using Kubernetes enabled with CI/CD, such as onedr0p's Talos Linux with FluxCD setup here.

⚠️ Note: It is recommended to use the latest version of Docker. You can check your host's Docker version using the CLI command docker version. This version of Watchtower has been tested to support v1.43 and higher; however, don't be surprised if you experience unexpected behavior when attempting to use newer features on older versions of Docker. This version autonegotiates the API version by default. If the DOCKER_API_VERSION variable is explicitly set, Watchtower validates the version and falls back to autonegotiation on failure.

Supported Architectures

Watchtower supports the following architectures for its Docker images:

  • amd64
  • i386
  • armhf
  • arm64v8
  • riscv64

Documentation

The full documentation is available at https://watchtower.nickfedor.com/.

Star History

Star History Chart

Contributors

Thanks goes to these wonderful people (emoji key):

Nicholas Fedor
Nicholas Fedor

💻 📖 🚧 👀
Dirk Kok
Dirk Kok

💻
nils måsén
nils måsén

💻 📖 🚧 👀
Simon Aronsson
Simon Aronsson

💻 📖 🚧 👀
James
James

⚠️ 🤔
Florian
Florian

👀 📖
Brian DeHamer
Brian DeHamer

💻 🚧
Ross Cadogan
Ross Cadogan

💻
stffabi
stffabi

💻 🚧
Austin
Austin

📖
David Gardner
David Gardner

👀 📖
Tanguy ⧓ Herrmann
Tanguy ⧓ Herrmann

💻
Rodrigo Damazio Bovendorp
Rodrigo Damazio Bovendorp

💻 📖
Ryan Kuba
Ryan Kuba

🚇
cnrmck
cnrmck

📖
Harry Walter
Harry Walter

💻
Robotex
Robotex

📖
Gerald Pape
Gerald Pape

📖
fomk
fomk

💻
Sven Gottwald
Sven Gottwald

🚇
techknowlogick
techknowlogick

💻
waja
waja

📖
Scott Albertson
Scott Albertson

📖
Jason Huddleston
Jason Huddleston

📖
Napster
Napster

💻
Maxim
Maxim

💻 📖
Max Schmitt
Max Schmitt

📖
cron410
cron410

📖
Paulo Henrique
Paulo Henrique

📖
Kaleb Elwert
Kaleb Elwert

📖
Bill Butler
Bill Butler

📖
Mario Tacke
Mario Tacke

💻
Mark Woodbridge
Mark Woodbridge

💻
Ansem93
Ansem93

📖
Luka Peschke
Luka Peschke

💻 📖
Zois Pagoulatos
Zois Pagoulatos

💻 👀 🚧
Alexandre Menif
Alexandre Menif

💻
Andrey
Andrey

📖
Armando Lüscher
Armando Lüscher

📖
Ryan Budke
Ryan Budke

📖
Kaloyan Raev
Kaloyan Raev

💻 ⚠️
sixth
sixth

📖
Gina Häußge
Gina Häußge

💻
Max H.
Max H.

💻
Jungkook Park
Jungkook Park

📖
Jan Kristof Nidzwetzki
Jan Kristof Nidzwetzki

📖
lukas
lukas

💻
Ameya Shenoy
Ameya Shenoy

💻
Raymon de Looff
Raymon de Looff

💻
John Clayton
John Clayton

💻
Germs2004
Germs2004

📖
Lukas Willburger
Lukas Willburger

💻
Oliver Cervera
Oliver Cervera

📖
Victor Moura
Victor Moura

⚠️ 💻 📖
Maximilian Brandau
Maximilian Brandau

💻 ⚠️
Andrew
Andrew

📖
sixcorners
sixcorners

📖
Arne Jørgensen
Arne Jørgensen

⚠️ 👀
PatSki123
PatSki123

📖
Valentine Zavadsky
Valentine Zavadsky

💻 📖 ⚠️
Alexander Voronin
Alexander Voronin

💻 🐛
Oliver Mueller
Oliver Mueller

📖
Sebastiaan Tammer
Sebastiaan Tammer

💻
miosame
miosame

📖
Andrew Metzger
Andrew Metzger

🐛 💡
Pierre Grimaud
Pierre Grimaud

📖
Matt Doran
Matt Doran

📖
MihailITPlace
MihailITPlace

💻
bugficks
bugficks

💻 📖
Michael
Michael

💻
D. Domig
D. Domig

📖
Ben Osheroff
Ben Osheroff

💻
David H.
David H.

💻
Chander Ganesan
Chander Ganesan

📖
yrien30
yrien30

💻
ksurl
ksurl

📖 💻 🚇
rg9400
rg9400

💻
Turtle Kalus
Turtle Kalus

💻
Srihari Thalla
Srihari Thalla

📖
Thomas Gaudin
Thomas Gaudin

📖
hydrargyrum
hydrargyrum

📖
Reinout van Rees
Reinout van Rees

📖
DasSkelett
DasSkelett

💻
zenjabba
zenjabba

📖
Dan Quan
Dan Quan

📖
modem7
modem7

📖
Igor Zibarev
Igor Zibarev

💻
Patrice
Patrice

💻
James White
James White

📖
EDIflyer
EDIflyer

📖
Jauder Ho
Jauder Ho

💻
Andrii Bratanin
Andrii Bratanin

📖
Tamal Das
Tamal Das

📖
guangwu
guangwu

📖
Florian Hübner
Florian Hübner

📖 💻
yubiuser
yubiuser

💻
RoboMagus
RoboMagus

🚇
AzariasB
AzariasB

📖
ApprenticeofEnder
ApprenticeofEnder

💻
skylenet
skylenet

💻
Varun Chawla
Varun Chawla

💻
LJspice
LJspice

💻
Barnabas Busa
Barnabas Busa

💻 📖
Matthias Thubauville
Matthias Thubauville

📖
Gauthier Painteaux
Gauthier Painteaux

💻 ⚠️ 📖

This project follows the all-contributors specification. Contributions of any kind welcome!