📂 Vorbereitungen → WUD – What’s Up Docker
🐳 WUD – What’s Up Docker
Automatische Container-Updates mit Weboberfläche, SMTP-Benachrichtigungen und Digest-Watching – als moderner Ersatz für Watchtower.
🏷️ WUD v8.2.2 · Bash · Docker · Ubuntu/Debian
🔍 Warum WUD statt Watchtower?
Watchtower hat in neueren Docker-Umgebungen zunehmend Kompatibilitätsprobleme gezeigt und wird nicht mehr aktiv gepflegt. WUD ist der moderne Nachfolger mit einer vollwertigen Weboberfläche, feingranularer Konfiguration und zuverlässigem Digest-Watching für Images mit Tags wie latest.
🔐 Schritt 1 – Basic-Auth-Hash erzeugen
Der Hash wird auf dem Client-Rechner erzeugt (z. B. Linux Mint). Zuerst das Paket installieren:
sudo apt update
sudo apt install apache2-utils
Hash erzeugen:
htpasswd -nib ptech09 'DEIN_SICHERES_PASSWORT'
Beispielausgabe:
ptech09:$apr1$IYg.M7/6$Fr6/LhZy0dYyJ9FNAKt.//
⚠️ Wichtig – Dollar-Zeichen escapen!
In Docker Compose müssen alle $ im Hash durch $$ ersetzt werden. Außerdem kein Passwort mit : verwenden. Im Stack nur den Hash eintragen, nicht user:hash.
🐳 Schritt 2 – Docker Compose Stack
In Portainer einen neuen Stack anlegen und folgenden Code einfügen. Sensible Werte vor dem Deployment ersetzen.
version: "3.8"
services:
wud:
image: getwud/wud:8.2.2
container_name: wud
restart: unless-stopped
ports:
- "3001:3000"
environment:
TZ: Europe/Vienna
WUD_SERVER_PORT: "3000"
WUD_LOG_LEVEL: "info"
# Docker-Watcher
WUD_WATCHER_LOCAL_SOCKET: /var/run/docker.sock
WUD_WATCHER_LOCAL_WATCHBYDEFAULT: "true"
WUD_WATCHER_LOCAL_CRON: "0 */6 * * *"
# Automatische Docker-Updates
WUD_TRIGGER_DOCKER_LOCAL_AUTO: "true"
WUD_TRIGGER_DOCKER_LOCAL_PRUNE: "true"
# SMTP-Benachrichtigungen
WUD_TRIGGER_SMTP_MAIL_HOST: "mail.example.com"
WUD_TRIGGER_SMTP_MAIL_PORT: "587"
WUD_TRIGGER_SMTP_MAIL_USER: "user@example.com"
WUD_TRIGGER_SMTP_MAIL_PASS: "SMTP_PASSWORT"
WUD_TRIGGER_SMTP_MAIL_FROM_ADDRESS: "user@example.com"
WUD_TRIGGER_SMTP_MAIL_TO: "user@example.com"
WUD_TRIGGER_SMTP_MAIL_TLS_ENABLED: "false"
# Basic Auth
WUD_AUTH_BASIC_PTECH09_USER: "ptech09"
WUD_AUTH_BASIC_PTECH09_HASH: "ESCAPTEN_HASH_HIER_EINTRAGEN"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /opt/wud/store:/store
labels:
- "wud.watch=false"
🔎 Schritt 3 – Digest-Watching für latest-Tags
Container mit Tags wie latest oder stable können von WUD ohne Digest-Watching nicht zuverlässig auf Updates geprüft werden. Mit folgendem Label wird das aktiviert:
labels:
- "wud.watch.digest=true"
Empfohlen für Container mit latest-Tags, z. B.: autoheal, caddy, grafana, portainer, uptime-kuma, vaultwarden, adguardhome, bentopdf, wg-easy.
🌐 Schritt 4 – Weboberfläche aufrufen
Nach erfolgreichem Deployment die Oberfläche aufrufen:
http://SERVER-IP:3001
Login mit dem gewählten Benutzernamen und dem Passwort aus dem Hash-Schritt.
🛠️ Typische Fehler und Lösungen
❌ Login funktioniert nicht
Ursachen: Hash falsch eingetragen, $ nicht als $$ escaped, versehentlich user:hash statt nur Hash, Passwort enthält :.
Lösung: Hash neu erzeugen, nur den Hash verwenden, $ zu $$ escapen.
❌ WUD zeigt 0 Container
Ursache: WATCHBYDEFAULT war auf false gesetzt.
Lösung: WUD_WATCHER_LOCAL_WATCHBYDEFAULT: "true" setzen.
❌ SMTP-Fehler: wrong version number
Ursache: Falsche TLS/Port-Kombination.
Lösung: Port 587 mit WUD_TRIGGER_SMTP_MAIL_TLS_ENABLED: "false" verwenden (STARTTLS wird automatisch genutzt).
❌ Image is not a semver and digest watching is disabled
Ursache: Image verwendet keinen SemVer-Tag (z. B. latest, stable).
Lösung: Label wud.watch.digest=true am Container setzen.
💻 Nützliche Befehle
# Logs ansehen
docker logs --tail 100 wud
# Laufende Container prüfen
docker ps
# Port prüfen
sudo ss -tulpn | grep 3001
🐙 WUD auf GitHub
Weitere Informationen, Changelogs und Issues findest du im offiziellen WUD Repository.