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

Unable to update container to :latest via watchtower #2920

Closed
2 of 3 tasks
nitobuendia opened this issue Jan 29, 2023 · 9 comments
Closed
2 of 3 tasks

Unable to update container to :latest via watchtower #2920

nitobuendia opened this issue Jan 29, 2023 · 9 comments
Labels
bug Something isn't working

Comments

@nitobuendia
Copy link

Checklist

  • I am not using Home Assistant. Or: a developer has told me to come here.
  • I have checked the troubleshooting section and my problem is not described there.
  • I have read the changelog and my problem is not mentioned there.

Deploy method

Docker

Z-Wave JS UI version

8.8.1.86d7bf4

ZwaveJS version

10.5.0

Describe the bug

When running watchtower to update cointainers, I get the following error:

Could not do a head request for "zwavejs/zwavejs2mqtt:latest", falling back to regular pull.
Reason: registry responded to head request with "404 Not Found", auth: "not present"

This did not happen before. The first occurence started on Jan 28th. It seems related to these changes. For example, pihole had the same error but they fixed it. The issue also contains links to instructions on how to solve it.

To Reproduce

Set up a container with :latest via docker-compose.yaml

version: "3.7"

services:
  zwavejs2mqtt:
    container_name: zwavejs2mqtt
    image: zwavejs/zwavejs2mqtt:latest
    restart: unless-stopped
    tty: true
    stop_signal: SIGINT
    environment:
      - TZ=Asia/Singapore
    env_file:
      - ./secrets.env
    devices:
      - /dev/ttyUSB0:/dev/ttyUSB0 # Z-Wave
    volumes:
      - ./store:/usr/src/app/store
    ports:
      - "8091:8091" # Web interface.
      - "3000:3000" # zwave-js websocket server.

Set up watchtower to auto-update via docker-compose:

version: "3"

services:
  watchtower:
    image: containrrr/watchtower:latest
    container_name: watchtower
    restart: unless-stopped
    env_file:
      - ./common.env
    environment:
      - WATCHTOWER_SCHEDULE=0 0 3 * * *
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - ./run:/run

Expected behavior

Container should auto-update.

Additional context

No response

@nitobuendia nitobuendia added the bug Something isn't working label Jan 29, 2023
@robertsLando
Copy link
Member

@nitobuendia Could you try using the new tag? zwavejs/zwave-js-ui:latest

@nitobuendia
Copy link
Author

@robertsLando Happy to try. I've changed the container now. However, I may not have a confirmed update until the container needs to be updated. Thanks!

@robertsLando
Copy link
Member

@nitobuendia You are welcome! Feel free to reopen in case the bug persists. BTW I neer used watchower my own so I dunno what could be the root cause as long as a docker pull works

@nitobuendia
Copy link
Author

@robertsLando I believe the issue comment I linked addresses that:

This is due to a new format of the manifest that is produced with the new version of docker buildx. (...) If you are responsible for creating said image, you can look at the upstream bug for ways to opt-out of the unsupported manifest until it's supported: docker/buildx#1509 (comment)

You can see an example on how this was handled for a different container like pihole.

In any case, I will update with the results as stated.

@robertsLando
Copy link
Member

So the fix should be as easy as: https://github.com/pi-hole/docker-pi-hole/pull/1290/files

@robertsLando robertsLando reopened this Jan 30, 2023
@chrisns
Copy link
Member

chrisns commented Jan 31, 2023

this is an issue with watchtower
disabling provenance is an ugly workaround.
If watchtower don't want to fix it, then I'd suggest looking at an alternative.

suggest we close this ticket

from a philosophical basis, while @robertsLando and co work super hard to keep things stable, I'd suggest you might not want to auto update the runtime. you'd be better with using something like renovate to keep your docker compose manifest files updated with pinned releases, then you'll always have a history of what was running rather than letting watchtower autoupdate the runtime

@robertsLando
Copy link
Member

Thanks for the follow up @chrisns 🙏🏼

@nitobuendia
Copy link
Author

@robertsLando This seems to work fine with the new image. It updated today with no issues.

@robertsLando
Copy link
Member

Perfect so, thanks for the feedback @nitobuendia

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants