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
983 stars 32 forks source link

(node:6) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. #306

Open a-neagoe opened 1 year ago

a-neagoe commented 1 year ago

Hello,

I run the Whats-up-docker with 21 triggers, all set for individual containers.

I am not interested in using one compose file, because I don't want to ctrl find my way in a huge stack. I do have stacks for more complicated apps (like a TIG stack - Telegraf, Influxdb and Grafana) but that is about it.

When I fire the wud up I get this error:

(node:6) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 wud:container-reports listeners added to [EventEmitter]. Use emitter.setMaxListeners() to increase limit

(Use node --trace-warnings ... to show where the warning was created)

here is my compose file:

version: '3'

services:
  whatsupdocker:
    image: fmartinou/whats-up-docker
    container_name: wud
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - ./store:/store
      # wud needs docker-compose files mounted as volumes
      - /volume1/docker/plex/docker-compose.yml:/wud/docker-compose-files/plex-docker-compose.yml
      - /volume1/docker/nginx-proxy/docker-compose.yml:/wud/docker-compose-files/nginx-proxy-docker-compose.yml
      - /volume1/docker/overseerr/docker-compose.yml:/wud/docker-compose-files/overseerr-docker-compose.yml
      - /volume1/docker/photoprism/docker-compose.yml:/wud/docker-compose-files/photoprism-docker-compose.yml
      - /volume1/docker/pihole/docker-compose.yml:/wud/docker-compose-files/pihole-docker-compose.yml
      - /volume1/docker/portainer-ce/docker-compose.yml:/wud/docker-compose-files/portainer-ce-docker-compose.yml
      - /volume1/docker/syncthing/docker-compose.yml:/wud/docker-compose-files/synchthing-docker-compose.yml
      - /volume1/docker/tig-stack/docker-compose.yml:/wud/docker-compose-files/tig-docker-compose.yml
      - /volume1/docker/homepage/docker-compose.yml:/wud/docker-compose-files/homepage-docker-compose.yml
      - /volume1/docker/sonarr/docker-compose.yml:/wud/docker-compose-files/sonarr-docker-compose.yml
      - /volume1/docker/radarr/docker-compose.yml:/wud/docker-compose-files/radarr-docker-compose.yml
      - /volume1/docker/bazarr/docker-compose.yml:/wud/docker-compose-files/bazarr-docker-compose.yml
      - /volume1/docker/readarr/docker-compose.yml:/wud/docker-compose-files/readarr-docker-compose.yml
      - /volume1/docker/calibre/docker-compose.yml:/wud/docker-compose-files/calibre-docker-compose.yml
      - /volume1/docker/calibre-web/docker-compose.yml:/wud/docker-compose-files/calibreweb-docker-compose.yml
      - /volume1/docker/jackett/docker-compose.yml:/wud/docker-compose-files/jackett-docker-compose.yml
      - /volume1/docker/prowlarr/docker-compose.yml:/wud/docker-compose-files/prowlarr-docker-compose.yml
      - /volume1/docker/qbittorrent/docker-compose.yml:/wud/docker-compose-files/qbittorrent-docker-compose.yml
      - /volume1/docker/sabnzbd/docker-compose.yml:/wud/docker-compose-files/sabnzbd-docker-compose.yml
      - /volume1/docker/tautulli/docker-compose.yml:/wud/docker-compose-files/tautulli-docker-compose.yml
      - /volume1/docker/wud/docker-compose.yaml:/wud/docker-compose-files/wud-docker-compose.yaml
    ports:
      - 3200:3000
    labels:
      - wud.watch=true
      - wud.tag.include=^([0-9]\d*)\.([0-9]\d*)\.([0-9]\d*)$$
      - wud.link.template=https://github.com/fmartinou/whats-up-docker/releases/tag/$${major}.$${minor}.$${patch}
    environment:
      - WUD_LOG_LEVEL=info #error: info, debug, trace
      - TZ=Europe/$city
      - WUD_WATCHER_LOCAL_CRON=0 3 * * * # every day 3 AM
      # - WUD_WATCHER_LOCAL_CRON=0 * * * *  # every hour
      # Docker hub login
      - WUD_REGISTRY_HUB_LOGIN=$username
      - WUD_REGISTRY_HUB_PASSWORD=$access_token
      # trigger: PLEX
      - WUD_TRIGGER_DOCKERCOMPOSE_PLEX_FILE=/wud/docker-compose-files/plex-docker-compose.yml
      - WUD_TRIGGER_DOCKERCOMPOSE_PLEX_THRESHOLD=patch
      - WUD_TRIGGER_DOCKERCOMPOSE_PLEX_PRUNE=true
      ......

I have kept the log level on debug but haven't found something usefull in the wud.json.

I think your application is great and very usefull all arround and it was not clearly designed for this kind of env abuse on multiple triggers, but I hope you would make it more friendly to beginners that start up with one project per directory and don't want to use a huge stack.

The app would serve me well even with no update whatsoever, but triggering small updates like patch and leave the major ones to manual is very appealing. Triggering a pull, down and up -d with a manual trigger from UI would also be very nice.

Also I don't see the wud.link.template in the wud UI on the containers listed with updates. I presume they show in notifications but they really should also be visible on the UI on the update tab. Letting us at least specify a link to the changelog would be very, very good.

Other random thoughts: using a trigger name with an underline completely breaks the trigger:

ps: thank you for your effort, your app is great!