
# Watchtower
Automate Docker container image updates
[](#contributors)
[](https://codecov.io/gh/nicholas-fedor/watchtower)
[](https://hub.docker.com/r/nickfedor/watchtower)
[](https://godoc.org/github.com/nicholas-fedor/watchtower)
[](https://deepwiki.com/nicholas-fedor/watchtower)
[](https://www.apache.org/licenses/LICENSE-2.0)
[](https://github.com/nicholas-fedor/watchtower/releases)
## 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:
```console
$ 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](https://github.com/onedr0p/cluster-template).
**β οΈ Note:** It is recommended to use the latest version of Docker. You can check your host's Docker version using the [CLI command](https://docs.docker.com/reference/cli/docker/version/) `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](https://watchtower.nickfedor.com/configuration/docker-connection/#docker_api_version) 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