watchtower

command module
v1.13.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 22, 2025 License: Apache-2.0 Imports: 2 Imported by: 0

Image README ΒΆ

Image

Watchtower

Automate Docker container image updates

CircleCI codecov GoDoc Go Report Card latest version Apache-2.0 License Codacy Badge All Contributors Pulls from DockerHub

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

πŸ’»
Austin
Austin

πŸ“–
David Gardner
David Gardner

πŸ‘€ πŸ“–
Image
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

πŸ’»
Tamal Das
Tamal Das

πŸ“–
guangwu
guangwu

πŸ“–
Florian HΓΌbner
Florian HΓΌbner

πŸ“– πŸ’»
Image
Andrii Bratanin

πŸ“–
Ross Cadogan
Ross Cadogan

πŸ’»
stffabi
stffabi

πŸ’»
yubiuser
yubiuser

πŸ’»
RoboMagus
RoboMagus

πŸš‡
AzariasB
AzariasB

πŸ“–
ApprenticeofEnder
ApprenticeofEnder

πŸ’»

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

Image Documentation ΒΆ

The Go Gopher

There is no documentation for this package.

Image Directories ΒΆ

Path Synopsis
Package cmd contains the command-line interface (CLI) definitions and execution logic for Watchtower.
Package cmd contains the command-line interface (CLI) definitions and execution logic for Watchtower.
examples
lifecycle-hooks/synology-stop command
Package synology-stop is a Watchtower "stop" lifecycle hook that performs graceful Docker container shutdown on Synology DSM using the official Web API.
Package synology-stop is a Watchtower "stop" lifecycle hook that performs graceful Docker container shutdown on Synology DSM using the official Web API.
internal
actions
Package actions provides core logic for Watchtower’s container update operations.
Package actions provides core logic for Watchtower’s container update operations.
actions/mocks
Package mocks provides mock implementations for testing Watchtower components.
Package mocks provides mock implementations for testing Watchtower components.
api
Package api provides application-specific HTTP API orchestration for Watchtower, coordinating the setup and management of API endpoints with business logic integration.
Package api provides application-specific HTTP API orchestration for Watchtower, coordinating the setup and management of API endpoints with business logic integration.
config
Package config provides configuration structures for Watchtower's core operations.
Package config provides configuration structures for Watchtower's core operations.
flags
Package flags manages command-line flags and environment variables for Watchtower configuration.
Package flags manages command-line flags and environment variables for Watchtower configuration.
logging
Package logging provides functions for logging startup information and configuring startup logging in Watchtower.
Package logging provides functions for logging startup information and configuring startup logging in Watchtower.
scheduling
Package scheduling provides functionality for scheduling and executing container updates in Watchtower.
Package scheduling provides functionality for scheduling and executing container updates in Watchtower.
util
Package util provides utility functions for Watchtower operations.
Package util provides utility functions for Watchtower operations.
pkg
api
Package api provides an HTTP server for Watchtower’s API endpoints.
Package api provides an HTTP server for Watchtower’s API endpoints.
api/update
Package update provides an HTTP API handler for triggering Watchtower container updates.
Package update provides an HTTP API handler for triggering Watchtower container updates.
compose
Package compose provides functionality for handling Docker Compose-specific logic, including parsing depends_on labels and extracting service names for dependency management.
Package compose provides functionality for handling Docker Compose-specific logic, including parsing depends_on labels and extracting service names for dependency management.
container
Package container provides functionality for managing Docker containers within Watchtower.
Package container provides functionality for managing Docker containers within Watchtower.
filters
Package filters provides filtering logic for Watchtower containers.
Package filters provides filtering logic for Watchtower containers.
lifecycle
Package lifecycle manages execution of lifecycle hooks for Watchtower containers.
Package lifecycle manages execution of lifecycle hooks for Watchtower containers.
metrics
Package metrics provides tracking and exposure of Watchtower scan metrics.
Package metrics provides tracking and exposure of Watchtower scan metrics.
notifications
Package notifications provides notification templates and utilities for Watchtower container updates.
Package notifications provides notification templates and utilities for Watchtower container updates.
notifications/preview
Package preview provides the core functionality for rendering notification template previews in Watchtower.
Package preview provides the core functionality for rendering notification template previews in Watchtower.
notifications/preview/data
Package data provides utilities for generating simulated data used in the Watchtower template preview tool.
Package data provides utilities for generating simulated data used in the Watchtower template preview tool.
notifications/templates
Package templates provides utility functions for use in Watchtower notification templates.
Package templates provides utility functions for use in Watchtower notification templates.
registry
Package registry provides functionality for interacting with container registries in Watchtower.
Package registry provides functionality for interacting with container registries in Watchtower.
registry/auth
Package auth provides functionality for authenticating with container registries.
Package auth provides functionality for authenticating with container registries.
registry/digest
Package digest provides functionality for retrieving and comparing Docker image digests in Watchtower.
Package digest provides functionality for retrieving and comparing Docker image digests in Watchtower.
registry/manifest
Package manifest provides functionality for constructing URLs to access container image manifests in Watchtower.
Package manifest provides functionality for constructing URLs to access container image manifests in Watchtower.
session
Package session manages container states and reporting during a Watchtower update session.
Package session manages container states and reporting during a Watchtower update session.
sorter
Package sorter provides sorting functionality for Watchtower containers.
Package sorter provides sorting functionality for Watchtower containers.
sorter/mocks
Package mocks provides mock implementations for container interfaces used in testing.
Package mocks provides mock implementations for container interfaces used in testing.
types
Package types provides core types for Watchtower operations.
Package types provides core types for Watchtower operations.
tools
tplprev command

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL