Initial vault setup
This commit is contained in:
@@ -0,0 +1,167 @@
|
||||
---
|
||||
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
|
||||
Reference in New Issue
Block a user