[Bug]: Regression after 1.20.3: registry rate limited errors and significantly slower image scans
Bug Report Checklist
- I checked existing issues and found no duplicates.
- I have reviewed Watchtower's documentation and confirmed compliance with documented configuration specifications.
- I have restarted Docker, re-pulled the
latestimage, and confirmed that the issue persists.
Bug Description
I believe I am seeing a regression introduced sometime after v1.20.3.
On v1.22.2 I regularly experience update failures with errors such as:
❌ prowlarr update failed: image pull: registry rate limited ❌ sonarr update failed: image pull: registry rate limited ❌ radarr update failed: image pull: registry rate limited
Example error:
image pull: registry rate limited: retry-after 981.092µs allowed 44000 per 1m0s
I also noticed that image scanning appears significantly slower on newer releases.
After downgrading to v1.20.3, using the exact same host, containers, network, credentials and schedule, the problem appears to disappear.
This leads me to suspect a regression introduced somewhere between v1.20.3 and v1.21.0 (or later).
Steps to Reproduce
- Run Watchtower v1.22.2.
- Monitor LinuxServer.io containers (Radarr, Sonarr, Prowlarr, Bazarr, etc.).
- Configure registry credentials normally (GHCR credentials mounted via /config.json).
- Allow Watchtower to perform scheduled update checks.
- Observe occasional update failures reporting "registry rate limited".
For comparison:
- Downgrade to v1.20.3 without changing anything else.
- Run the same containers, credentials and schedule.
- Observe that updates complete successfully and scanning appears significantly faster.
Expected Behavior
Watchtower should successfully scan and update containers without reporting registry rate limiting errors.
The behavior should be consistent between releases.
v1.20.3 appears to scan and update containers successfully, while v1.22.2 experiences registry rate limited failures under otherwise identical conditions.
Watchtower Version
v1.22.2
Docker Version
Client: Docker Engine - Community
Version: 29.8.0
API version: 1.56
Go version: go1.26.8
Git commit: 88096ef
Built: Thu Sep 3 21:49:37 2026
OS/Arch: linux/arm64
Context: default
Server: Docker Engine - Community
Engine:
Version: 29.8.0
API version: 1.56 (minimum version 1.24)
Go version: go1.26.8
Git commit: 3ce5872
Built: Thu Sep 3 21:49:37 2026
OS/Arch: linux/arm64
Experimental: false
containerd:
Version: v2.3.5
GitCommit: 1294c24a7da8e5a793ed378161673abe94118892
runc:
Version: 1.5.1
GitCommit: v1.5.1-0-g8f2685a4
docker-init:
Version: 0.19.0
GitCommit: de40ad0Docker Info (optional)
Docker Compose Configuration
Docker CLI Command
Debug Logs
Example errors:
❌ prowlarr update failed: image pull: registry rate limited: retry-after 981.092µs allowed 44000 per 1m0s
❌ sonarr update failed: image pull: registry rate limited: retry-after 633.835µs allowed 44000 per 1m0s
❌ radarr update failed: image pull: registry rate limited: retry-after 509.381µs allowed 44000 per 1m0s
Additional Context
Issue #2229 & #2363 appears related, however I am opening a new issue because I can reproduce a clear behavioral difference between v1.20.3 and newer releases.
The only significant change between successful and failing tests is the Watchtower version itself.
Affected containers have primarily been LinuxServer.io images, for example:
- lscr.io/linuxserver/prowlarr
- lscr.io/linuxserver/sonarr
- lscr.io/linuxserver/radarr
The same containers update successfully after downgrading Watchtower to v1.20.3.
Source: nicholas-fedor/watchtower