# containrrr/watchtower

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/containrrr-watchtower).**

24,512 stars · 1,132 forks · Go · apache-2.0 · archived

## Links

- GitHub: https://github.com/containrrr/watchtower
- Homepage: https://containrrr.dev/watchtower/
- awesome-repositories: https://awesome-repositories.com/repository/containrrr-watchtower.md

## Topics

`automation` `continuous-delivery` `devops` `docker` `hacktoberfest` `notifications` `receive-notifications` `registry` `update-checker` `watchtower`

## Description

Watchtower is a container-based solution designed to automate the lifecycle management of Docker applications. It functions as a background service that monitors running containers, detects when new base image versions are available in registries, and automatically redeploys the containers to ensure they remain synchronized with the latest builds.

The project distinguishes itself through its ability to orchestrate complex deployment workflows and maintain service availability during updates. It interacts directly with the container runtime to manage service dependencies and restart sequences, ensuring that dependent containers are handled in the correct order. Users can further customize the update process by defining lifecycle hooks that execute shell commands before or after a container is replaced, allowing for tailored initialization and cleanup tasks.

Beyond automated updates, the tool provides extensive infrastructure observability and flexible management options. It supports event-driven updates via HTTP webhooks, declarative filtering to target specific containers, and secure remote management through encrypted communication and private registry authentication. Operational statistics can be exported to external monitoring systems, and the service can be configured to run in a passive observation mode to track image changes without performing automated redeployments.

## Tags

### DevOps & Infrastructure

- [Automated Container Updaters](https://awesome-repositories.com/f/devops-infrastructure/automated-container-updaters.md) — Automates the detection and deployment of new container image versions. ([source](https://containrrr.dev/watchtower/))
- [Automated Lifecycle Management](https://awesome-repositories.com/f/devops-infrastructure/automated-lifecycle-management.md) — Keeps running containerized applications up to date by automatically deploying new image versions.
- [Container Lifecycle Managers](https://awesome-repositories.com/f/devops-infrastructure/container-lifecycle-managers.md) — Monitors running container images for updates and automatically replaces them with newer versions based on defined policies.
- [Container Runtimes](https://awesome-repositories.com/f/devops-infrastructure/container-runtimes.md) — Interacts with container host sockets to inspect, stop, and restart services while maintaining dependency order.
- [Deployment Orchestrators](https://awesome-repositories.com/f/devops-infrastructure/deployment-orchestrators.md) — Executes custom scripts and commands before and after container updates to manage complex initialization and cleanup tasks.
- [Container Runtime Integrations](https://awesome-repositories.com/f/devops-infrastructure/container-runtime-integrations.md) — Provides direct control over container lifecycles by communicating with the container runtime API.
- [Deployment Agents](https://awesome-repositories.com/f/devops-infrastructure/deployment-agents.md) — Tracks remote image registries and triggers automatic redeployments to keep services synchronized with the latest builds.
- [Dependency-Aware Orchestration](https://awesome-repositories.com/f/devops-infrastructure/dependency-aware-orchestration.md) — Restarts dependent containers in the correct order to maintain service availability. ([source](https://containrrr.dev/watchtower/linked-containers/))
- [Lifecycle Hooks](https://awesome-repositories.com/f/devops-infrastructure/lifecycle-hooks.md) — Runs custom shell commands before or after container update cycles using container labels. ([source](https://containrrr.dev/watchtower/lifecycle-hooks/))
- [Runtime Connectivity](https://awesome-repositories.com/f/devops-infrastructure/runtime-connectivity.md) — Supports connecting to local Unix sockets or remote TCP endpoints for management operations. ([source](https://containrrr.dev/watchtower/arguments/))
- [Webhook Handlers](https://awesome-repositories.com/f/devops-infrastructure/webhook-handlers.md) — Triggers container image updates via external webhooks to integrate with continuous delivery pipelines.
- [Webhook Triggers](https://awesome-repositories.com/f/devops-infrastructure/webhook-triggers.md) — Enables external services to initiate update cycles on demand via HTTP endpoints.
- [Container Filtering Policies](https://awesome-repositories.com/f/devops-infrastructure/container-filtering-policies.md) — Enables granular control over which containers are subject to automated updates using metadata tags.
- [Label-Based Selection](https://awesome-repositories.com/f/devops-infrastructure/label-based-selection.md) — Restricts management operations to specific containers marked with defined labels. ([source](https://containrrr.dev/watchtower/arguments/))

### Security & Cryptography

- [Registry Authentication](https://awesome-repositories.com/f/security-cryptography/registry-authentication.md) — Provides credentials for private registries by mapping registry domains to authentication strings in configuration files. ([source](https://containrrr.dev/watchtower/private-registries/))
- [Registry Authentication Providers](https://awesome-repositories.com/f/security-cryptography/registry-authentication-providers.md) — Manages secure access to private image repositories through credential helpers.
- [Remote Access Management](https://awesome-repositories.com/f/security-cryptography/remote-access-management.md) — Manages containerized services across remote hosts using encrypted communication and secure credential handling.
- [TLS Verification](https://awesome-repositories.com/f/security-cryptography/tls-verification.md) — Ensures secure, encrypted communication between the monitoring service and the container runtime. ([source](https://containrrr.dev/watchtower/arguments/))

### System Administration & Monitoring

- [Prometheus Exporters](https://awesome-repositories.com/f/system-administration-monitoring/prometheus-exporters.md) — Defines a monitoring server to periodically scrape performance and status data using a specific endpoint. ([source](https://containrrr.dev/watchtower/metrics/))
- [Infrastructure Observability](https://awesome-repositories.com/f/system-administration-monitoring/infrastructure-observability.md) — Exposes real-time metrics and status data from container management processes for performance tracking.

### Development Tools & Productivity

- [Cron Scheduling](https://awesome-repositories.com/f/development-tools-productivity/cron-scheduling.md) — Controls the frequency of image update checks using cron expressions. ([source](https://containrrr.dev/watchtower/arguments/))
- [Notification Integrations](https://awesome-repositories.com/f/development-tools-productivity/notification-integrations.md) — Delivers alerts to various services using service URLs and custom templates to format log entries. ([source](https://containrrr.dev/watchtower/notifications/))
