Skip to content

fix: replace unmaintained watchtower with nicholas-fedor fork - #851

Merged
kacper-wolkiewicz-reef merged 1 commit into
masterfrom
replace-watchtower-with-nickfedor-fork
Aug 5, 2026
Merged

fix: replace unmaintained watchtower with nicholas-fedor fork#851
kacper-wolkiewicz-reef merged 1 commit into
masterfrom
replace-watchtower-with-nickfedor-fork

Conversation

@kacper-wolkiewicz-reef

Copy link
Copy Markdown
Contributor

Why

The original containrrr/watchtower was archived on December 17, 2025. Its embedded Docker API client (v1.25) is rejected by modern Docker engines (Docker 26 dropped old API versions, Docker 29 requires v1.44+), which breaks automatic container updates on hosts running a current Docker.

What

Replace containrrr/watchtower:latest with the actively maintained fork nicholas-fedor/watchtower (image nickfedor/watchtower), pinned to 1.20.3:

  • install_miner.sh / install_validator.sh — compose template written to operators' hosts
  • miner/envs/runner/README.md / validator/envs/runner/README.md — compose snippets in docs
  • miner/envs/runner/data/docker-compose.yml — docuum --keep pattern for the watchtower image

The fork is a drop-in replacement: it keeps the com.centurylinklabs.watchtower.* labels and the --interval, --cleanup, --label-enable flags, and supports Docker API v1.43+ with auto-negotiation. Releases are frequent (latest v1.20.3, 2026-08-05).

Note for existing deployments

The watchtower service lives in the host-side compose file created at install time, so existing miners/validators won't pick this up by pushing new images — operators whose auto-update channel is already broken by a new Docker version need a one-time manual migration (update the image in their docker-compose.yml and docker compose up -d watchtower).

🤖 Generated with Claude Code

The original containrrr/watchtower was archived in December 2025 and its
Docker API client (v1.25) is rejected by modern Docker engines, breaking
automatic updates. The nicholas-fedor/watchtower fork is actively
maintained, supports current Docker API versions and is a drop-in
replacement - it keeps the com.centurylinklabs.watchtower.* labels and
all the flags we use.

Impacts: miner, miner-runner, validator, validator-runner
@kacper-wolkiewicz-reef
kacper-wolkiewicz-reef force-pushed the replace-watchtower-with-nickfedor-fork branch from b438300 to 396f26d Compare August 5, 2026 11:18
@github-actions

github-actions Bot commented Aug 5, 2026

Copy link
Copy Markdown

Commit message lint report

gitlint --commits 8aff3052d0e8d0eb3f8ac6a5115e3e6598374865..396f26d4bb4fdcc6dc2bc44bb6c3bbfbd9c7ff4e

Status: ✅ No issues found.

@kacper-wolkiewicz-reef
kacper-wolkiewicz-reef merged commit 8524b46 into master Aug 5, 2026
32 checks passed
@kacper-wolkiewicz-reef
kacper-wolkiewicz-reef deleted the replace-watchtower-with-nickfedor-fork branch August 5, 2026 11:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant