sergi0g / cup

🥤Docker container updates made easy
https://sergi0g.github.io/cup/docs
GNU Affero General Public License v3.0
130 stars 1 forks source link

Image is skipped when running check #21

Closed brtwrst closed 1 month ago

brtwrst commented 2 months ago

Hey, i have a weird problem. First here is the list of images that are on the system:

alpine                          latest            324bc02ae123   4 weeks ago     7.8MB
ghcr.io/almarklein/timetagger   v24.4.1-nonroot   d05595d4a4a2   4 months ago    158MB
ghcr.io/sergi0g/cup             latest            c3cba7715db4   5 weeks ago     5.32MB
ghost                           4-alpine          252c7f9b9d3d   17 months ago   486MB
gitea/gitea                     1.22              b3de72970178   6 weeks ago     167MB
portainer/portainer-ce          sts               3255108e46a0   3 months ago    288MB
traefik                         latest            9ff754a4bfc1   2 weeks ago     176MB
nextcloud                       29                0ef5d328122e   2 weeks ago     1.28GB
zer0tonin/mikochi               latest            5bbeff1ab3a9   6 weeks ago     91.5MB
vaultwarden/server              alpine            a88fdc5c1039   9 days ago      105MB

Here is the output of docker run --rm -v /var/run/docker.sock:/var/run/docker.sock ghcr.io/sergi0g/cup check

alpine:latest                                                         Up to date
ghcr.io/almarklein/timetagger:v24.4.1-nonroot                         Up to date
ghcr.io/sergi0g/cup:latest                                            Up to date
ghost:4-alpine                                                        Up to date
gitea/gitea:1.22                                                      Up to date
portainer/portainer-ce:sts                                            Up to date
traefik:latest                                                        Up to date
vaultwarden/server:alpine                                             Up to date
zer0tonin/mikochi:latest                                              Up to date

for some reason it is not checking the nextcloud:29 image.

If i check it "manually" with docker run --rm -v /var/run/docker.sock:/var/run/docker.sock ghcr.io/sergi0g/cup check nextcloud:29
I get this:

nextcloud:29 has an update available

Any ideas?

P.S. the link to the documentation is broken (https://sergi0g.github.io/cup/docs/introduction)

brtwrst commented 2 months ago

Well nevermind, I fixed it by deleting the nextcloud image and downloading it again. Now it's showing up in the check command.

sergi0g commented 2 months ago

That's unusual. I'm glad you solved it!

Fixed the broken link! 😉

brtwrst commented 1 month ago

Hey, so it has happened again, cup is currently not checking/reporting on my nextcloud:29 image. it is totally absent from the result like in the "screenshots" above.

I'm using the latest available cup image with version 2.1.0

$ docker run --rm -v /var/run/docker.sock:/var/run/docker.sock ghcr.io/sergi0g/cup --version
cup 2.1.0

I will leave it in this state for now and not delete and redownload the nextcloud image - maybe you want me to "run some tests" while it's in this broken state.

sergi0g commented 1 month ago

@brtwrst I'm sorry you're having this issue again. Can you please provide the output of docker inspect nextcloud:29?

brtwrst commented 1 month ago
[
    {
        "Id": "sha256:f940b54bd54f5f634aab39e82ce14987399af67b415bb6b988693999fc99b388",
        "RepoTags": [
            "nextcloud:29"
        ],
        "RepoDigests": [
            "nextcloud@sha256:3a62c849b9ed64f8085d76c12f26376b0e9fc4fbcef8a20059e1e26b027469e5",
            "nextcloud@sha256:b9713db76e71a74734c8061a953bdcb7085082b487160296a97ae9cb8c58507b"
        ],
        "Parent": "",
        "Comment": "",
        "Created": "2024-08-30T23:41:57.067317402Z",
        "DockerVersion": "23.0.11",
        "Author": "",
        "Config": {
            "Hostname": "",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": false,
            "AttachStderr": false,
            "ExposedPorts": {
                "80/tcp": {}
            },
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "PHPIZE_DEPS=autoconf \t\tdpkg-dev \t\tfile \t\tg++ \t\tgcc \t\tlibc-dev \t\tmake \t\tpkg-config \t\tre2c",
                "PHP_INI_DIR=/usr/local/etc/php",
                "APACHE_CONFDIR=/etc/apache2",
                "APACHE_ENVVARS=/etc/apache2/envvars",
                "PHP_CFLAGS=-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64",
                "PHP_CPPFLAGS=-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64",
                "PHP_LDFLAGS=-Wl,-O1 -pie",
                "GPG_KEYS=39B641343D8C104B2B146DC3F9C39DC0B9698544 E60913E4DF209907D8E30D96659A97C9CF2A795A 1198C0117593497A5EC5C199286AF1F9897469DC",
                "PHP_VERSION=8.2.23",
                "PHP_URL=https://www.php.net/distributions/php-8.2.23.tar.xz",
                "PHP_ASC_URL=https://www.php.net/distributions/php-8.2.23.tar.xz.asc",
                "PHP_SHA256=81c5ae6ba44e262a076349ee54a2e468638a4571085d80bff37f6fd308e1d8d5",
                "PHP_MEMORY_LIMIT=512M",
                "PHP_UPLOAD_LIMIT=512M",
                "APACHE_BODY_LIMIT=1073741824",
                "NEXTCLOUD_VERSION=29.0.5"
            ],
            "Cmd": [
                "apache2-foreground"
            ],
            "Image": "sha256:8d57536aff276a31d263a2c1d3c84855a60cc0fdc983eeefe1e98b9da48f6f11",
            "Volumes": {
                "/var/www/html": {}
            },
            "WorkingDir": "/var/www/html",
            "Entrypoint": [
                "/entrypoint.sh"
            ],
            "OnBuild": null,
            "Labels": null,
            "StopSignal": "SIGWINCH"
        },
        "Architecture": "amd64",
        "Os": "linux",
        "Size": 1281769960,
        "GraphDriver": {
            "Data": {
                "LowerDir": "/var/lib/docker/overlay2/4ebb35f63c37d331f7d0a258a7c014260429b6d2e59502b580873dc2813859e5/diff:/var/lib/docker/overlay2/ebce56f21d0d070c4622053663b436e66688ad1ce735daf43c55d6fce6b96611/diff:/var/lib/docker/overlay2/49bfc260d6ffe914ab7929154571d06124426debc56184688546aa99dc080120/diff:/var/lib/docker/overlay2/4c1c133f83dfbd14e04060568c06fdceeb222df2b90472091a40db054ade2715/diff:/var/lib/docker/overlay2/55eae1e0faa41ebf31ce7e172aa45cb0ec05bc2698b0661f1b26d6c7d23f63e5/diff:/var/lib/docker/overlay2/164e4d055a0a89853464f8b8f606391d8e173bac1c077e426f0a9386b46f3561/diff:/var/lib/docker/overlay2/adc737c5b1537881563c4652ebcbc444ceaa322941d69a18e72be3a7e997eb32/diff:/var/lib/docker/overlay2/334f1f2e299530dcbf05f25f0ed6fdfedd70560485915be6334ce4517b6b98dd/diff:/var/lib/docker/overlay2/19a36df8f861a3d0c1d144b3bbb76b0a1a6fd482e9b66422761506ba7d64ca56/diff:/var/lib/docker/overlay2/b70db535cfa2efacc7cf3097987571f00125a8d608ccd5857749bcbbfff86bbf/diff:/var/lib/docker/overlay2/abababe3ca2c36e4319231941f44edf4a55ea901b3464433b7c5a39e34e11482/diff:/var/lib/docker/overlay2/913cfa44642d54644886d3f4bec599dce7883229a96673ffb031cfa9ad81b2df/diff:/var/lib/docker/overlay2/736545a132ff9600ecb6d6d35c3aa090b830f33ef4f62e735e091f2a1808399b/diff:/var/lib/docker/overlay2/728dd2a6c8d082587e9d954b7f29c6182b2c1f1a6ae5650d1f6d3076c77e46a1/diff:/var/lib/docker/overlay2/1d76e88e815fbcf9f12485fed2220a95c5e4536e0bf2cfd58fba77b886a8bea6/diff:/var/lib/docker/overlay2/5218b8c13dfbca76e278e4d1d762c5a0959a60653693abafb46818cb977a0b8d/diff:/var/lib/docker/overlay2/81c861fc8569c42eee86a1b70cc5940ee69f7bade4aac7c1e27d7ac09ffec3b6/diff:/var/lib/docker/overlay2/19d9be76b6b102216c644ecd851cb618155da1cd8e52c4e4bdd970c8c7edaf2f/diff:/var/lib/docker/overlay2/75e926e66cf22e6fda9fbd0b84b4ad662d155f6e3b017dcf2f5fc07e140f5bc4/diff:/var/lib/docker/overlay2/b55c4f43b3ad1ca98723c1083ad08b5bb2038c0ff59805f95f3a485a3d098d37/diff",
                "MergedDir": "/var/lib/docker/overlay2/219c96af9c8aef45b86dbe33bb9194dcbe2ffce5a550d43fce95a588e74868ed/merged",
                "UpperDir": "/var/lib/docker/overlay2/219c96af9c8aef45b86dbe33bb9194dcbe2ffce5a550d43fce95a588e74868ed/diff",
                "WorkDir": "/var/lib/docker/overlay2/219c96af9c8aef45b86dbe33bb9194dcbe2ffce5a550d43fce95a588e74868ed/work"
            },
            "Name": "overlay2"
        },
        "RootFS": {
            "Type": "layers",
            "Layers": [
                "sha256:9853575bc4f955c5892dd64187538a6cd02dba6968eba9201854876a7a257034",
                "sha256:4cae4ea97049ffe77607650a058d069bcfd37d79c2d0b8907ec937bc31f53af6",
                "sha256:7f0d23b78477cf960f0e870890d4e7f57107b2c21120832cb8a3ff59a84eb7cc",
                "sha256:8f42af1dd50e140a19f623041d48ce4937c89d5661ba6ee5adfae38d300c883a",
                "sha256:7285b46fc0b10e4f912f980a0a0da7efb04a0331b4febf8e214fed728f61b5e9",
                "sha256:886076bbd0e556596b94255d21e651ce4eb43eb25e7abf50242580b80eb31af4",
                "sha256:fe49c1c8ccdcd6e44784259f68f42de00dcaf2b64fa6ac06217aceeacf4f0d84",
                "sha256:3aa7752ccfdc2acba849980430cb7d5ff1e2d181fe7bbf2593b7c279ecad2b4d",
                "sha256:7fadd8f3d6f23809c749a4b209b79fbe34411c5bd4a57484d31a49487b123701",
                "sha256:d0a6044e970cb83a596fd0c48672fdef41bee996607164159ec72e069aa165f5",
                "sha256:b41732ffaa88cbf7844f41362dc8b2f26c153dbf01f0bab21d9281cb07eb289a",
                "sha256:744598f7d948a2d5e6300a6dcd721ee2f49564316ad34f81a2997d1ca7ea02a0",
                "sha256:374880a2671203b20491044d26ff4990c4d2ecf5e8875e5a50575c4934a366b3",
                "sha256:25057cd337b3af076c5a21dbbe806d6bf454daa545736d4648fde9941120a304",
                "sha256:d9955478dfb7504c01dd21525139bcfc29f52977c270330500eff9b8d4afa3e1",
                "sha256:3a19b4ba0ada6c1a059c304d3a063461a2ad9738e5c502d62b4f78b6bc14bf34",
                "sha256:95466d9cc8c22a950b6f0f2c1f4185b89aa967e1b1313e1e25d17e35b4ffa15d",
                "sha256:b9f0f909e49c44f6300bb0ea62c7effc1612bfa8446a1ad1f309478d5ed5bb2c",
                "sha256:dedac2c09498db47b913f87ef5993d65d64b12677a0495aba365b2fa892b2fbb",
                "sha256:bec469d4e3f24196b8382f0f1436d62c8e2b96f11455d63e4e2cb5e8edb85eed",
                "sha256:79a940b8a5abba5d6d7a2b15ced454c62b32d2f8f65aac45ea0201701140acf2"
            ]
        },
        "Metadata": {
            "LastTagTime": "0001-01-01T00:00:00Z"
        }
    }
]
sergi0g commented 1 month ago

Ah, I see the problem. The image is skipped due to this line: https://github.com/sergi0g/cup/blob/main/src%2Fdocker.rs#L37

Your Nextcloud image has 2 digests for some reason. I'll update the code when I can to handle this situation. Thanks for opening this issue!

brtwrst commented 1 month ago

Thanks for your time

sergi0g commented 1 month ago

Hi again! It looks like the fix I'll push won't break anything, however the only image that has 2 different digests on my system is alpine. No idea why.

brtwrst commented 1 month ago

Might have to do with multiplatform images https://stackoverflow.com/questions/69581269/docker-image-with-2-different-sha256-digests

sergi0g commented 1 month ago

I have a bunch of multiplatform images. Maybe I've pulled alpine for both amd64 and arm64?