Skip to content

401 Unauthorized in Windows 11 #102

@Milor123

Description

@Milor123

Describe the bug

All looks good but the watchtower simply dont do the pulls
I got messages like this in the console status="401 Unauthorized"
msg="No credentials found."

I've tried many things, for example set the Username and password like in the documentation but i got the same result. I really dont understand what happened :/

Steps to reproduce

  1. Docker login
  2. Create a copy of config.json in my docker-compose.yml folder
{
	"auths": {
		"https://index.docker.io/v1/": {
			"auth": "Here_My_Secret_Code_Autogenerated"
		},
		"https://index.docker.io/v1/access-token": {
			"auth": "Here_My_Secret_Code_Autogenerated"
		},
		"https://index.docker.io/v1/refresh-token": {
			"auth": "Here_My_Secret_Code_Autogenerated"
		}

		
	}
}
  1. Run my docker-compose.yml
version: "3"
services:
  watchtower:
   container_name: watchtower
   image: beatkind/watchtower:amd64-latest
   volumes:
    - /var/run/docker.sock:/var/run/docker.sock
    - .\config.json:/config.json
   command: --interval 10 --cleanup --debug
   restart: unless-stopped
  1. See error

Expected behavior

Pull as well

Screenshots

No response

Environment

  • Platform: Windows 11 24H2
  • Architecture: x64
  • Docker Version: Docker Desktop 4.38.0 (181591

Your logs

logs with --debug


docker-compose up --force-recreate
time="2025-02-23T09:30:06-05:00" level=warning msg="C:\\Linux\\Linux-Documents\\Docker-Composes\\watchtower\\docker-compose.yml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion"
[+] Running 1/1
 ✔ Container watchtower  Recreated                                                                                       0.2s
Attaching to watchtower
watchtower  | time="2025-02-23T14:30:07Z" level=warning msg="The DOCKER_API_VERSION environment variable is set to a version lower than 1.44. This may cause unexpected behavior while recreating docker containers."
watchtower  | time="2025-02-23T14:30:07Z" level=debug msg="Sleeping for a second to ensure the docker api client has been properly initialized."
watchtower  | time="2025-02-23T14:30:08Z" level=debug msg="Making sure everything is sane before starting"
watchtower  | time="2025-02-23T14:30:08Z" level=debug msg="Retrieving running containers"
watchtower  | time="2025-02-23T14:30:11Z" level=debug msg="There are no additional watchtower containers"
watchtower  | time="2025-02-23T14:30:11Z" level=debug msg="Watchtower HTTP API skipped."
watchtower  | time="2025-02-23T14:30:11Z" level=info msg="Watchtower 2.1.2"
watchtower  | time="2025-02-23T14:30:11Z" level=info msg="Using no notifications"
watchtower  | time="2025-02-23T14:30:11Z" level=info msg="Checking all containers (except explicitly disabled with label)"
watchtower  | time="2025-02-23T14:30:11Z" level=info msg="Scheduling first run: 2025-02-23 14:30:21 +0000 UTC"
watchtower  | time="2025-02-23T14:30:11Z" level=info msg="Note that the first check will be performed in 9 seconds"
watchtower  | time="2025-02-23T14:30:21Z" level=debug msg="Checking containers for updated images"
watchtower  | time="2025-02-23T14:30:21Z" level=debug msg="Retrieving running containers"
watchtower  | time="2025-02-23T14:30:24Z" level=debug msg="Trying to load authentication credentials." container=/watchtower image="beatkind/watchtower:amd64-latest"
watchtower  | time="2025-02-23T14:30:24Z" level=debug msg="Loaded auth credentials for user david.vanitas@proton.me, on registry index.docker.io, from file /config.json"
watchtower  | time="2025-02-23T14:30:24Z" level=debug msg="Got image name: beatkind/watchtower:amd64-latest"
watchtower  | time="2025-02-23T14:30:24Z" level=debug msg="Credentials loaded"
watchtower  | time="2025-02-23T14:30:24Z" level=debug msg="Checking if pull is needed" container=/watchtower image="beatkind/watchtower:amd64-latest"
watchtower  | time="2025-02-23T14:30:24Z" level=debug msg="Built challenge URL" URL="https://index.docker.io/v2/"
watchtower  | time="2025-02-23T14:30:25Z" level=debug msg="Got response to challenge request" header="Bearer realm=\"https://auth.docker.io/token\",service=\"registry.docker.io\"" status="401 Unauthorized"
watchtower  | time="2025-02-23T14:30:25Z" level=debug msg="Checking challenge header content" realm="https://auth.docker.io/token" service=registry.docker.io
watchtower  | time="2025-02-23T14:30:25Z" level=debug msg="Setting scope for auth token" image=docker.io/beatkind/watchtower scope="repository:beatkind/watchtower:pull"
watchtower  | time="2025-02-23T14:30:25Z" level=debug msg="Credentials found."
watchtower  | time="2025-02-23T14:30:27Z" level=debug msg="Parsing image ref" host=index.docker.io image=beatkind/watchtower normalized=docker.io/beatkind/watchtower tag=amd64-latest
watchtower  | time="2025-02-23T14:30:27Z" level=debug msg="Doing a HEAD request to fetch a digest" url="https://index.docker.io/v2/beatkind/watchtower/manifests/amd64-latest"
watchtower  | time="2025-02-23T14:30:28Z" level=debug msg="Found a remote digest to compare with" remote="sha256:12ee6494d32f3a631c661d7e9792ae51ea56a01bd030f3aba5277342037ce885"
watchtower  | time="2025-02-23T14:30:28Z" level=debug msg=Comparing local="sha256:12ee6494d32f3a631c661d7e9792ae51ea56a01bd030f3aba5277342037ce885" remote="sha256:12ee6494d32f3a631c661d7e9792ae51ea56a01bd030f3aba5277342037ce885"
watchtower  | time="2025-02-23T14:30:28Z" level=debug msg="Found a match"
watchtower  | time="2025-02-23T14:30:28Z" level=debug msg="No pull needed. Skipping image."
watchtower  | time="2025-02-23T14:30:28Z" level=debug msg="No new images found for /watchtower"
watchtower  | time="2025-02-23T14:30:28Z" level=debug msg="Trying to load authentication credentials." container=/syncthing image="lscr.io/linuxserver/syncthing:latest"
watchtower  | time="2025-02-23T14:30:28Z" level=debug msg="No credentials for lscr.io found" config_file=/config.json
watchtower  | time="2025-02-23T14:30:28Z" level=debug msg="Got image name: lscr.io/linuxserver/syncthing:latest"
watchtower  | time="2025-02-23T14:30:28Z" level=debug msg="Checking if pull is needed" container=/syncthing image="lscr.io/linuxserver/syncthing:latest"
watchtower  | time="2025-02-23T14:30:28Z" level=debug msg="Built challenge URL" URL="https://lscr.io/v2/"
watchtower  | time="2025-02-23T14:30:31Z" level=debug msg="Skipped another update already running."
watchtower  | time="2025-02-23T14:30:31Z" level=debug msg="Scheduled next run: 2025-02-23 14:30:41 +0000 UTC"
watchtower  | time="2025-02-23T14:30:31Z" level=debug msg="Got response to challenge request" header="Bearer realm=\"https://ghcr.io/token\",service=\"ghcr.io\",scope=\"repository:user/image:pull\"" status="401 Unauthorized"
watchtower  | time="2025-02-23T14:30:31Z" level=debug msg="Checking challenge header content" realm="https://ghcr.io/token" service=ghcr.io
watchtower  | time="2025-02-23T14:30:31Z" level=debug msg="Setting scope for auth token" image=lscr.io/linuxserver/syncthing scope="repository:linuxserver/syncthing:pull"
watchtower  | time="2025-02-23T14:30:31Z" level=debug msg="No credentials found."
watchtower  | time="2025-02-23T14:30:31Z" level=debug msg="Parsing image ref" host=lscr.io image=linuxserver/syncthing normalized=lscr.io/linuxserver/syncthing tag=latest
watchtower  | time="2025-02-23T14:30:31Z" level=debug msg="Doing a HEAD request to fetch a digest" url="https://lscr.io/v2/linuxserver/syncthing/manifests/latest"
watchtower  | time="2025-02-23T14:30:32Z" level=debug msg="Could not do a head request for \"lscr.io/linuxserver/syncthing:latest\", falling back to regular pull." container=/syncthing image="lscr.io/linuxserver/syncthing:latest"
watchtower  | time="2025-02-23T14:30:32Z" level=debug msg="Reason: registry responded to head request with \"401 Unauthorized\", auth: \"Bearer realm=\\\"https://ghcr.io/token\\\",service=\\\"ghcr.io\\\",scope=\\\"repository:linuxserver/syncthing:pull\\\"\"" container=/syncthing image="lscr.io/linuxserver/syncthing:latest"
watchtower  | time="2025-02-23T14:30:32Z" level=debug msg="Pulling image" container=/syncthing image="lscr.io/linuxserver/syncthing:latest"
watchtower  | time="2025-02-23T14:30:34Z" level=debug msg="No new images found for /syncthing"
watchtower  | time="2025-02-23T14:30:34Z" level=debug msg="Trying to load authentication credentials." container=/anythingllm
image="mintplexlabs/anythingllm:latest"
watchtower  | time="2025-02-23T14:30:34Z" level=debug msg="Loaded auth credentials for user david.vanitas@proton.me, on registry index.docker.io, from file /config.json"
watchtower  | time="2025-02-23T14:30:34Z" level=debug msg="Got image name: mintplexlabs/anythingllm:latest"
watchtower  | time="2025-02-23T14:30:34Z" level=debug msg="Credentials loaded"
watchtower  | time="2025-02-23T14:30:34Z" level=debug msg="Checking if pull is needed" container=/anythingllm image="mintplexlabs/anythingllm:latest"
watchtower  | time="2025-02-23T14:30:34Z" level=debug msg="Built challenge URL" URL="https://index.docker.io/v2/"
watchtower  | time="2025-02-23T14:30:34Z" level=debug msg="Got response to challenge request" header="Bearer realm=\"https://auth.docker.io/token\",service=\"registry.docker.io\"" status="401 Unauthorized"
watchtower  | time="2025-02-23T14:30:34Z" level=debug msg="Checking challenge header content" realm="https://auth.docker.io/token" service=registry.docker.io
watchtower  | time="2025-02-23T14:30:34Z" level=debug msg="Setting scope for auth token" image=docker.io/mintplexlabs/anythingllm scope="repository:mintplexlabs/anythingllm:pull"
watchtower  | time="2025-02-23T14:30:34Z" level=debug msg="Credentials found."
watchtower  | time="2025-02-23T14:30:36Z" level=debug msg="Parsing image ref" host=index.docker.io image=mintplexlabs/anythingllm normalized=docker.io/mintplexlabs/anythingllm tag=latest
watchtower  | time="2025-02-23T14:30:36Z" level=debug msg="Doing a HEAD request to fetch a digest" url="https://index.docker.io/v2/mintplexlabs/anythingllm/manifests/latest"
watchtower  | time="2025-02-23T14:30:37Z" level=debug msg="Found a remote digest to compare with" remote="sha256:a80403841764fa9a0c3566325ef0b558ba227b8fb96478768b6bf0ab72166418"
watchtower  | time="2025-02-23T14:30:37Z" level=debug msg=Comparing local="sha256:a80403841764fa9a0c3566325ef0b558ba227b8fb96478768b6bf0ab72166418" remote="sha256:a80403841764fa9a0c3566325ef0b558ba227b8fb96478768b6bf0ab72166418"
watchtower  | time="2025-02-23T14:30:37Z" level=debug msg="Found a match"
watchtower  | time="2025-02-23T14:30:37Z" level=debug msg="No pull needed. Skipping image."
watchtower  | time="2025-02-23T14:30:37Z" level=debug msg="No new images found for /anythingllm"
watchtower  | time="2025-02-23T14:30:37Z" level=debug msg="Trying to load authentication credentials." container=/audiobookshelf image="ghcr.io/advplyr/audiobookshelf:latest"
watchtower  | time="2025-02-23T14:30:37Z" level=debug msg="No credentials for ghcr.io found" config_file=/config.json
watchtower  | time="2025-02-23T14:30:37Z" level=debug msg="Got image name: ghcr.io/advplyr/audiobookshelf:latest"
watchtower  | time="2025-02-23T14:30:37Z" level=debug msg="Checking if pull is needed" container=/audiobookshelf image="ghcr.io/advplyr/audiobookshelf:latest"
watchtower  | time="2025-02-23T14:30:37Z" level=debug msg="Built challenge URL" URL="https://ghcr.io/v2/"
watchtower  | time="2025-02-23T14:30:37Z" level=debug msg="Got response to challenge request" header="Bearer realm=\"https://ghcr.io/token\",service=\"ghcr.io\",scope=\"repository:user/image:pull\"" status="401 Unauthorized"
watchtower  | time="2025-02-23T14:30:37Z" level=debug msg="Checking challenge header content" realm="https://ghcr.io/token" service=ghcr.io
watchtower  | time="2025-02-23T14:30:37Z" level=debug msg="Setting scope for auth token" image=ghcr.io/advplyr/audiobookshelf
scope="repository:advplyr/audiobookshelf:pull"
watchtower  | time="2025-02-23T14:30:37Z" level=debug msg="No credentials found."
watchtower  | time="2025-02-23T14:30:37Z" level=debug msg="Parsing image ref" host=ghcr.io image=advplyr/audiobookshelf normalized=ghcr.io/advplyr/audiobookshelf tag=latest
watchtower  | time="2025-02-23T14:30:37Z" level=debug msg="Doing a HEAD request to fetch a digest" url="https://ghcr.io/v2/advplyr/audiobookshelf/manifests/latest"
watchtower  | time="2025-02-23T14:30:41Z" level=debug msg="Skipped another update already running."
watchtower  | time="2025-02-23T14:30:41Z" level=debug msg="Scheduled next run: 2025-02-23 14:30:51 +0000 UTC"
watchtower  | time="2025-02-23T14:30:45Z" level=debug msg="Found a remote digest to compare with" remote="sha256:e12511a64b9a7af3657889995f016f8757640169d174a83ce631cbf505a5dbca"
watchtower  | time="2025-02-23T14:30:45Z" level=debug msg=Comparing local="sha256:e12511a64b9a7af3657889995f016f8757640169d174a83ce631cbf505a5dbca" remote="sha256:e12511a64b9a7af3657889995f016f8757640169d174a83ce631cbf505a5dbca"
watchtower  | time="2025-02-23T14:30:45Z" level=debug msg="Found a match"
watchtower  | time="2025-02-23T14:30:45Z" level=debug msg="No pull needed. Skipping image."
watchtower  | time="2025-02-23T14:30:45Z" level=debug msg="No new images found for /audiobookshelf"
watchtower  | time="2025-02-23T14:30:45Z" level=debug msg="Trying to load authentication credentials." container=/i2p-i2p-1 image="geti2p/i2p:latest"
watchtower  | time="2025-02-23T14:30:45Z" level=debug msg="Loaded auth credentials for user david.vanitas@proton.me, on registry index.docker.io, from file /config.json"
watchtower  | time="2025-02-23T14:30:45Z" level=debug msg="Got image name: geti2p/i2p:latest"
watchtower  | time="2025-02-23T14:30:45Z" level=debug msg="Credentials loaded"
watchtower  | time="2025-02-23T14:30:45Z" level=debug msg="Checking if pull is needed" container=/i2p-i2p-1 image="geti2p/i2p:latest"
watchtower  | time="2025-02-23T14:30:45Z" level=debug msg="Built challenge URL" URL="https://index.docker.io/v2/"
watchtower  | time="2025-02-23T14:30:46Z" level=debug msg="Got response to challenge request" header="Bearer realm=\"https://auth.docker.io/token\",service=\"registry.docker.io\"" status="401 Unauthorized"
watchtower  | time="2025-02-23T14:30:46Z" level=debug msg="Checking challenge header content" realm="https://auth.docker.io/token" service=registry.docker.io
watchtower  | time="2025-02-23T14:30:46Z" level=debug msg="Setting scope for auth token" image=docker.io/geti2p/i2p scope="repository:geti2p/i2p:pull"
watchtower  | time="2025-02-23T14:30:46Z" level=debug msg="Credentials found."
watchtower  | time="2025-02-23T14:30:47Z" level=debug msg="Parsing image ref" host=index.docker.io image=geti2p/i2p normalized=docker.io/geti2p/i2p tag=latest
watchtower  | time="2025-02-23T14:30:47Z" level=debug msg="Doing a HEAD request to fetch a digest" url="https://index.docker.io/v2/geti2p/i2p/manifests/latest"
watchtower  | time="2025-02-23T14:30:47Z" level=debug msg="Found a remote digest to compare with" remote="sha256:987fb1f201779832e5e632948550f40a93c48671c47baa6e6f423d3a774c3010"
watchtower  | time="2025-02-23T14:30:47Z" level=debug msg=Comparing local="sha256:987fb1f201779832e5e632948550f40a93c48671c47baa6e6f423d3a774c3010" remote="sha256:987fb1f201779832e5e632948550f40a93c48671c47baa6e6f423d3a774c3010"
watchtower  | time="2025-02-23T14:30:47Z" level=debug msg="Found a match"
watchtower  | time="2025-02-23T14:30:47Z" level=debug msg="No pull needed. Skipping image."
watchtower  | time="2025-02-23T14:30:47Z" level=debug msg="No new images found for /i2p-i2p-1"
watchtower  | time="2025-02-23T14:30:47Z" level=debug msg="Trying to load authentication credentials." container=/ollama image="ollama/ollama:latest"
watchtower  | time="2025-02-23T14:30:47Z" level=debug msg="Loaded auth credentials for user david.vanitas@proton.me, on registry index.docker.io, from file /config.json"
watchtower  | time="2025-02-23T14:30:47Z" level=debug msg="Got image name: ollama/ollama:latest"
watchtower  | time="2025-02-23T14:30:47Z" level=debug msg="Credentials loaded"
watchtower  | time="2025-02-23T14:30:47Z" level=debug msg="Checking if pull is needed" container=/ollama image="ollama/ollama:latest"
watchtower  | time="2025-02-23T14:30:47Z" level=debug msg="Built challenge URL" URL="https://index.docker.io/v2/"
watchtower  | time="2025-02-23T14:30:48Z" level=debug msg="Got response to challenge request" header="Bearer realm=\"https://auth.docker.io/token\",service=\"registry.docker.io\"" status="401 Unauthorized"
watchtower  | time="2025-02-23T14:30:48Z" level=debug msg="Checking challenge header content" realm="https://auth.docker.io/token" service=registry.docker.io
watchtower  | time="2025-02-23T14:30:48Z" level=debug msg="Setting scope for auth token" image=docker.io/ollama/ollama scope="repository:ollama/ollama:pull"
watchtower  | time="2025-02-23T14:30:48Z" level=debug msg="Credentials found."
watchtower  | time="2025-02-23T14:30:48Z" level=debug msg="Parsing image ref" host=index.docker.io image=ollama/ollama normalized=docker.io/ollama/ollama tag=latest
watchtower  | time="2025-02-23T14:30:48Z" level=debug msg="Doing a HEAD request to fetch a digest" url="https://index.docker.io/v2/ollama/ollama/manifests/latest"
watchtower  | time="2025-02-23T14:30:49Z" level=debug msg="Found a remote digest to compare with" remote="sha256:82956f40bb1f307c77f7a8c3ed91c7a37e072ed757ff143e34210a7b991b9480"
watchtower  | time="2025-02-23T14:30:49Z" level=debug msg=Comparing local="sha256:82956f40bb1f307c77f7a8c3ed91c7a37e072ed757ff143e34210a7b991b9480" remote="sha256:82956f40bb1f307c77f7a8c3ed91c7a37e072ed757ff143e34210a7b991b9480"
watchtower  | time="2025-02-23T14:30:49Z" level=debug msg="Found a match"
watchtower  | time="2025-02-23T14:30:49Z" level=debug msg="No pull needed. Skipping image."
watchtower  | time="2025-02-23T14:30:49Z" level=debug msg="No new images found for /ollama"
watchtower  | time="2025-02-23T14:30:49Z" level=debug msg="Trying to load authentication credentials." container=/cloudflare-obsidiandb image="cloudflare/cloudflared:latest"
watchtower  | time="2025-02-23T14:30:49Z" level=debug msg="Loaded auth credentials for user david.vanitas@proton.me, on registry index.docker.io, from file /config.json"
watchtower  | time="2025-02-23T14:30:49Z" level=debug msg="Got image name: cloudflare/cloudflared:latest"
watchtower  | time="2025-02-23T14:30:49Z" level=debug msg="Credentials loaded"
watchtower  | time="2025-02-23T14:30:49Z" level=debug msg="Checking if pull is needed" container=/cloudflare-obsidiandb image="cloudflare/cloudflared:latest"
watchtower  | time="2025-02-23T14:30:49Z" level=debug msg="Built challenge URL" URL="https://index.docker.io/v2/"
watchtower  | time="2025-02-23T14:30:49Z" level=debug msg="Got response to challenge request" header="Bearer realm=\"https://auth.docker.io/token\",service=\"registry.docker.io\"" status="401 Unauthorized"
watchtower  | time="2025-02-23T14:30:49Z" level=debug msg="Checking challenge header content" realm="https://auth.docker.io/token" service=registry.docker.io
watchtower  | time="2025-02-23T14:30:49Z" level=debug msg="Setting scope for auth token" image=docker.io/cloudflare/cloudflared scope="repository:cloudflare/cloudflared:pull"
watchtower  | time="2025-02-23T14:30:49Z" level=debug msg="Credentials found."
watchtower  | time="2025-02-23T14:30:50Z" level=debug msg="Parsing image ref" host=index.docker.io image=cloudflare/cloudflared normalized=docker.io/cloudflare/cloudflared tag=latest
watchtower  | time="2025-02-23T14:30:50Z" level=debug msg="Doing a HEAD request to fetch a digest" url="https://index.docker.io/v2/cloudflare/cloudflared/manifests/latest"
watchtower  | time="2025-02-23T14:30:51Z" level=debug msg="Skipped another update already running."
watchtower  | time="2025-02-23T14:30:51Z" level=debug msg="Scheduled next run: 2025-02-23 14:31:01 +0000 UTC"
watchtower  | time="2025-02-23T14:30:51Z" level=debug msg="Found a remote digest to compare with" remote="sha256:6e2df069aaf5a8c0bf304b674ff31c0ed07c974534b4303a8c6e57d93c6c9224"
watchtower  | time="2025-02-23T14:30:51Z" level=debug msg=Comparing local="sha256:6e2df069aaf5a8c0bf304b674ff31c0ed07c974534b4303a8c6e57d93c6c9224" remote="sha256:6e2df069aaf5a8c0bf304b674ff31c0ed07c974534b4303a8c6e57d93c6c9224"
watchtower  | time="2025-02-23T14:30:51Z" level=debug msg="Found a match"
watchtower  | time="2025-02-23T14:30:51Z" level=debug msg="No pull needed. Skipping image."
watchtower  | time="2025-02-23T14:30:51Z" level=debug msg="No new images found for /cloudflare-obsidiandb"
watchtower  | time="2025-02-23T14:30:51Z" level=debug msg="Trying to load authentication credentials." container=/obsidian-livesync image="couchdb:3.3.3"
watchtower  | time="2025-02-23T14:30:51Z" level=debug msg="Loaded auth credentials for user david.vanitas@proton.me, on registry index.docker.io, from file /config.json"
watchtower  | time="2025-02-23T14:30:51Z" level=debug msg="Got image name: couchdb:3.3.3"
watchtower  | time="2025-02-23T14:30:51Z" level=debug msg="Credentials loaded"
watchtower  | time="2025-02-23T14:30:51Z" level=debug msg="Checking if pull is needed" container=/obsidian-livesync image="couchdb:3.3.3"
watchtower  | time="2025-02-23T14:30:51Z" level=debug msg="Built challenge URL" URL="https://index.docker.io/v2/"
watchtower  | time="2025-02-23T14:30:51Z" level=debug msg="Got response to challenge request" header="Bearer realm=\"https://auth.docker.io/token\",service=\"registry.docker.io\"" status="401 Unauthorized"
watchtower  | time="2025-02-23T14:30:51Z" level=debug msg="Checking challenge header content" realm="https://auth.docker.io/token" service=registry.docker.io
watchtower  | time="2025-02-23T14:30:51Z" level=debug msg="Setting scope for auth token" image=docker.io/library/couchdb scope="repository:library/couchdb:pull"
watchtower  | time="2025-02-23T14:30:51Z" level=debug msg="Credentials found."
watchtower  | time="2025-02-23T14:30:51Z" level=debug msg="Parsing image ref" host=index.docker.io image=library/couchdb normalized=docker.io/library/couchdb tag=3.3.3
watchtower  | time="2025-02-23T14:30:51Z" level=debug msg="Doing a HEAD request to fetch a digest" url="https://index.docker.io/v2/library/couchdb/manifests/3.3.3"
watchtower  | time="2025-02-23T14:30:51Z" level=debug msg="Found a remote digest to compare with" remote="sha256:98ac5aac1e96e2c1bb9bdd52028f79dbfb8fc2fe49268055cf172af9147be872"
watchtower  | time="2025-02-23T14:30:51Z" level=debug msg=Comparing local="sha256:98ac5aac1e96e2c1bb9bdd52028f79dbfb8fc2fe49268055cf172af9147be872" remote="sha256:98ac5aac1e96e2c1bb9bdd52028f79dbfb8fc2fe49268055cf172af9147be872"
watchtower  | time="2025-02-23T14:30:51Z" level=debug msg="Found a match"
watchtower  | time="2025-02-23T14:30:51Z" level=debug msg="No pull needed. Skipping image."
watchtower  | time="2025-02-23T14:30:51Z" level=debug msg="No new images found for /obsidian-livesync"
watchtower  | time="2025-02-23T14:30:51Z" level=debug msg="Trying to load authentication credentials." container=/immich_server image="ghcr.io/immich-app/immich-server:release"
watchtower  | time="2025-02-23T14:30:51Z" level=debug msg="No credentials for ghcr.io found" config_file=/config.json
watchtower  | time="2025-02-23T14:30:51Z" level=debug msg="Got image name: ghcr.io/immich-app/immich-server:release"
watchtower  | time="2025-02-23T14:30:51Z" level=debug msg="Checking if pull is needed" container=/immich_server image="ghcr.io/immich-app/immich-server:release"
watchtower  | time="2025-02-23T14:30:51Z" level=debug msg="Built challenge URL" URL="https://ghcr.io/v2/"
watchtower  | time="2025-02-23T14:30:52Z" level=debug msg="Got response to challenge request" header="Bearer realm=\"https://ghcr.io/token\",service=\"ghcr.io\",scope=\"repository:user/image:pull\"" status="401 Unauthorized"
watchtower  | time="2025-02-23T14:30:52Z" level=debug msg="Checking challenge header content" realm="https://ghcr.io/token" service=ghcr.io
watchtower  | time="2025-02-23T14:30:52Z" level=debug msg="Setting scope for auth token" image=ghcr.io/immich-app/immich-server scope="repository:immich-app/immich-server:pull"
watchtower  | time="2025-02-23T14:30:52Z" level=debug msg="No credentials found."
watchtower  | time="2025-02-23T14:30:52Z" level=debug msg="Parsing image ref" host=ghcr.io image=immich-app/immich-server normalized=ghcr.io/immich-app/immich-server tag=release
watchtower  | time="2025-02-23T14:30:52Z" level=debug msg="Doing a HEAD request to fetch a digest" url="https://ghcr.io/v2/immich-app/immich-server/manifests/release"
watchtower  | time="2025-02-23T14:30:53Z" level=debug msg="Found a remote digest to compare with" remote="sha256:f8a3c78ec0a0ace20517acedaab9c2f3edcfc9b96e03080ba401acf55792470e"
watchtower  | time="2025-02-23T14:30:53Z" level=debug msg=Comparing local="sha256:f8a3c78ec0a0ace20517acedaab9c2f3edcfc9b96e03080ba401acf55792470e" remote="sha256:f8a3c78ec0a0ace20517acedaab9c2f3edcfc9b96e03080ba401acf55792470e"
watchtower  | time="2025-02-23T14:30:53Z" level=debug msg="Found a match"
watchtower  | time="2025-02-23T14:30:53Z" level=debug msg="No pull needed. Skipping image."
watchtower  | time="2025-02-23T14:30:53Z" level=debug msg="No new images found for /immich_server"
watchtower  | time="2025-02-23T14:30:53Z" level=debug msg="Trying to load authentication credentials." container=/immich_redis image="docker.io/redis:6.2-alpine@sha256:148bb5411c184abd288d9aaed139c98123eeb8824c5d3fce03cf721db58066d8"
watchtower  | time="2025-02-23T14:30:53Z" level=debug msg="Loaded auth credentials for user david.vanitas@proton.me, on registry index.docker.io, from file /config.json"
watchtower  | time="2025-02-23T14:30:53Z" level=debug msg="Got image name: docker.io/redis:6.2-alpine@sha256:148bb5411c184abd288d9aaed139c98123eeb8824c5d3fce03cf721db58066d8"
watchtower  | time="2025-02-23T14:30:53Z" level=debug msg="Credentials loaded"
watchtower  | time="2025-02-23T14:30:53Z" level=debug msg="Checking if pull is needed" container=/immich_redis image="docker.io/redis:6.2-alpine@sha256:148bb5411c184abd288d9aaed139c98123eeb8824c5d3fce03cf721db58066d8"
watchtower  | time="2025-02-23T14:30:53Z" level=debug msg="Built challenge URL" URL="https://index.docker.io/v2/"
watchtower  | time="2025-02-23T14:30:55Z" level=debug msg="Got response to challenge request" header="Bearer realm=\"https://auth.docker.io/token\",service=\"registry.docker.io\"" status="401 Unauthorized"
watchtower  | time="2025-02-23T14:30:55Z" level=debug msg="Checking challenge header content" realm="https://auth.docker.io/token" service=registry.docker.io
watchtower  | time="2025-02-23T14:30:55Z" level=debug msg="Setting scope for auth token" image=docker.io/library/redis scope="repository:library/redis:pull"
watchtower  | time="2025-02-23T14:30:55Z" level=debug msg="Credentials found."
watchtower  | time="2025-02-23T14:30:55Z" level=warning msg="Could not do a head request for \"docker.io/redis:6.2-alpine@sha256:148bb5411c184abd288d9aaed139c98123eeb8824c5d3fce03cf721db58066d8\", falling back to regular pull." container=/immich_redis
image="docker.io/redis:6.2-alpine@sha256:148bb5411c184abd288d9aaed139c98123eeb8824c5d3fce03cf721db58066d8"
watchtower  | time="2025-02-23T14:30:55Z" level=warning msg="Reason: Parsed container image ref has no tag: docker.io/library/redis@sha256:148bb5411c184abd288d9aaed139c98123eeb8824c5d3fce03cf721db58066d8" container=/immich_redis image="docker.io/redis:6.2-alpine@sha256:148bb5411c184abd288d9aaed139c98123eeb8824c5d3fce03cf721db58066d8"
watchtower  | time="2025-02-23T14:30:55Z" level=debug msg="Pulling image" container=/immich_redis image="docker.io/redis:6.2-alpine@sha256:148bb5411c184abd288d9aaed139c98123eeb8824c5d3fce03cf721db58066d8"
watchtower  | time="2025-02-23T14:30:58Z" level=debug msg="No new images found for /immich_redis"
watchtower  | time="2025-02-23T14:30:58Z" level=debug msg="Trying to load authentication credentials." container=/immich_postgres image="docker.io/tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:90724186f0a3517cf6914295b5ab410db9ce23190a2d9d0b9dd6463e3fa298f0"
watchtower  | time="2025-02-23T14:30:58Z" level=debug msg="Loaded auth credentials for user david.vanitas@proton.me, on registry index.docker.io, from file /config.json"
watchtower  | time="2025-02-23T14:30:58Z" level=debug msg="Got image name: docker.io/tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:90724186f0a3517cf6914295b5ab410db9ce23190a2d9d0b9dd6463e3fa298f0"
watchtower  | time="2025-02-23T14:30:58Z" level=debug msg="Credentials loaded"
watchtower  | time="2025-02-23T14:30:58Z" level=debug msg="Checking if pull is needed" container=/immich_postgres image="docker.io/tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:90724186f0a3517cf6914295b5ab410db9ce23190a2d9d0b9dd6463e3fa298f0"
watchtower  | time="2025-02-23T14:30:58Z" level=debug msg="Built challenge URL" URL="https://index.docker.io/v2/"
watchtower  | time="2025-02-23T14:30:58Z" level=debug msg="Got response to challenge request" header="Bearer realm=\"https://auth.docker.io/token\",service=\"registry.docker.io\"" status="401 Unauthorized"
watchtower  | time="2025-02-23T14:30:58Z" level=debug msg="Checking challenge header content" realm="https://auth.docker.io/token" service=registry.docker.io
watchtower  | time="2025-02-23T14:30:58Z" level=debug msg="Setting scope for auth token" image=docker.io/tensorchord/pgvecto-rs scope="repository:tensorchord/pgvecto-rs:pull"
watchtower  | time="2025-02-23T14:30:58Z" level=debug msg="Credentials found."
watchtower  | time="2025-02-23T14:30:58Z" level=warning msg="Could not do a head request for \"docker.io/tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:90724186f0a3517cf6914295b5ab410db9ce23190a2d9d0b9dd6463e3fa298f0\", falling back to regular pull." container=/immich_postgres image="docker.io/tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:90724186f0a3517cf6914295b5ab410db9ce23190a2d9d0b9dd6463e3fa298f0"
watchtower  | time="2025-02-23T14:30:58Z" level=warning msg="Reason: Parsed container image ref has no tag: docker.io/tensorchord/pgvecto-rs@sha256:90724186f0a3517cf6914295b5ab410db9ce23190a2d9d0b9dd6463e3fa298f0" container=/immich_postgres image="docker.io/tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:90724186f0a3517cf6914295b5ab410db9ce23190a2d9d0b9dd6463e3fa298f0"
watchtower  | time="2025-02-23T14:30:58Z" level=debug msg="Pulling image" container=/immich_postgres image="docker.io/tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:90724186f0a3517cf6914295b5ab410db9ce23190a2d9d0b9dd6463e3fa298f0"
watchtower  | time="2025-02-23T14:31:00Z" level=debug msg="No new images found for /immich_postgres"
watchtower  | time="2025-02-23T14:31:00Z" level=debug msg="Trying to load authentication credentials." container=/immich_machine_learning image="ghcr.io/immich-app/immich-machine-learning:release-cuda"
watchtower  | time="2025-02-23T14:31:00Z" level=debug msg="No credentials for ghcr.io found" config_file=/config.json
watchtower  | time="2025-02-23T14:31:00Z" level=debug msg="Got image name: ghcr.io/immich-app/immich-machine-learning:release-cuda"
watchtower  | time="2025-02-23T14:31:00Z" level=debug msg="Checking if pull is needed" container=/immich_machine_learning image="ghcr.io/immich-app/immich-machine-learning:release-cuda"
watchtower  | time="2025-02-23T14:31:00Z" level=debug msg="Built challenge URL" URL="https://ghcr.io/v2/"
watchtower  | time="2025-02-23T14:31:00Z" level=debug msg="Got response to challenge request" header="Bearer realm=\"https://ghcr.io/token\",service=\"ghcr.io\",scope=\"repository:user/image:pull\"" status="401 Unauthorized"
watchtower  | time="2025-02-23T14:31:00Z" level=debug msg="Checking challenge header content" realm="https://ghcr.io/token" service=ghcr.io
watchtower  | time="2025-02-23T14:31:00Z" level=debug msg="Setting scope for auth token" image=ghcr.io/immich-app/immich-machine-learning scope="repository:immich-app/immich-machine-learning:pull"
watchtower  | time="2025-02-23T14:31:00Z" level=debug msg="No credentials found."
watchtower  | time="2025-02-23T14:31:00Z" level=debug msg="Parsing image ref" host=ghcr.io image=immich-app/immich-machine-learning normalized=ghcr.io/immich-app/immich-machine-learning tag=release-cuda
watchtower  | time="2025-02-23T14:31:00Z" level=debug msg="Doing a HEAD request to fetch a digest" url="https://ghcr.io/v2/immich-app/immich-machine-learning/manifests/release-cuda"
watchtower  | time="2025-02-23T14:31:00Z" level=debug msg="Found a remote digest to compare with" remote="sha256:a1d7eb9bc5acd73e1de674e6655b934f9c89116eb76af41c41b65053ddcf4bff"
watchtower  | time="2025-02-23T14:31:00Z" level=debug msg=Comparing local="sha256:a1d7eb9bc5acd73e1de674e6655b934f9c89116eb76af41c41b65053ddcf4bff" remote="sha256:a1d7eb9bc5acd73e1de674e6655b934f9c89116eb76af41c41b65053ddcf4bff"
watchtower  | time="2025-02-23T14:31:00Z" level=debug msg="Found a match"
watchtower  | time="2025-02-23T14:31:00Z" level=debug msg="No pull needed. Skipping image."
watchtower  | time="2025-02-23T14:31:00Z" level=debug msg="No new images found for /immich_machine_learning"
watchtower  | time="2025-02-23T14:31:00Z" level=debug msg="Trying to load authentication credentials." container=/opengist image="ghcr.io/thomiceli/opengist:1.8"
watchtower  | time="2025-02-23T14:31:00Z" level=debug msg="No credentials for ghcr.io found" config_file=/config.json
watchtower  | time="2025-02-23T14:31:00Z" level=debug msg="Got image name: ghcr.io/thomiceli/opengist:1.8"
watchtower  | time="2025-02-23T14:31:00Z" level=debug msg="Checking if pull is needed" container=/opengist image="ghcr.io/thomiceli/opengist:1.8"
watchtower  | time="2025-02-23T14:31:00Z" level=debug msg="Built challenge URL" URL="https://ghcr.io/v2/"
watchtower  | time="2025-02-23T14:31:00Z" level=debug msg="Got response to challenge request" header="Bearer realm=\"https://ghcr.io/token\",service=\"ghcr.io\",scope=\"repository:user/image:pull\"" status="401 Unauthorized"
watchtower  | time="2025-02-23T14:31:00Z" level=debug msg="Checking challenge header content" realm="https://ghcr.io/token" service=ghcr.io
watchtower  | time="2025-02-23T14:31:00Z" level=debug msg="Setting scope for auth token" image=ghcr.io/thomiceli/opengist scope="repository:thomiceli/opengist:pull"
watchtower  | time="2025-02-23T14:31:00Z" level=debug msg="No credentials found."
watchtower  | time="2025-02-23T14:31:00Z" level=debug msg="Parsing image ref" host=ghcr.io image=thomiceli/opengist normalized=ghcr.io/thomiceli/opengist tag=1.8
watchtower  | time="2025-02-23T14:31:00Z" level=debug msg="Doing a HEAD request to fetch a digest" url="https://ghcr.io/v2/thomiceli/opengist/manifests/1.8"
watchtower  | time="2025-02-23T14:31:01Z" level=debug msg="Skipped another update already running."
watchtower  | time="2025-02-23T14:31:01Z" level=debug msg="Scheduled next run: 2025-02-23 14:31:11 +0000 UTC"
watchtower  | time="2025-02-23T14:31:01Z" level=debug msg="Found a remote digest to compare with" remote="sha256:c385001a3efdebe03f075a38145890d234412bd5a879ff04f5f39a033bdd8eac"
watchtower  | time="2025-02-23T14:31:01Z" level=debug msg=Comparing local="sha256:c385001a3efdebe03f075a38145890d234412bd5a879ff04f5f39a033bdd8eac" remote="sha256:c385001a3efdebe03f075a38145890d234412bd5a879ff04f5f39a033bdd8eac"
watchtower  | time="2025-02-23T14:31:01Z" level=debug msg="Found a match"
watchtower  | time="2025-02-23T14:31:01Z" level=debug msg="No pull needed. Skipping image."
watchtower  | time="2025-02-23T14:31:01Z" level=debug msg="No new images found for /opengist"
watchtower  | time="2025-02-23T14:31:01Z" level=debug msg="Trying to load authentication credentials." container=/mumble-server image="mumblevoip/mumble-server:latest"
watchtower  | time="2025-02-23T14:31:01Z" level=debug msg="Loaded auth credentials for user david.vanitas@proton.me, on registry index.docker.io, from file /config.json"
watchtower  | time="2025-02-23T14:31:01Z" level=debug msg="Got image name: mumblevoip/mumble-server:latest"
watchtower  | time="2025-02-23T14:31:01Z" level=debug msg="Credentials loaded"
watchtower  | time="2025-02-23T14:31:01Z" level=debug msg="Checking if pull is needed" container=/mumble-server image="mumblevoip/mumble-server:latest"
watchtower  | time="2025-02-23T14:31:01Z" level=debug msg="Built challenge URL" URL="https://index.docker.io/v2/"
watchtower  | time="2025-02-23T14:31:02Z" level=debug msg="Got response to challenge request" header="Bearer realm=\"https://auth.docker.io/token\",service=\"registry.docker.io\"" status="401 Unauthorized"
watchtower  | time="2025-02-23T14:31:02Z" level=debug msg="Checking challenge header content" realm="https://auth.docker.io/token" service=registry.docker.io
watchtower  | time="2025-02-23T14:31:02Z" level=debug msg="Setting scope for auth token" image=docker.io/mumblevoip/mumble-server scope="repository:mumblevoip/mumble-server:pull"
watchtower  | time="2025-02-23T14:31:02Z" level=debug msg="Credentials found."
watchtower  | time="2025-02-23T14:31:03Z" level=debug msg="Parsing image ref" host=index.docker.io image=mumblevoip/mumble-server normalized=docker.io/mumblevoip/mumble-server tag=latest
watchtower  | time="2025-02-23T14:31:03Z" level=debug msg="Doing a HEAD request to fetch a digest" url="https://index.docker.io/v2/mumblevoip/mumble-server/manifests/latest"
Gracefully stopping... (press Ctrl+C again to force)
[+] Stopping 1/1
 ✔ Container watchtower  Stopped

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workinghelp wantedExtra attention is needed

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions