Files
2026-06-09 18:40:21 +02:00

168 lines
7.3 KiB
Markdown

---
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