fmartinou / whats-up-docker

What's up Docker ( aka WUD ) gets you notified when a new version of your Docker Container is available.
https://fmartinou.github.io/whats-up-docker
MIT License
1.02k stars 33 forks source link

whats-up-docker fails to read its own labels? #235

Open Percy2Live opened 1 year ago

Percy2Live commented 1 year ago

I'm not sure whether this is a real issue or a misconfiguration. I added the wud.tag.exclude label to the wud container itself with the regex expression '[a-zA-Z]'. This works fine for some other containers, but wud keeps listing the "feature__225_focus_login_input_on_load" tag as the latest. According to my regex understanding this label should definitely be ignored. What is the best practice to only get the latest major revisions of itself listed on the wud overview?

fmartinou commented 1 year ago

Hi,

There is no difference between how wud reads its own labels compared to other containers.

Can you get me your exact configuration?

Personally I use the following regex to get wud available updates:

services:
   wud:
        image: fmartinou/whats-up-docker:6.0.2
        labels:
            - 'wud.tag.include=^\d+\.\d+\.\d+$$'
            - 'wud.link.template=https://github.com/fmartinou/whats-up-docker/releases/tag/$${major}.$${minor}.$${patch}'
            - 'wud.display.name=WUD'
            - 'wud.display.icon=mdi:docker'
Percy2Live commented 1 year ago

in the meantime I already adapted the configuration and it's quite close to your suggestion - at least the regex part:

services:
  whatsupdocker:
    image: fmartinou/whats-up-docker:6.0.2
    container_name: Whats-Up-Docker
    security_opt:
      - no-new-privileges=true
    read_only: true
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - /volume1/Docker/Volumes/WUD:/store
    ports:
      - 3000:3000
    mac_address: 12:12:12:23:23:64
    networks:
      default:
        ipv4_address: 192.168.XXX.XXX 
    labels:
      - wud.tag.include = \d+\.\d+\.\b(0)$

networks:
  default:
    external:
      name: custom_docker_network

Unfortunately this still leads to:

image

fmartinou commented 1 year ago

Warning! On Docker compose, the dollar sign must be doubled. Otherwise, it's interpreted by Docker compose itself.

wud.tag.include = \d+\.\d+\.\b(0)$$
fmartinou commented 1 year ago

By the way, I don't really understand your Regex with the \b(0) at the end 🤔

Percy2Live commented 1 year ago

ok, I doubled the dollar sign - unfortunately nothing changed. The b(0) means that regex is specifically only looking for version with a " .0 " at the end - I don't want to be informed about every minor version hence I'm only interested in the .0 releases. I'm using the same regex for other containers and there it works as intended.

A quick verification via regex101 shows that the version "fix__238_fix_pushover_priority_2" should not be covered by my regex statement

fmartinou commented 1 year ago

Please remove the WUD state (the JSON file) and restart from scratch because it's likely the previous result that shows up.

fmartinou commented 1 year ago

The b(0) means that regex is specifically only looking for version with a " .0 " at the end - I don't want to be informed about every minor version hence I'm only interested in the .0 releases.

Actually, your regex matches any major & minor version containing a patch digit at zero (the digit at the 3rd position)

Is it really what you're looking for?

Because usually versions with patch version at zero are the most buggy because they're the first versions of a new major or minor versions.

Percy2Live commented 1 year ago

Thanks for your support. I stopped the container, removed the json file and started again - unfortunately with the same result. image

Regarding your second question: yes, for some containers I stick with the minor versions and skip the patched versions. I've got 15 containers running and without doing this I could install an update everyday which I would not like to do (maybe I will enable the auto update for some of the less critical containers at a later point of time).

If I encounter a bug I still have the chance to update to a patched version (if it fixes the bug I'm experiencing) - so this is fine for me. I'm using your really great project to keep track of the major updates especially.