Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Missing container name in status notification #1789

Open
thelfensdrfer opened this issue Oct 5, 2023 · 5 comments
Open

Missing container name in status notification #1789

thelfensdrfer opened this issue Oct 5, 2023 · 5 comments

Comments

@thelfensdrfer
Copy link

thelfensdrfer commented Oct 5, 2023

Describe the bug

Watchtower cannot update two of my containers, which is absolutely not watchtowers fault. This issue is not about the error itself but the formatting of the log and the lack of additional information (e.g. the container names).

The complete email (with notification level set to "debug") says:

command exited with code 126  OCI runtime exec failed: exec failed: unable to start container process: error loading seccomp filter into kernel: error loading seccomp filter: errno 524: unknown
command exited with code 126  OCI runtime exec failed: exec failed: unable to start container process: error loading seccomp filter into kernel: error loading seccomp filter: errno 524: unknown

The complete config:

services:
    watchtower:
        image: containrrr/watchtower:latest
        restart: unless-stopped
        volumes:
            - /var/run/docker.sock:/var/run/docker.sock
        environment:
            WATCHTOWER_NOTIFICATIONS: email
            WATCHTOWER_NOTIFICATIONS_LEVEL: debug
            WATCHTOWER_NOTIFICATION_EMAIL_FROM: ****
            WATCHTOWER_NOTIFICATION_EMAIL_TO: ****
            WATCHTOWER_NOTIFICATION_EMAIL_SERVER: ****
            WATCHTOWER_NOTIFICATION_EMAIL_SERVER_USER: ****
            WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PASSWORD: "****"
            WATCHTOWER_NOTIFICATION_EMAIL_SUBJECTTAG: "****"
            WATCHTOWER_LIFECYCLE_HOOKS: "true"
            WATCHTOWER_HTTP_API_METRICS: "true"
            WATCHTOWER_HTTP_API_TOKEN: "****"
            WATCHTOWER_SCHEDULE: "0 0 * * * *"
            WATCHTOWER_CLEANUP: "true"
            WATCHTOWER_TIMEOUT: "30s"
            VIRTUAL_HOST: ****
            VIRTUAL_PORT: 8080
            LETSENCRYPT_HOST: ****
            LETSENCRYPT_EMAIL: ****

The watcher docker log repeats every hour:

watchtower_1  | time="2023-10-05T09:00:34Z" level=info msg="Session done" Failed=0 Scanned=29 Updated=0 notify=no

Steps to reproduce

/

Expected behavior

Add the names to the notifications, e.g.:

container_bla_1:
command exited with code 126  OCI runtime exec failed: exec failed: unable to start container process: error loading seccomp filter into kernel: error loading seccomp filter: errno 524: unknown

container_blu_2:
command exited with code 126  OCI runtime exec failed: exec failed: unable to start container process: error loading seccomp filter into kernel: error loading seccomp filter: errno 524: unknown

Screenshots

No response

Environment

LSB Version:	:core-4.1-amd64:core-4.1-noarch
Distributor ID:	Rocky
Description:	Rocky Linux release 8.8 (Green Obsidian)

64 bit
Docker version 24.0.6, build ed223bc

Your logs

DEBU[0000] Sleeping for a second to ensure the docker api client has been properly initialized. 
DEBU[0001] Making sure everything is sane before starting 
INFO[0001] Watchtower 1.6.0                             
INFO[0001] Using no notifications                       
INFO[0001] Checking all containers (except explicitly disabled with label) 
INFO[0001] Running a one time update.                   
DEBU[0001] Checking containers for updated images       
DEBU[0001] Retrieving running containers                
DEBU[0001] Trying to load authentication credentials.    container=/watchtower-watchtower-run-96c73d698c70 image="containrrr/watchtower:latest"
DEBU[0001] No credentials for index.docker.io found      config_file=/config.json
DEBU[0001] Got image name: containrrr/watchtower:latest 
DEBU[0001] Checking if pull is needed                    container=/watchtower-watchtower-run-96c73d698c70 image="containrrr/watchtower:latest"
DEBU[0001] Built challenge URL                           URL="https://index.docker.io/v2/"
DEBU[0001] Got response to challenge request             header="Bearer realm=\"https://auth.docker.io/token\",service=\"registry.docker.io\"" status="401 Unauthorized"
DEBU[0001] Checking challenge header content             realm="https://auth.docker.io/token" service=registry.docker.io
DEBU[0001] Setting scope for auth token                  image=docker.io/containrrr/watchtower scope="repository:containrrr/watchtower:pull"
DEBU[0001] No credentials found.                        
DEBU[0001] Parsing image ref                             host=index.docker.io image=containrrr/watchtower normalized=docker.io/containrrr/watchtower tag=latest
DEBU[0001] Doing a HEAD request to fetch a digest        url="https://index.docker.io/v2/containrrr/watchtower/manifests/latest"
DEBU[0002] Found a remote digest to compare with         remote="sha256:0fa12e1998691a9c2aba7a16325888125ca2c1b8c4e4277890ffc734150d0ab6"
DEBU[0002] Comparing                                     local="sha256:0fa12e1998691a9c2aba7a16325888125ca2c1b8c4e4277890ffc734150d0ab6" remote="sha256:0fa12e1998691a9c2aba7a16325888125ca2c1b8c4e4277890ffc734150d0ab6"
DEBU[0002] Found a match                                
DEBU[0002] No pull needed. Skipping image.              
DEBU[0002] No new images found for /watchtower-watchtower-run-96c73d698c70 
DEBU[0002] Trying to load authentication credentials.    container=/aow-mysql-1 image="mysql:5.7"
DEBU[0002] No credentials for index.docker.io found      config_file=/config.json
DEBU[0002] Got image name: mysql:5.7                    
DEBU[0002] Checking if pull is needed                    container=/aow-mysql-1 image="mysql:5.7"
DEBU[0002] Built challenge URL                           URL="https://index.docker.io/v2/"
DEBU[0002] Got response to challenge request             header="Bearer realm=\"https://auth.docker.io/token\",service=\"registry.docker.io\"" status="401 Unauthorized"
DEBU[0002] Checking challenge header content             realm="https://auth.docker.io/token" service=registry.docker.io
DEBU[0002] Setting scope for auth token                  image=docker.io/library/mysql scope="repository:library/mysql:pull"
DEBU[0002] No credentials found.                        
DEBU[0002] Parsing image ref                             host=index.docker.io image=library/mysql normalized=docker.io/library/mysql tag=5.7
DEBU[0002] Doing a HEAD request to fetch a digest        url="https://index.docker.io/v2/library/mysql/manifests/5.7"
DEBU[0002] Found a remote digest to compare with         remote="sha256:a06310bb26d02a6118ae7fa825c172a0bf594e178c72230fc31674f348033270"
DEBU[0002] Comparing                                     local="sha256:a06310bb26d02a6118ae7fa825c172a0bf594e178c72230fc31674f348033270" remote="sha256:a06310bb26d02a6118ae7fa825c172a0bf594e178c72230fc31674f348033270"
DEBU[0002] Found a match                                
DEBU[0002] No pull needed. Skipping image.              
DEBU[0002] No new images found for /aow-mysql-1         
DEBU[0002] Trying to load authentication credentials.    container=/graylog-graylog-1 image="graylog/graylog:5.1"
DEBU[0002] No credentials for index.docker.io found      config_file=/config.json
DEBU[0002] Got image name: graylog/graylog:5.1          
DEBU[0002] Checking if pull is needed                    container=/graylog-graylog-1 image="graylog/graylog:5.1"
DEBU[0002] Built challenge URL                           URL="https://index.docker.io/v2/"
DEBU[0003] Got response to challenge request             header="Bearer realm=\"https://auth.docker.io/token\",service=\"registry.docker.io\"" status="401 Unauthorized"
DEBU[0003] Checking challenge header content             realm="https://auth.docker.io/token" service=registry.docker.io
DEBU[0003] Setting scope for auth token                  image=docker.io/graylog/graylog scope="repository:graylog/graylog:pull"
DEBU[0003] No credentials found.                        
DEBU[0003] Parsing image ref                             host=index.docker.io image=graylog/graylog normalized=docker.io/graylog/graylog tag=5.1
DEBU[0003] Doing a HEAD request to fetch a digest        url="https://index.docker.io/v2/graylog/graylog/manifests/5.1"
DEBU[0003] Found a remote digest to compare with         remote="sha256:426e0a32bb422368f7db2984125718ee6e00022ea142828007e7c01cbb5018c3"
DEBU[0003] Comparing                                     local="sha256:426e0a32bb422368f7db2984125718ee6e00022ea142828007e7c01cbb5018c3" remote="sha256:426e0a32bb422368f7db2984125718ee6e00022ea142828007e7c01cbb5018c3"
DEBU[0003] Found a match                                
DEBU[0003] No pull needed. Skipping image.              
DEBU[0003] No new images found for /graylog-graylog-1   
DEBU[0003] Trying to load authentication credentials.    container=/healthchecks image="lscr.io/linuxserver/healthchecks:latest"
DEBU[0003] No credentials for lscr.io found              config_file=/config.json
DEBU[0003] Got image name: lscr.io/linuxserver/healthchecks:latest 
DEBU[0003] Checking if pull is needed                    container=/healthchecks image="lscr.io/linuxserver/healthchecks:latest"
DEBU[0003] Built challenge URL                           URL="https://lscr.io/v2/"
DEBU[0004] Got response to challenge request             header="Bearer realm=\"https://ghcr.io/token\",service=\"ghcr.io\",scope=\"repository:user/image:pull\"" status="401 Unauthorized"
DEBU[0004] Checking challenge header content             realm="https://ghcr.io/token" service=ghcr.io
DEBU[0004] Setting scope for auth token                  image=lscr.io/linuxserver/healthchecks scope="repository:linuxserver/healthchecks:pull"
DEBU[0004] No credentials found.                        
DEBU[0004] Parsing image ref                             host=lscr.io image=linuxserver/healthchecks normalized=lscr.io/linuxserver/healthchecks tag=latest
DEBU[0004] Doing a HEAD request to fetch a digest        url="https://lscr.io/v2/linuxserver/healthchecks/manifests/latest"
DEBU[0004] Could not do a head request for "lscr.io/linuxserver/healthchecks:latest", falling back to regular pull.  container=/healthchecks image="lscr.io/linuxserver/healthchecks:latest"
DEBU[0004] Reason: registry responded to head request with "401 Unauthorized", auth: "Bearer realm=\"https://ghcr.io/token\",service=\"ghcr.io\",scope=\"repository:linuxserver/healthchecks:pull\""  container=/healthchecks image="lscr.io/linuxserver/healthchecks:latest"
DEBU[0004] Pulling image                                 container=/healthchecks image="lscr.io/linuxserver/healthchecks:latest"
DEBU[0004] No new images found for /healthchecks        
DEBU[0004] Trying to load authentication credentials.    container=/codigyde-nginx-1 image="nginx:1.21-alpine"
DEBU[0004] No credentials for index.docker.io found      config_file=/config.json
DEBU[0004] Got image name: nginx:1.21-alpine            
DEBU[0004] Checking if pull is needed                    container=/codigyde-nginx-1 image="nginx:1.21-alpine"
DEBU[0004] Built challenge URL                           URL="https://index.docker.io/v2/"
DEBU[0005] Got response to challenge request             header="Bearer realm=\"https://auth.docker.io/token\",service=\"registry.docker.io\"" status="401 Unauthorized"
DEBU[0005] Checking challenge header content             realm="https://auth.docker.io/token" service=registry.docker.io
DEBU[0005] Setting scope for auth token                  image=docker.io/library/nginx scope="repository:library/nginx:pull"
DEBU[0005] No credentials found.                        
DEBU[0005] Parsing image ref                             host=index.docker.io image=library/nginx normalized=docker.io/library/nginx tag=1.21-alpine
DEBU[0005] Doing a HEAD request to fetch a digest        url="https://index.docker.io/v2/library/nginx/manifests/1.21-alpine"
DEBU[0005] Found a remote digest to compare with         remote="sha256:a74534e76ee1121d418fa7394ca930eb67440deda413848bc67c68138535b989"
DEBU[0005] Comparing                                     local="sha256:a74534e76ee1121d418fa7394ca930eb67440deda413848bc67c68138535b989" remote="sha256:a74534e76ee1121d418fa7394ca930eb67440deda413848bc67c68138535b989"
DEBU[0005] Found a match                                
DEBU[0005] No pull needed. Skipping image.              
DEBU[0005] No new images found for /codigyde-nginx-1    
DEBU[0005] Trying to load authentication credentials.    container=/codigyde-db-1 image="mariadb:10"
DEBU[0005] No credentials for index.docker.io found      config_file=/config.json
DEBU[0005] Got image name: mariadb:10                   
DEBU[0005] Checking if pull is needed                    container=/codigyde-db-1 image="mariadb:10"
DEBU[0005] Built challenge URL                           URL="https://index.docker.io/v2/"
DEBU[0006] Got response to challenge request             header="Bearer realm=\"https://auth.docker.io/token\",service=\"registry.docker.io\"" status="401 Unauthorized"
DEBU[0006] Checking challenge header content             realm="https://auth.docker.io/token" service=registry.docker.io
DEBU[0006] Setting scope for auth token                  image=docker.io/library/mariadb scope="repository:library/mariadb:pull"
DEBU[0006] No credentials found.                        
DEBU[0006] Parsing image ref                             host=index.docker.io image=library/mariadb normalized=docker.io/library/mariadb tag=10
DEBU[0006] Doing a HEAD request to fetch a digest        url="https://index.docker.io/v2/library/mariadb/manifests/10"
DEBU[0006] Found a remote digest to compare with         remote="sha256:16b181cf0cbca0bc8e5f8ef3695a82c7bd9ba36cc4fc587f4b357c558faeeccd"
DEBU[0006] Comparing                                     local="sha256:16b181cf0cbca0bc8e5f8ef3695a82c7bd9ba36cc4fc587f4b357c558faeeccd" remote="sha256:16b181cf0cbca0bc8e5f8ef3695a82c7bd9ba36cc4fc587f4b357c558faeeccd"
DEBU[0006] Found a match                                
DEBU[0006] No pull needed. Skipping image.              
DEBU[0006] No new images found for /codigyde-db-1       
DEBU[0006] Trying to load authentication credentials.    container=/grafana-grafana-1 image="grafana/grafana:latest"
DEBU[0006] No credentials for index.docker.io found      config_file=/config.json
DEBU[0006] Got image name: grafana/grafana:latest       
DEBU[0006] Checking if pull is needed                    container=/grafana-grafana-1 image="grafana/grafana:latest"
DEBU[0006] Built challenge URL                           URL="https://index.docker.io/v2/"
DEBU[0006] Got response to challenge request             header="Bearer realm=\"https://auth.docker.io/token\",service=\"registry.docker.io\"" status="401 Unauthorized"
DEBU[0006] Checking challenge header content             realm="https://auth.docker.io/token" service=registry.docker.io
DEBU[0006] Setting scope for auth token                  image=docker.io/grafana/grafana scope="repository:grafana/grafana:pull"
DEBU[0006] No credentials found.                        
DEBU[0007] Parsing image ref                             host=index.docker.io image=grafana/grafana normalized=docker.io/grafana/grafana tag=latest
DEBU[0007] Doing a HEAD request to fetch a digest        url="https://index.docker.io/v2/grafana/grafana/manifests/latest"
DEBU[0007] Found a remote digest to compare with         remote="sha256:29f39e23705d3ef653fa84ca3c01731e0771f1fedbd69ecb99868270cdeb0572"
DEBU[0007] Comparing                                     local="sha256:29f39e23705d3ef653fa84ca3c01731e0771f1fedbd69ecb99868270cdeb0572" remote="sha256:29f39e23705d3ef653fa84ca3c01731e0771f1fedbd69ecb99868270cdeb0572"
DEBU[0007] Found a match                                
DEBU[0007] No pull needed. Skipping image.              
DEBU[0007] No new images found for /grafana-grafana-1   
DEBU[0007] Trying to load authentication credentials.    container=/grafana-prometheus-1 image="prom/prometheus:latest"
DEBU[0007] No credentials for index.docker.io found      config_file=/config.json
DEBU[0007] Got image name: prom/prometheus:latest       
DEBU[0007] Checking if pull is needed                    container=/grafana-prometheus-1 image="prom/prometheus:latest"
DEBU[0007] Built challenge URL                           URL="https://index.docker.io/v2/"
DEBU[0007] Got response to challenge request             header="Bearer realm=\"https://auth.docker.io/token\",service=\"registry.docker.io\"" status="401 Unauthorized"
DEBU[0007] Checking challenge header content             realm="https://auth.docker.io/token" service=registry.docker.io
DEBU[0007] Setting scope for auth token                  image=docker.io/prom/prometheus scope="repository:prom/prometheus:pull"
DEBU[0007] No credentials found.                        
DEBU[0007] Parsing image ref                             host=index.docker.io image=prom/prometheus normalized=docker.io/prom/prometheus tag=latest
DEBU[0007] Doing a HEAD request to fetch a digest        url="https://index.docker.io/v2/prom/prometheus/manifests/latest"
DEBU[0008] Found a remote digest to compare with         remote="sha256:089b3beab1304d83280c589a81f6f72ca42006910ff903ea3cf25f97fddc49ea"
DEBU[0008] Comparing                                     local="sha256:089b3beab1304d83280c589a81f6f72ca42006910ff903ea3cf25f97fddc49ea" remote="sha256:089b3beab1304d83280c589a81f6f72ca42006910ff903ea3cf25f97fddc49ea"
DEBU[0008] Found a match                                
DEBU[0008] No pull needed. Skipping image.              
DEBU[0008] No new images found for /grafana-prometheus-1 
DEBU[0008] Trying to load authentication credentials.    container=/grafana-pushgateway-1 image="prom/pushgateway:latest"
DEBU[0008] No credentials for index.docker.io found      config_file=/config.json
DEBU[0008] Got image name: prom/pushgateway:latest      
DEBU[0008] Checking if pull is needed                    container=/grafana-pushgateway-1 image="prom/pushgateway:latest"
DEBU[0008] Built challenge URL                           URL="https://index.docker.io/v2/"
DEBU[0008] Got response to challenge request             header="Bearer realm=\"https://auth.docker.io/token\",service=\"registry.docker.io\"" status="401 Unauthorized"
DEBU[0008] Checking challenge header content             realm="https://auth.docker.io/token" service=registry.docker.io
DEBU[0008] Setting scope for auth token                  image=docker.io/prom/pushgateway scope="repository:prom/pushgateway:pull"
DEBU[0008] No credentials found.                        
DEBU[0008] Parsing image ref                             host=index.docker.io image=prom/pushgateway normalized=docker.io/prom/pushgateway tag=latest
DEBU[0008] Doing a HEAD request to fetch a digest        url="https://index.docker.io/v2/prom/pushgateway/manifests/latest"
DEBU[0008] Found a remote digest to compare with         remote="sha256:979a69ab4a4016c89f2b1c53dacaf6190cd676c9d55f7659aabdd208ba48b7c7"
DEBU[0008] Comparing                                     local="sha256:979a69ab4a4016c89f2b1c53dacaf6190cd676c9d55f7659aabdd208ba48b7c7" remote="sha256:979a69ab4a4016c89f2b1c53dacaf6190cd676c9d55f7659aabdd208ba48b7c7"
DEBU[0008] Found a match                                
DEBU[0008] No pull needed. Skipping image.              
DEBU[0008] No new images found for /grafana-pushgateway-1 
DEBU[0008] Trying to load authentication credentials.    container=/aow-backend-nginx-1 image="nginx:1.21-alpine"
DEBU[0008] No credentials for index.docker.io found      config_file=/config.json
DEBU[0008] Got image name: nginx:1.21-alpine            
DEBU[0008] Checking if pull is needed                    container=/aow-backend-nginx-1 image="nginx:1.21-alpine"
DEBU[0008] Built challenge URL                           URL="https://index.docker.io/v2/"
DEBU[0009] Got response to challenge request             header="Bearer realm=\"https://auth.docker.io/token\",service=\"registry.docker.io\"" status="401 Unauthorized"
DEBU[0009] Checking challenge header content             realm="https://auth.docker.io/token" service=registry.docker.io
DEBU[0009] Setting scope for auth token                  image=docker.io/library/nginx scope="repository:library/nginx:pull"
DEBU[0009] No credentials found.                        
DEBU[0009] Parsing image ref                             host=index.docker.io image=library/nginx normalized=docker.io/library/nginx tag=1.21-alpine
DEBU[0009] Doing a HEAD request to fetch a digest        url="https://index.docker.io/v2/library/nginx/manifests/1.21-alpine"
DEBU[0009] Found a remote digest to compare with         remote="sha256:a74534e76ee1121d418fa7394ca930eb67440deda413848bc67c68138535b989"
DEBU[0009] Comparing                                     local="sha256:a74534e76ee1121d418fa7394ca930eb67440deda413848bc67c68138535b989" remote="sha256:a74534e76ee1121d418fa7394ca930eb67440deda413848bc67c68138535b989"
DEBU[0009] Found a match                                
DEBU[0009] No pull needed. Skipping image.              
DEBU[0009] No new images found for /aow-backend-nginx-1 
DEBU[0009] Trying to load authentication credentials.    container=/aow-frontend-nginx-1 image="nginx:1.21-alpine"
DEBU[0009] No credentials for index.docker.io found      config_file=/config.json
DEBU[0009] Got image name: nginx:1.21-alpine            
DEBU[0009] Checking if pull is needed                    container=/aow-frontend-nginx-1 image="nginx:1.21-alpine"
DEBU[0009] Built challenge URL                           URL="https://index.docker.io/v2/"
DEBU[0010] Got response to challenge request             header="Bearer realm=\"https://auth.docker.io/token\",service=\"registry.docker.io\"" status="401 Unauthorized"
DEBU[0010] Checking challenge header content             realm="https://auth.docker.io/token" service=registry.docker.io
DEBU[0010] Setting scope for auth token                  image=docker.io/library/nginx scope="repository:library/nginx:pull"
DEBU[0010] No credentials found.                        
DEBU[0010] Parsing image ref                             host=index.docker.io image=library/nginx normalized=docker.io/library/nginx tag=1.21-alpine
DEBU[0010] Doing a HEAD request to fetch a digest        url="https://index.docker.io/v2/library/nginx/manifests/1.21-alpine"
DEBU[0010] Found a remote digest to compare with         remote="sha256:a74534e76ee1121d418fa7394ca930eb67440deda413848bc67c68138535b989"
DEBU[0010] Comparing                                     local="sha256:a74534e76ee1121d418fa7394ca930eb67440deda413848bc67c68138535b989" remote="sha256:a74534e76ee1121d418fa7394ca930eb67440deda413848bc67c68138535b989"
DEBU[0010] Found a match                                
DEBU[0010] No pull needed. Skipping image.              
DEBU[0010] No new images found for /aow-frontend-nginx-1 
DEBU[0010] Trying to load authentication credentials.    container=/aow-couchdb-nginx-1 image="nginx:1.21-alpine"
DEBU[0010] No credentials for index.docker.io found      config_file=/config.json
DEBU[0010] Got image name: nginx:1.21-alpine            
DEBU[0010] Checking if pull is needed                    container=/aow-couchdb-nginx-1 image="nginx:1.21-alpine"
DEBU[0010] Built challenge URL                           URL="https://index.docker.io/v2/"
DEBU[0010] Got response to challenge request             header="Bearer realm=\"https://auth.docker.io/token\",service=\"registry.docker.io\"" status="401 Unauthorized"
DEBU[0010] Checking challenge header content             realm="https://auth.docker.io/token" service=registry.docker.io
DEBU[0010] Setting scope for auth token                  image=docker.io/library/nginx scope="repository:library/nginx:pull"
DEBU[0010] No credentials found.                        
DEBU[0011] Parsing image ref                             host=index.docker.io image=library/nginx normalized=docker.io/library/nginx tag=1.21-alpine
DEBU[0011] Doing a HEAD request to fetch a digest        url="https://index.docker.io/v2/library/nginx/manifests/1.21-alpine"
DEBU[0011] Found a remote digest to compare with         remote="sha256:a74534e76ee1121d418fa7394ca930eb67440deda413848bc67c68138535b989"
DEBU[0011] Comparing                                     local="sha256:a74534e76ee1121d418fa7394ca930eb67440deda413848bc67c68138535b989" remote="sha256:a74534e76ee1121d418fa7394ca930eb67440deda413848bc67c68138535b989"
DEBU[0011] Found a match                                
DEBU[0011] No pull needed. Skipping image.              
DEBU[0011] No new images found for /aow-couchdb-nginx-1 
DEBU[0011] Trying to load authentication credentials.    container=/aow-couchdb-1 image="couchdb:3.2"
DEBU[0011] No credentials for index.docker.io found      config_file=/config.json
DEBU[0011] Got image name: couchdb:3.2                  
DEBU[0011] Checking if pull is needed                    container=/aow-couchdb-1 image="couchdb:3.2"
DEBU[0011] Built challenge URL                           URL="https://index.docker.io/v2/"
DEBU[0011] Got response to challenge request             header="Bearer realm=\"https://auth.docker.io/token\",service=\"registry.docker.io\"" status="401 Unauthorized"
DEBU[0011] Checking challenge header content             realm="https://auth.docker.io/token" service=registry.docker.io
DEBU[0011] Setting scope for auth token                  image=docker.io/library/couchdb scope="repository:library/couchdb:pull"
DEBU[0011] No credentials found.                        
DEBU[0011] Parsing image ref                             host=index.docker.io image=library/couchdb normalized=docker.io/library/couchdb tag=3.2
DEBU[0011] Doing a HEAD request to fetch a digest        url="https://index.docker.io/v2/library/couchdb/manifests/3.2"
DEBU[0012] Found a remote digest to compare with         remote="sha256:af2288c800ff4b8b21d51df3a1097ae320b2a72ee6b3637904fcc139f014530a"
DEBU[0012] Comparing                                     local="sha256:af2288c800ff4b8b21d51df3a1097ae320b2a72ee6b3637904fcc139f014530a" remote="sha256:af2288c800ff4b8b21d51df3a1097ae320b2a72ee6b3637904fcc139f014530a"
DEBU[0012] Found a match                                
DEBU[0012] No pull needed. Skipping image.              
DEBU[0012] No new images found for /aow-couchdb-1       
DEBU[0012] Trying to load authentication credentials.    container=/graylog-mongodb-1 image="mongo:5.0"
DEBU[0012] No credentials for index.docker.io found      config_file=/config.json
DEBU[0012] Got image name: mongo:5.0                    
DEBU[0012] Checking if pull is needed                    container=/graylog-mongodb-1 image="mongo:5.0"
DEBU[0012] Built challenge URL                           URL="https://index.docker.io/v2/"
DEBU[0012] Got response to challenge request             header="Bearer realm=\"https://auth.docker.io/token\",service=\"registry.docker.io\"" status="401 Unauthorized"
DEBU[0012] Checking challenge header content             realm="https://auth.docker.io/token" service=registry.docker.io
DEBU[0012] Setting scope for auth token                  image=docker.io/library/mongo scope="repository:library/mongo:pull"
DEBU[0012] No credentials found.                        
DEBU[0012] Parsing image ref                             host=index.docker.io image=library/mongo normalized=docker.io/library/mongo tag=5.0
DEBU[0012] Doing a HEAD request to fetch a digest        url="https://index.docker.io/v2/library/mongo/manifests/5.0"
DEBU[0013] Found a remote digest to compare with         remote="sha256:01265baf83280e22bce169e3b1b9a40d83219193717728153fe6c56a174a6748"
DEBU[0013] Comparing                                     local="sha256:01265baf83280e22bce169e3b1b9a40d83219193717728153fe6c56a174a6748" remote="sha256:01265baf83280e22bce169e3b1b9a40d83219193717728153fe6c56a174a6748"
DEBU[0013] Found a match                                
DEBU[0013] No pull needed. Skipping image.              
DEBU[0013] No new images found for /graylog-mongodb-1   
DEBU[0013] Trying to load authentication credentials.    container=/nginx-web image="nginx:latest"
DEBU[0013] No credentials for index.docker.io found      config_file=/config.json
DEBU[0013] Got image name: nginx:latest                 
DEBU[0013] Checking if pull is needed                    container=/nginx-web image="nginx:latest"
DEBU[0013] Built challenge URL                           URL="https://index.docker.io/v2/"
DEBU[0013] Got response to challenge request             header="Bearer realm=\"https://auth.docker.io/token\",service=\"registry.docker.io\"" status="401 Unauthorized"
DEBU[0013] Checking challenge header content             realm="https://auth.docker.io/token" service=registry.docker.io
DEBU[0013] Setting scope for auth token                  image=docker.io/library/nginx scope="repository:library/nginx:pull"
DEBU[0013] No credentials found.                        
DEBU[0013] Parsing image ref                             host=index.docker.io image=library/nginx normalized=docker.io/library/nginx tag=latest
DEBU[0013] Doing a HEAD request to fetch a digest        url="https://index.docker.io/v2/library/nginx/manifests/latest"
DEBU[0013] Found a remote digest to compare with         remote="sha256:32da30332506740a2f7c34d5dc70467b7f14ec67d912703568daff790ab3f755"
DEBU[0013] Comparing                                     local="sha256:32da30332506740a2f7c34d5dc70467b7f14ec67d912703568daff790ab3f755" remote="sha256:32da30332506740a2f7c34d5dc70467b7f14ec67d912703568daff790ab3f755"
DEBU[0013] Found a match                                
DEBU[0013] No pull needed. Skipping image.              
DEBU[0013] No new images found for /nginx-web           
DEBU[0013] Trying to load authentication credentials.    container=/nginx-gen image="jwilder/docker-gen:latest"
DEBU[0013] No credentials for index.docker.io found      config_file=/config.json
DEBU[0013] Got image name: jwilder/docker-gen:latest    
DEBU[0013] Checking if pull is needed                    container=/nginx-gen image="jwilder/docker-gen:latest"
DEBU[0013] Built challenge URL                           URL="https://index.docker.io/v2/"
DEBU[0014] Got response to challenge request             header="Bearer realm=\"https://auth.docker.io/token\",service=\"registry.docker.io\"" status="401 Unauthorized"
DEBU[0014] Checking challenge header content             realm="https://auth.docker.io/token" service=registry.docker.io
DEBU[0014] Setting scope for auth token                  image=docker.io/jwilder/docker-gen scope="repository:jwilder/docker-gen:pull"
DEBU[0014] No credentials found.                        
DEBU[0014] Parsing image ref                             host=index.docker.io image=jwilder/docker-gen normalized=docker.io/jwilder/docker-gen tag=latest
DEBU[0014] Doing a HEAD request to fetch a digest        url="https://index.docker.io/v2/jwilder/docker-gen/manifests/latest"
DEBU[0014] Found a remote digest to compare with         remote="sha256:868a8933552524a12b47a5c8ce6089af5d11e19c233041d6bffbccbf8d87990b"
DEBU[0014] Comparing                                     local="sha256:868a8933552524a12b47a5c8ce6089af5d11e19c233041d6bffbccbf8d87990b" remote="sha256:868a8933552524a12b47a5c8ce6089af5d11e19c233041d6bffbccbf8d87990b"
DEBU[0014] Found a match                                
DEBU[0014] No pull needed. Skipping image.              
DEBU[0014] No new images found for /nginx-gen           
DEBU[0014] Trying to load authentication credentials.    container=/nginx-letsencrypt image="jrcs/letsencrypt-nginx-proxy-companion:latest"
DEBU[0014] No credentials for index.docker.io found      config_file=/config.json
DEBU[0014] Got image name: jrcs/letsencrypt-nginx-proxy-companion:latest 
DEBU[0014] Checking if pull is needed                    container=/nginx-letsencrypt image="jrcs/letsencrypt-nginx-proxy-companion:latest"
DEBU[0014] Built challenge URL                           URL="https://index.docker.io/v2/"
DEBU[0014] Got response to challenge request             header="Bearer realm=\"https://auth.docker.io/token\",service=\"registry.docker.io\"" status="401 Unauthorized"
DEBU[0014] Checking challenge header content             realm="https://auth.docker.io/token" service=registry.docker.io
DEBU[0014] Setting scope for auth token                  image=docker.io/jrcs/letsencrypt-nginx-proxy-companion scope="repository:jrcs/letsencrypt-nginx-proxy-companion:pull"
DEBU[0014] No credentials found.                        
DEBU[0015] Parsing image ref                             host=index.docker.io image=jrcs/letsencrypt-nginx-proxy-companion normalized=docker.io/jrcs/letsencrypt-nginx-proxy-companion tag=latest
DEBU[0015] Doing a HEAD request to fetch a digest        url="https://index.docker.io/v2/jrcs/letsencrypt-nginx-proxy-companion/manifests/latest"
DEBU[0015] Found a remote digest to compare with         remote="sha256:ad9dac090a10048fcb2602936c2cb6ac8f61452a67cd2861fe254e0ecd4c7a74"
DEBU[0015] Comparing                                     local="sha256:ad9dac090a10048fcb2602936c2cb6ac8f61452a67cd2861fe254e0ecd4c7a74" remote="sha256:ad9dac090a10048fcb2602936c2cb6ac8f61452a67cd2861fe254e0ecd4c7a74"
DEBU[0015] Found a match                                
DEBU[0015] No pull needed. Skipping image.              
DEBU[0015] No new images found for /nginx-letsencrypt   
DEBU[0015] Trying to load authentication credentials.    container=/headers-php-1 image="php:8.0-fpm"
DEBU[0015] No credentials for index.docker.io found      config_file=/config.json
DEBU[0015] Got image name: php:8.0-fpm                  
DEBU[0015] Checking if pull is needed                    container=/headers-php-1 image="php:8.0-fpm"
DEBU[0015] Built challenge URL                           URL="https://index.docker.io/v2/"
DEBU[0015] Got response to challenge request             header="Bearer realm=\"https://auth.docker.io/token\",service=\"registry.docker.io\"" status="401 Unauthorized"
DEBU[0015] Checking challenge header content             realm="https://auth.docker.io/token" service=registry.docker.io
DEBU[0015] Setting scope for auth token                  image=docker.io/library/php scope="repository:library/php:pull"
DEBU[0015] No credentials found.                        
DEBU[0015] Parsing image ref                             host=index.docker.io image=library/php normalized=docker.io/library/php tag=8.0-fpm
DEBU[0015] Doing a HEAD request to fetch a digest        url="https://index.docker.io/v2/library/php/manifests/8.0-fpm"
DEBU[0016] Found a remote digest to compare with         remote="sha256:14bb5c1c9774f7bf63aebbc1b7b9b2e817daac77198e56569d1cdf1e2c7b72bb"
DEBU[0016] Comparing                                     local="sha256:14bb5c1c9774f7bf63aebbc1b7b9b2e817daac77198e56569d1cdf1e2c7b72bb" remote="sha256:14bb5c1c9774f7bf63aebbc1b7b9b2e817daac77198e56569d1cdf1e2c7b72bb"
DEBU[0016] Found a match                                
DEBU[0016] No pull needed. Skipping image.              
DEBU[0016] No new images found for /headers-php-1       
DEBU[0016] Trying to load authentication credentials.    container=/grafana-node-exporter-1 image="quay.io/prometheus/node-exporter:latest"
DEBU[0016] No credentials for quay.io found              config_file=/config.json
DEBU[0016] Got image name: quay.io/prometheus/node-exporter:latest 
DEBU[0016] Checking if pull is needed                    container=/grafana-node-exporter-1 image="quay.io/prometheus/node-exporter:latest"
DEBU[0016] Built challenge URL                           URL="https://quay.io/v2/"
DEBU[0016] Got response to challenge request             header="Bearer realm=\"https://quay.io/v2/auth\",service=\"quay.io\"" status="401 Unauthorized"
DEBU[0016] Checking challenge header content             realm="https://quay.io/v2/auth" service=quay.io
DEBU[0016] Setting scope for auth token                  image=quay.io/prometheus/node-exporter scope="repository:prometheus/node-exporter:pull"
DEBU[0016] No credentials found.                        
DEBU[0016] Parsing image ref                             host=quay.io image=prometheus/node-exporter normalized=quay.io/prometheus/node-exporter tag=latest
DEBU[0016] Doing a HEAD request to fetch a digest        url="https://quay.io/v2/prometheus/node-exporter/manifests/latest"
DEBU[0017] Found a remote digest to compare with         remote="sha256:81f94e50ea37a88dfee849d0f4acad25b96b397061f59e5095905f6bc5829637"
DEBU[0017] Comparing                                     local="sha256:81f94e50ea37a88dfee849d0f4acad25b96b397061f59e5095905f6bc5829637" remote="sha256:81f94e50ea37a88dfee849d0f4acad25b96b397061f59e5095905f6bc5829637"
DEBU[0017] Found a match                                
DEBU[0017] No pull needed. Skipping image.              
DEBU[0017] No new images found for /grafana-node-exporter-1 
DEBU[0017] Trying to load authentication credentials.    container=/grafana-nextcloud-exporter-1 image="ghcr.io/xperimental/nextcloud-exporter:latest"
DEBU[0017] No credentials for ghcr.io found              config_file=/config.json
DEBU[0017] Got image name: ghcr.io/xperimental/nextcloud-exporter:latest 
DEBU[0017] Checking if pull is needed                    container=/grafana-nextcloud-exporter-1 image="ghcr.io/xperimental/nextcloud-exporter:latest"
DEBU[0017] Built challenge URL                           URL="https://ghcr.io/v2/"
DEBU[0017] Got response to challenge request             header="Bearer realm=\"https://ghcr.io/token\",service=\"ghcr.io\",scope=\"repository:user/image:pull\"" status="401 Unauthorized"
DEBU[0017] Checking challenge header content             realm="https://ghcr.io/token" service=ghcr.io
DEBU[0017] Setting scope for auth token                  image=ghcr.io/xperimental/nextcloud-exporter scope="repository:xperimental/nextcloud-exporter:pull"
DEBU[0017] No credentials found.                        
DEBU[0017] Parsing image ref                             host=ghcr.io image=xperimental/nextcloud-exporter normalized=ghcr.io/xperimental/nextcloud-exporter tag=latest
DEBU[0017] Doing a HEAD request to fetch a digest        url="https://ghcr.io/v2/xperimental/nextcloud-exporter/manifests/latest"
DEBU[0017] Found a remote digest to compare with         remote="sha256:f264d465eb0a65f72c263e891f3e24ce6883ab7db534fa6eb7522eae04b910b7"
DEBU[0017] Comparing                                     local="sha256:f264d465eb0a65f72c263e891f3e24ce6883ab7db534fa6eb7522eae04b910b7" remote="sha256:f264d465eb0a65f72c263e891f3e24ce6883ab7db534fa6eb7522eae04b910b7"
DEBU[0017] Found a match                                
DEBU[0017] No pull needed. Skipping image.              
DEBU[0017] No new images found for /grafana-nextcloud-exporter-1 
DEBU[0017] Trying to load authentication credentials.    container=/grafana-cadvisor-1 image="gcr.io/cadvisor/cadvisor:v0.47.2"
DEBU[0017] No credentials for gcr.io found               config_file=/config.json
DEBU[0017] Got image name: gcr.io/cadvisor/cadvisor:v0.47.2 
DEBU[0017] Checking if pull is needed                    container=/grafana-cadvisor-1 image="gcr.io/cadvisor/cadvisor:v0.47.2"
DEBU[0017] Built challenge URL                           URL="https://gcr.io/v2/"
DEBU[0017] Got response to challenge request             header="Bearer realm=\"https://gcr.io/v2/token\",service=\"gcr.io\"" status="401 Unauthorized"
DEBU[0017] Checking challenge header content             realm="https://gcr.io/v2/token" service=gcr.io
DEBU[0017] Setting scope for auth token                  image=gcr.io/cadvisor/cadvisor scope="repository:cadvisor/cadvisor:pull"
DEBU[0017] No credentials found.                        
DEBU[0017] Parsing image ref                             host=gcr.io image=cadvisor/cadvisor normalized=gcr.io/cadvisor/cadvisor tag=v0.47.2
DEBU[0017] Doing a HEAD request to fetch a digest        url="https://gcr.io/v2/cadvisor/cadvisor/manifests/v0.47.2"
DEBU[0018] Found a remote digest to compare with         remote="sha256:78cf73632de30193dc249923fdfdb1d43ee7cfccbf64662991de89ff7c4b1fda"
DEBU[0018] Comparing                                     local="sha256:78cf73632de30193dc249923fdfdb1d43ee7cfccbf64662991de89ff7c4b1fda" remote="sha256:78cf73632de30193dc249923fdfdb1d43ee7cfccbf64662991de89ff7c4b1fda"
DEBU[0018] Found a match                                
DEBU[0018] No pull needed. Skipping image.              
DEBU[0018] No new images found for /grafana-cadvisor-1  
DEBU[0018] Trying to load authentication credentials.    container=/grafana-alertmanager-1 image="prom/alertmanager:v0.25.0"
DEBU[0018] No credentials for index.docker.io found      config_file=/config.json
DEBU[0018] Got image name: prom/alertmanager:v0.25.0    
DEBU[0018] Checking if pull is needed                    container=/grafana-alertmanager-1 image="prom/alertmanager:v0.25.0"
DEBU[0018] Built challenge URL                           URL="https://index.docker.io/v2/"
DEBU[0018] Got response to challenge request             header="Bearer realm=\"https://auth.docker.io/token\",service=\"registry.docker.io\"" status="401 Unauthorized"
DEBU[0018] Checking challenge header content             realm="https://auth.docker.io/token" service=registry.docker.io
DEBU[0018] Setting scope for auth token                  image=docker.io/prom/alertmanager scope="repository:prom/alertmanager:pull"
DEBU[0018] No credentials found.                        
DEBU[0018] Parsing image ref                             host=index.docker.io image=prom/alertmanager normalized=docker.io/prom/alertmanager tag=v0.25.0
DEBU[0018] Doing a HEAD request to fetch a digest        url="https://index.docker.io/v2/prom/alertmanager/manifests/v0.25.0"
DEBU[0019] Found a remote digest to compare with         remote="sha256:fd4d9a3dd1fd0125108417be21be917f19cc76262347086509a0d43f29b80e98"
DEBU[0019] Comparing                                     local="sha256:fd4d9a3dd1fd0125108417be21be917f19cc76262347086509a0d43f29b80e98" remote="sha256:fd4d9a3dd1fd0125108417be21be917f19cc76262347086509a0d43f29b80e98"
DEBU[0019] Found a match                                
DEBU[0019] No pull needed. Skipping image.              
DEBU[0019] No new images found for /grafana-alertmanager-1 
DEBU[0019] Trying to load authentication credentials.    container=/grafana-blackbox-exporter-1 image="quay.io/prometheus/blackbox-exporter:latest"
DEBU[0019] No credentials for quay.io found              config_file=/config.json
DEBU[0019] Got image name: quay.io/prometheus/blackbox-exporter:latest 
DEBU[0019] Checking if pull is needed                    container=/grafana-blackbox-exporter-1 image="quay.io/prometheus/blackbox-exporter:latest"
DEBU[0019] Built challenge URL                           URL="https://quay.io/v2/"
DEBU[0019] Got response to challenge request             header="Bearer realm=\"https://quay.io/v2/auth\",service=\"quay.io\"" status="401 Unauthorized"
DEBU[0019] Checking challenge header content             realm="https://quay.io/v2/auth" service=quay.io
DEBU[0019] Setting scope for auth token                  image=quay.io/prometheus/blackbox-exporter scope="repository:prometheus/blackbox-exporter:pull"
DEBU[0019] No credentials found.                        
DEBU[0019] Parsing image ref                             host=quay.io image=prometheus/blackbox-exporter normalized=quay.io/prometheus/blackbox-exporter tag=latest
DEBU[0019] Doing a HEAD request to fetch a digest        url="https://quay.io/v2/prometheus/blackbox-exporter/manifests/latest"
DEBU[0019] Found a remote digest to compare with         remote="sha256:3af31f8bd1ad2907b4b0f7c485fde3de0a8ee0b498d42fc971f0698885c03acb"
DEBU[0019] Comparing                                     local="sha256:3af31f8bd1ad2907b4b0f7c485fde3de0a8ee0b498d42fc971f0698885c03acb" remote="sha256:3af31f8bd1ad2907b4b0f7c485fde3de0a8ee0b498d42fc971f0698885c03acb"
DEBU[0019] Found a match                                
DEBU[0019] No pull needed. Skipping image.              
DEBU[0019] No new images found for /grafana-blackbox-exporter-1 
DEBU[0019] Trying to load authentication credentials.    container=/anna-und-daniel.de image="nginx:1.21"
DEBU[0019] No credentials for index.docker.io found      config_file=/config.json
DEBU[0019] Got image name: nginx:1.21                   
DEBU[0019] Checking if pull is needed                    container=/anna-und-daniel.de image="nginx:1.21"
DEBU[0019] Built challenge URL                           URL="https://index.docker.io/v2/"
DEBU[0020] Got response to challenge request             header="Bearer realm=\"https://auth.docker.io/token\",service=\"registry.docker.io\"" status="401 Unauthorized"
DEBU[0020] Checking challenge header content             realm="https://auth.docker.io/token" service=registry.docker.io
DEBU[0020] Setting scope for auth token                  image=docker.io/library/nginx scope="repository:library/nginx:pull"
DEBU[0020] No credentials found.                        
DEBU[0020] Parsing image ref                             host=index.docker.io image=library/nginx normalized=docker.io/library/nginx tag=1.21
DEBU[0020] Doing a HEAD request to fetch a digest        url="https://index.docker.io/v2/library/nginx/manifests/1.21"
DEBU[0020] Found a remote digest to compare with         remote="sha256:2bcabc23b45489fb0885d69a06ba1d648aeda973fae7bb981bafbb884165e514"
DEBU[0020] Comparing                                     local="sha256:2bcabc23b45489fb0885d69a06ba1d648aeda973fae7bb981bafbb884165e514" remote="sha256:2bcabc23b45489fb0885d69a06ba1d648aeda973fae7bb981bafbb884165e514"
DEBU[0020] Found a match                                
DEBU[0020] No pull needed. Skipping image.              
DEBU[0020] No new images found for /anna-und-daniel.de  
DEBU[0020] Trying to load authentication credentials.    container=/pihole-pihole-1 image="pihole/pihole:latest"
DEBU[0020] No credentials for index.docker.io found      config_file=/config.json
DEBU[0020] Got image name: pihole/pihole:latest         
DEBU[0020] Checking if pull is needed                    container=/pihole-pihole-1 image="pihole/pihole:latest"
DEBU[0020] Built challenge URL                           URL="https://index.docker.io/v2/"
DEBU[0021] Got response to challenge request             header="Bearer realm=\"https://auth.docker.io/token\",service=\"registry.docker.io\"" status="401 Unauthorized"
DEBU[0021] Checking challenge header content             realm="https://auth.docker.io/token" service=registry.docker.io
DEBU[0021] Setting scope for auth token                  image=docker.io/pihole/pihole scope="repository:pihole/pihole:pull"
DEBU[0021] No credentials found.                        
DEBU[0021] Parsing image ref                             host=index.docker.io image=pihole/pihole normalized=docker.io/pihole/pihole tag=latest
DEBU[0021] Doing a HEAD request to fetch a digest        url="https://index.docker.io/v2/pihole/pihole/manifests/latest"
DEBU[0021] Found a remote digest to compare with         remote="sha256:8bc45afe1625487aef62859a5bf02f3d7b3429e480f4e29e4689635ab86ec312"
DEBU[0021] Comparing                                     local="sha256:8bc45afe1625487aef62859a5bf02f3d7b3429e480f4e29e4689635ab86ec312" remote="sha256:8bc45afe1625487aef62859a5bf02f3d7b3429e480f4e29e4689635ab86ec312"
DEBU[0021] Found a match                                
DEBU[0021] No pull needed. Skipping image.              
DEBU[0021] No new images found for /pihole-pihole-1     
DEBU[0021] Trying to load authentication credentials.    container=/visualappeal.de image="nginx:1.21"
DEBU[0021] No credentials for index.docker.io found      config_file=/config.json
DEBU[0021] Got image name: nginx:1.21                   
DEBU[0021] Checking if pull is needed                    container=/visualappeal.de image="nginx:1.21"
DEBU[0021] Built challenge URL                           URL="https://index.docker.io/v2/"
DEBU[0021] Got response to challenge request             header="Bearer realm=\"https://auth.docker.io/token\",service=\"registry.docker.io\"" status="401 Unauthorized"
DEBU[0021] Checking challenge header content             realm="https://auth.docker.io/token" service=registry.docker.io
DEBU[0021] Setting scope for auth token                  image=docker.io/library/nginx scope="repository:library/nginx:pull"
DEBU[0021] No credentials found.                        
DEBU[0021] Parsing image ref                             host=index.docker.io image=library/nginx normalized=docker.io/library/nginx tag=1.21
DEBU[0021] Doing a HEAD request to fetch a digest        url="https://index.docker.io/v2/library/nginx/manifests/1.21"
DEBU[0022] Found a remote digest to compare with         remote="sha256:2bcabc23b45489fb0885d69a06ba1d648aeda973fae7bb981bafbb884165e514"
DEBU[0022] Comparing                                     local="sha256:2bcabc23b45489fb0885d69a06ba1d648aeda973fae7bb981bafbb884165e514" remote="sha256:2bcabc23b45489fb0885d69a06ba1d648aeda973fae7bb981bafbb884165e514"
DEBU[0022] Found a match                                
DEBU[0022] No pull needed. Skipping image.              
DEBU[0022] No new images found for /visualappeal.de     
DEBU[0022] Trying to load authentication credentials.    container=/thelfensdrfer.de image="nginx:1.21"
DEBU[0022] No credentials for index.docker.io found      config_file=/config.json
DEBU[0022] Got image name: nginx:1.21                   
DEBU[0022] Checking if pull is needed                    container=/thelfensdrfer.de image="nginx:1.21"
DEBU[0022] Built challenge URL                           URL="https://index.docker.io/v2/"
DEBU[0022] Got response to challenge request             header="Bearer realm=\"https://auth.docker.io/token\",service=\"registry.docker.io\"" status="401 Unauthorized"
DEBU[0022] Checking challenge header content             realm="https://auth.docker.io/token" service=registry.docker.io
DEBU[0022] Setting scope for auth token                  image=docker.io/library/nginx scope="repository:library/nginx:pull"
DEBU[0022] No credentials found.                        
DEBU[0022] Parsing image ref                             host=index.docker.io image=library/nginx normalized=docker.io/library/nginx tag=1.21
DEBU[0022] Doing a HEAD request to fetch a digest        url="https://index.docker.io/v2/library/nginx/manifests/1.21"
DEBU[0023] Found a remote digest to compare with         remote="sha256:2bcabc23b45489fb0885d69a06ba1d648aeda973fae7bb981bafbb884165e514"
DEBU[0023] Comparing                                     local="sha256:2bcabc23b45489fb0885d69a06ba1d648aeda973fae7bb981bafbb884165e514" remote="sha256:2bcabc23b45489fb0885d69a06ba1d648aeda973fae7bb981bafbb884165e514"
DEBU[0023] Found a match                                
DEBU[0023] No pull needed. Skipping image.              
DEBU[0023] No new images found for /thelfensdrfer.de    
DEBU[0023] Trying to load authentication credentials.    container=/graylog-opensearch-1 image="opensearchproject/opensearch:2.4.0"
DEBU[0023] No credentials for index.docker.io found      config_file=/config.json
DEBU[0023] Got image name: opensearchproject/opensearch:2.4.0 
DEBU[0023] Checking if pull is needed                    container=/graylog-opensearch-1 image="opensearchproject/opensearch:2.4.0"
DEBU[0023] Built challenge URL                           URL="https://index.docker.io/v2/"
DEBU[0023] Got response to challenge request             header="Bearer realm=\"https://auth.docker.io/token\",service=\"registry.docker.io\"" status="401 Unauthorized"
DEBU[0023] Checking challenge header content             realm="https://auth.docker.io/token" service=registry.docker.io
DEBU[0023] Setting scope for auth token                  image=docker.io/opensearchproject/opensearch scope="repository:opensearchproject/opensearch:pull"
DEBU[0023] No credentials found.                        
DEBU[0023] Parsing image ref                             host=index.docker.io image=opensearchproject/opensearch normalized=docker.io/opensearchproject/opensearch tag=2.4.0
DEBU[0023] Doing a HEAD request to fetch a digest        url="https://index.docker.io/v2/opensearchproject/opensearch/manifests/2.4.0"
DEBU[0023] Found a remote digest to compare with         remote="sha256:ffd7da5e9b8365ce49596f8bd66b782fe99321db57badb263c29a21ec4e4697c"
DEBU[0023] Comparing                                     local="sha256:ffd7da5e9b8365ce49596f8bd66b782fe99321db57badb263c29a21ec4e4697c" remote="sha256:ffd7da5e9b8365ce49596f8bd66b782fe99321db57badb263c29a21ec4e4697c"
DEBU[0023] Found a match                                
DEBU[0023] No pull needed. Skipping image.              
DEBU[0023] No new images found for /graylog-opensearch-1 
DEBU[0023] This is the watchtower container /watchtower-watchtower-run-96c73d698c70 
INFO[0023] Session done                                  Failed=0 Scanned=28 Updated=0 notify=no
INFO[0023] Waiting for the notification goroutine to finish  notify=no

