--- title: WUD (What's Up Docker) created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, docker, container, update, monitoring-docker, notifications, ui] confidence: high contested: false sources: [https://selfh.st/apps/?tag=Docker, https://github.com/getwud/wud] --- # 🐳 WUD — What's Up Docker > **Le détecteur d'updates Docker avec UI web** — visualisez vos conteneurs obsolètes et déclenchez (ou pas) les mises à jour. ## 📋 Informations Générales | Champ | Valeur | | :--- | :--- | | **Site web** | [getwud.io](https://www.getwud.io/) | | **GitHub** | [getwud/wud](https://github.com/getwud/wud) | | **License** | MIT | | **Langage** | JavaScript (Node.js) | | **Étoiles GitHub** | 3,6k ⭐ | | **Dernière MAJ** | 2026-06-05 | | **Catégorie** | [[cat-docker\|Docker]] | ## 📝 Description **WUD** (What's Up Docker) est un **watcher d'images Docker** qui scanne en continu les images de vos conteneurs en cours, les compare aux tags disponibles sur les registries, et **vous notifie** + **affiche le statut dans une UI web** quand une mise à jour est disponible. C'est l'alternative la plus **visuelle** à [[app-diun]] et un excellent complément à [[app-portainer]]. WUD se distingue par son **écosystème de composants** : *watchers* (Docker, Kubernetes), *registries* (Docker Hub, GHCR, Quay, ECR, GCR, Harbor, registries privés), *notifiers* (Discord, Telegram, Slack, email, Gotify, Ntfy, Pushover, +10 autres) et *triggers* (webhook, MQTT, REST). Tout est configurable par **variables d'environnement**, ce qui le rend très simple à déployer. - ✅ **UI web** intégrée : dashboard des images, statuts (up-to-date / outdated), MAJ dispos - ✅ **Multi-registries** : Docker Hub, GHCR, Quay, ECR, GCR, Harbor, OCI, générique - ✅ **Multi-watchers** : Docker local, Docker socket, Kubernetes, compose - ✅ **Multi-notifiers** : Discord, Telegram, Slack, email, Gotify, Ntfy, Pushover, +10 - ✅ **Triggers** : webhook, MQTT, REST, en complément des notifiers - ✅ **Filtrage par labels** : `wud.tag.include`, `wud.tag.exclude`, `wud.watch=true` - ✅ **Cron configurable** (par défaut 1h) - ✅ **API REST** complète - ✅ **Authentification** : local, OIDC, basic - ✅ **Multi-langue** (FR, EN, ES, DE, +10) - ✅ **Watchtower-compatible** : peut déclencher un `update` via webhook **Public cible** : **homelabers qui veulent un *tableau de bord* visuel** de l'état de leurs conteneurs, plus qu'un pur notificateur. Idéal pour les personnes qui gèrent 10-100 conteneurs. **Alternatives directes** : [[app-diun]] (notif pure, sans UI), **Watchtower** (update auto, UI basique), **Cupdate** (zero-config), **Cup** (alertes simples). ## 🚀 Installation ### Option 1 : Docker Compose (recommandé) ```yaml # docker-compose.yml version: '3.8' services: wud: image: getwud/wud:latest container_name: wud restart: unless-stopped security_opt: - no-new-privileges:true environment: - WUD_WATCHER_DOCKER_LOCAL=true - WUD_REGISTRY_DOCKERHUB_AUTH=true # pour augmenter le rate limit - WUD_NOTIFIER_DISCORD_WEBHOOKURL=https://discord.com/api/webhooks/... - WUD_TRIGGER_WUD_RESTART_SIMPLE_UPDATE=false # désactiver l'update auto - WUD_UI_AUTH_DEFAULT_USERNAME=admin - WUD_UI_AUTH_DEFAULT_PASSWORD=*** - TZ=Europe/Paris volumes: - /var/run/docker.sock:/var/run/docker.sock:ro # read-only ports: - "3000:3000" labels: - "traefik.enable=true" - "traefik.http.routers.wud.rule=Host(`wud.example.com`)" - "traefik.http.routers.wud.entrypoints=websecure" - "traefik.http.routers.wud.tls.certresolver=letsencrypt" - "traefik.http.services.wud.loadbalancer.server.port=3000" ``` > 🔐 **Important** : changez le mot de passe par défaut et/ou branchez WUD sur un IdP OIDC (Authelia, Authentik, Keycloak). ### Option 2 : Stack Compose étendue (avec Watchtower) ```yaml # Ajout : Watchtower déclenché par WUD via webhook watchtower: image: containrrr/watchtower restart: unless-stopped volumes: - /var/run/docker.sock:/var/run/docker.sock command: --schedule "0 0 4 * * *" # 4h du matin tous les jours ``` ## ⚙️ Configuration Initiale 1. **Accéder à l'UI** : `http://IP:3000` 2. **Se connecter** avec le compte par défaut (`admin` / password défini) et **changer le mot de passe**. 3. **Vérifier la découverte des conteneurs** : tous les conteneurs en cours doivent s'afficher. 4. **Ajouter un notifier** : *UI > Settings > Notifiers* (Discord, Telegram, Gotify, etc.). 5. **Tester une notif** : bouton *Test* dans l'UI. 6. **Activer le watch** sur les stacks critiques via labels : ```yaml labels: - "wud.watch=true" - "wud.tag.include=^v[0-9.]+$" # ne suivre que les tags semver ``` ## 🔄 Alternatives ### Open Source - [[app-diun]] — Notif pure, sans UI, plus de providers - **Watchtower** — Update automatique, UI minimale - **Cupdate** — Zero-config, UI simple - **Cup** — Mises à jour Docker simplifiées - **Renovate** / **Dependabot** — Updates code (pas runtime) - [[app-portainer]] — UI complète, MAJ incluses (natif) ### Propriétaires - **Docker Hub Pro** — Webhooks de MAJ - **Snyk Container** — Vuln + updates - **JFrog Xray** — Enterprise - **Prisma Cloud** (Palo Alto) — Cloud security - **Aqua Security** — Container security - **Sysdig Secure** — Runtime + MAJ ### Tableau comparatif | Critère | WUD | Diun | Watchtower | Cupdate | Cup | | :--- | :--- | :--- | :--- | :--- | :--- | | UI web | ✅ complète | ❌ | ⚠️ basique | ✅ simple | ✅ simple | | Update auto | ❌ (via trigger) | ❌ (via Watchtower) | ✅ (cœur) | ❌ | ✅ (option) | | Multi-registries | ✅ (tous) | ✅ (tous) | ✅ | ✅ | ✅ | | Regex tags | ✅ | ✅ | ⚠️ | ❌ | ❌ | | Config | Env vars | YAML | Env | UI | UI | | Notifications | ~15 | +90 | 3-4 | 5 | 5 | | OIDC | ✅ | ❌ | ❌ | ❌ | ❌ | | Licence | MIT | MIT | Apache-2.0 | MIT | MIT | **Verdict** : **WUD est le plus *user-friendly* de la catégorie** grâce à son UI claire. Idéal pour visualiser d'un coup d'œil l'état de tous ses conteneurs. Pour des notifications hyper-personnalisées avec +90 providers, regarder [[app-diun]]. ## 🔐 Sécurité - ⚠️ **Socket Docker = root** : monté en `:ro` pour la lecture des conteneurs, mais WUD n'a pas besoin d'écrire. - **Auth obligatoire** : changez le mot de passe par défaut, idéalement branchez WUD sur OIDC (Authelia/Authentik). - **[[app-traefik]] + middleware d'auth** recommandé en exposition web. - **Rate limits Docker Hub** : 100 pulls/6h en anonyme, 200/h en auth. WUD ne *pull* pas les images (juste le manifest), mais les notifs/scan restent dans la limite. - **Triggers慎重** : un trigger *auto-update* peut casser une prod sans surveillance humaine. **À combiner avec une stratégie de tests/canary** ou désactiver et faire les MAJ manuellement. ## 📚 Ressources - [GitHub getwud/wud](https://github.com/getwud/wud) - [Site officiel](https://www.getwud.io/) - [Documentation](https://www.getwud.io/docs/) - [Démo live](https://demo.getwud.io/) ## Pages Liées - [[cat-docker]] — Catégorie Docker - [[app-diun]] — Concurrent (notif pure, sans UI) - [[app-portainer]] — UI complète - [[app-traefik]] — Reverse proxy - [[observabilite]] — Stack d'observabilité - [[securisation-home-lab]] — Durcir l'infra