IT Projekte / Home Lab / Smart Home / Games

Allgemein, Docker, Proxmox, Raspberry Pi, Zimaboard

WUD – What’s Up Docker, die Alternative zu Watchtower? 2026

Mit What’s Up Docker kontrollierst Du, wann ein Update von einem Container durchgeführt werden soll. WUD ist ein leichter Monitor für Docker Images und unterstützt so ziemlich jeden Dienst für Benachrichtigungen. Wie Du diesen einrichtest und mit zum Beispiel Gotify verbindest, erkläre ich Dir in diesem Beitrag.

Du benötigst Folgendes:

  • Docker

Docker mittels Repository unter Debian installieren
Docker auf dem Raspberry Pi 4 installieren
Watchtower für Docker Container und Gotify einrichten

WUD installieren / einrichten

Lege einen neuen Ordner an und erstelle eine docker-compose.yml-Datei.

mkdir wud
cd wud
nano docker-compose.yml

WUD - Ordner und Compose-Datei anlegen What's Up Docker
WUD – Ordner und Compose-Datei anlegen

Konfiguration

In diese Datei kannst Du nun folgenden Code kopieren.

Entscheide selbst, ob Du das Docker Image über Docker Hub oder die GitHub Container Registry beziehen möchtest.

- Docker Hub: getwud/wud
- Github Container Registry: ghcr.io/getwud/wud

Zunächst gibt es zwei Services, weil Du auch zwei unterschiedliche Programme betreiben möchtest. Einmal What’s Up Docker und einmal Gotify.

Beziehe das jeweilige Image und vergebe dann dem Container seinen eigenen Namen. Unter den Ports wird mitgeteilt, über welchen Port (links) der Container erreichbar sein soll. Für die Konfiguration der beiden Container kommen jetzt die Environment-Variablen dazu. Für What’s Up Docker, die Zeitzone, wie oft der lokale Docker socked gescannt werden soll mit WUD_WATCHER_LOCAL_CRON. Wo ist dieser zu finden? Hier: WUD_WATCHER_LOCAL_SOCKET=/var/run/docker.sock Soll auf alle Container geschaut werden? Ja, bitte! Okay: WUD_WATCHER_LOCAL_WATCHALL=true
Ich habe aber noch eine weitere Registry, welche nicht aktuell out of the box unterstützt wird. Kein Problem gib sie bitte hier mit an: WUD_REGISTRY_CUSTOM_CODEBERG_URL

Bei Gotify wird lediglich das Standardpasswort gesetzt für die Anmeldung.

Weiter geht es mit dem Volumen, welche in diesem Falle als Docker Volumen angegeben sind.

Zum Schluss kommen wir noch zu einem wichtigen Punkt, und zwar den Labels. Ich habe jedem Container auf meinem Docker-Host das wud.tag.include-Label gegeben und mittels Reg Ex definiert, wie der Update-Tag auszusehen hat. In diesem Falle wird auf x.x.x geprüft, wobei x hier für eine Ziffer von 0 bis 9 steht.

Weitere Einstellungsmöglichkeiten kannst Du unter anderem hier nachsehen.

Die Docker Compose Datei:

services:
  whatsupdocker:
    image: getwud/wud:8.1.1
    container_name: wud
    ports:
      - 4000:3000
    environment:
      - TZ=Europe/Berlin
      - WUD_WATCHER_LOCAL_CRON=0 1 * * *
      - WUD_WATCHER_LOCAL_SOCKET=/var/run/docker.sock
      - WUD_WATCHER_LOCAL_WATCHALL=true
      # Codeberg for forgeio
      - WUD_REGISTRY_CUSTOM_CODEBERG_URL=https://codeberg.org
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - wub-data:/store    
    labels:
      - wud.tag.include=^v?\d+(\.\d+)*$$

  gotify:
    image: gotify/server:2.7.3
    container_name: gotify
    ports:
      - 4001:80
    environment:
      GOTIFY_DEFAULTUSER_PASS: 'admin'
    volumes:
      - gotify-data:/app/data
    labels:
      - wud.tag.include=^v?\d+(\.\d+)*$$

      
volumes:
  wub-data:
  gotify-data:

Speicher und schließe das Fenster mit Strg + S und Strg + X. Starte im Anschluss die Docker Compose Datei mit:

sudo docker compose up -d

Gotify konfigurieren

Rufe die IP-Adresse und den Port von Gotify auf und melde Dich dort mit den Nutzerdaten an. In diesem Falle admin admin .

Klicke zunächst auf App und dann auf Create Application, um eine neue Anwendung zu Gotify hinzuzufügen.

Gotify - Erstelle einen neue Applikation
Gotify – Erstelle einen neue Applikation

Vergebe hier einen Namen, Beschreibung und Priorität, wenn gewünscht. Zum Schluss klicke auf Create.

Gotify - Applikation bennen
Gotify – Applikation bennen

Die Anwendung wurde erstellt, jetzt schaue nach, wie der Token lautet. Kopiere Dir diesen heraus. Dieser wird für die Kommunikation zwischen What’s Up Docker und Gotify benötigt.

Gotify - Applikation Token kopieren
Gotify – Applikation Token kopieren

Docker Compose anpassen

Stoppe das Docker Compose mit einem docker compose down.

docker compose down

Öffne die docker-compose.yml Datei und füge folgendes zu Deinem What’s Up Docker Container hinzu.

    environment:
      - WUD_TRIGGER_GOTIFY_LOCAL_URL=<IP-Adresse und Port>
      - WUD_TRIGGER_GOTIFY_LOCAL_TOKEN=AtZ2zwIcHzQnX1I

Datei gespeichert und erneut gestartet, sollte nach einem neu laden der Seite unter Triggers ein neuer Eintrag entstanden sein.

Gotify Trigger
Gotify Trigger

Klicke nun auf Testen, konfiguriere diesen, klicke auf Run Trigger und Du solltest einen Test-Eintrag bei Gotify einsehen können.

Gotify Trigger ausführen
Gotify Trigger ausführen

Wie Du siehst, stehen jetzt die Informationen zu diesem Container in Deinem Gotify.

Gotify - Neue Nachricht
Gotify – Neue Nachricht

Titelbild von Gotify und WUD

  1. Norman

    Hallo Frederic,
    danke für den Beitrag. Wie gehst du dann mit den Updates um? Hast du diese automatisiert?

    • Kommentar des Beitrags-Autors

      Hallo Norman,

      danke für deinen Kommentar. Ich habe mich dazu entschieden, die Patch Notes manuell zu prüfen. Somit gibt es hier keine Automatisierung von meiner Seite aus. Wenn ich keine Breaking Changes finde, dann führe ich das Update manuell durch.

      Da WUD eine eigene API zur Verfügung stellt, könnte man mithilfe dieser ein Skript schreiben, welches auf Basis der Version und dem Image nach den Patch Notes im Internet sucht und diese dann vergleicht – vorausgesetzt, die Patch Notes sind öffentlich zugänglich. Zudem müsste dem Container mithilfe eines Labels noch die URL zu den Patch Notes mitgegeben werden.

      Aber das sind gerade nur Vermutungen von meiner Seite; überprüft habe ich dies noch nicht. Alternativ könnte auch ein Skript mit der WUD API und einer KI im Hintergrund ein Ansatz dafür sein.

      Falls es dafür bereits eine Lösung gibt, lass es mich wissen.

Schreibe eine Antwort