Additional context

The debug log does not contain the error message from the email.

@github-actions
Copy link

github-actions bot commented Oct 5, 2023

Hi there! 👋🏼 As you're new to this repo, we'd like to suggest that you read our code of conduct as well as our contribution guidelines. Thanks a bunch for opening your first issue! 🙏

@piksel
Copy link
Member

piksel commented Oct 6, 2023

Are you sure those e-mails are from watchtower? I don't think it's possible to send notifications without logging, as the notifications are built on top of the logging system.

@thelfensdrfer
Copy link
Author

Pretty sure, yeah. The subject line says „ [my subject tag] Watchtower updates on ****“ and they get send at the same time the updates should run. They also stopped when I stopped the watchtower docker container.

@piksel
Copy link
Member

piksel commented Oct 6, 2023

Yeah, now I see where they come from, it's from failing to run the lifecycle hooks. Those messages should absolutely be in your logs though, where they contain the additional metadata (including container name).
You can also change the notification template to include all the additional tags in the message (have not tried it though).

Also, from your log above:
INFO[0001] Using no notifications

Are you running multiple watchtower instances perhaps? Use docker logs watchtower to see the logs from your running instance (given it's named watchtower).

@thelfensdrfer
Copy link
Author

Just for completeness sakes, here is my complete docker-compose.yml file:

version: '3'

x-logging: 
  &default-logging
  driver: gelf     
  options:
    gelf-address: "tcp://****:****"

services:
    watchtower:
        image: containrrr/watchtower:latest
        restart: unless-stopped
        volumes:
            - /var/run/docker.sock:/var/run/docker.sock
        environment:
            WATCHTOWER_NOTIFICATIONS: email
            WATCHTOWER_NOTIFICATIONS_LEVEL: warn
            WATCHTOWER_NOTIFICATION_EMAIL_FROM: ****
            WATCHTOWER_NOTIFICATION_EMAIL_TO: ****
            WATCHTOWER_NOTIFICATION_EMAIL_SERVER: ****
            WATCHTOWER_NOTIFICATION_EMAIL_SERVER_USER: ****
            WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PASSWORD: "****"
            WATCHTOWER_NOTIFICATION_EMAIL_SUBJECTTAG: "****"
            WATCHTOWER_LIFECYCLE_HOOKS: "true"
            WATCHTOWER_HTTP_API_METRICS: "true"
            WATCHTOWER_HTTP_API_TOKEN: "****"
            WATCHTOWER_SCHEDULE: "0 0 * * * *"
            WATCHTOWER_CLEANUP: "true"
            WATCHTOWER_TIMEOUT: "30s"
            VIRTUAL_HOST: ****
            VIRTUAL_PORT: 8080
            LETSENCRYPT_HOST: ****
            LETSENCRYPT_EMAIL: ****
        logging: *default-logging

    healthcheck:
        image: curlimages/curl:8.2.1
        restart: unless-stopped
        labels:
            - "com.centurylinklabs.watchtower.lifecycle.pre-check=curl -m 10 --retry 5 https://****/start"
            - "com.centurylinklabs.watchtower.lifecycle.post-check=curl -m 10 --retry 5 https://****"
        entrypoint: tail -f /dev/null
        logging: *default-logging

networks:
  default:
    external: true
    name: webproxy

Now that I have stopped this instance, no other watchtowers are running:

[****@**** watchtower]$ docker ps | grep watchtower
[****@**** watchtower]$

With the configuration from above, my docker log looks like this:

[****@**** watchtower]$ docker compose logs
watchtower-watchtower-1  | time="2023-10-05T10:23:32Z" level=info msg="Watchtower 1.6.0"
watchtower-watchtower-1  | time="2023-10-05T10:23:32Z" level=info msg="Using notifications: smtp"
watchtower-watchtower-1  | time="2023-10-05T10:23:32Z" level=info msg="Checking all containers (except explicitly disabled with label)"
watchtower-watchtower-1  | time="2023-10-05T10:23:32Z" level=info msg="Scheduling first run: 2023-10-05 11:00:00 +0000 UTC"
watchtower-watchtower-1  | time="2023-10-05T10:23:32Z" level=info msg="Note that the first check will be performed in 36 minutes, 27 seconds"
watchtower-watchtower-1  | time="2023-10-05T11:00:06Z" level=warning msg="Could not do a head request for \"mysql:5.7\", falling back to regular pull." container=/aow-mysql-1 image="mysql:5.7"
watchtower-watchtower-1  | time="2023-10-05T11:00:06Z" level=warning msg="Reason: invalid character 'S' looking for beginning of value" container=/aow-mysql-1 image="mysql:5.7"
watchtower-watchtower-1  | time="2023-10-05T11:00:32Z" level=info msg="Session done" Failed=0 Scanned=29 Updated=0 notify=no
watchtower-watchtower-1  | time="2023-10-05T12:00:33Z" level=info msg="Session done" Failed=0 Scanned=29 Updated=0 notify=no
watchtower-watchtower-1  | time="2023-10-05T13:00:32Z" level=info msg="Session done" Failed=0 Scanned=29 Updated=0 notify=no
watchtower-watchtower-1  | time="2023-10-05T14:00:38Z" level=info msg="Session done" Failed=0 Scanned=29 Updated=0 notify=no
watchtower-watchtower-1  | time="2023-10-05T15:00:36Z" level=info msg="Session done" Failed=0 Scanned=29 Updated=0 notify=no
watchtower-watchtower-1  | time="2023-10-05T16:00:34Z" level=info msg="Session done" Failed=0 Scanned=29 Updated=0 notify=no
watchtower-watchtower-1  | time="2023-10-05T16:43:56Z" level=info msg="Waiting for running update to be finished..."

If I did configure it wrongly, so the container names are stripped somewhere, please let me know! But thanks for the tip with the templates, I will try it out.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants