septembre 2026·Homelab — Projet personnelAutomatisé
Automatisation d'un incident Docker récurrent (qBittorrent / Gluetun)
Diagnostic d'une liaison réseau de conteneurs devenue obsolète après mise à jour, puis mise en place d'une vérification automatique planifiée.
Résumé
Certaines mises à jour de mon environnement Docker recréaient le conteneur Gluetun et pouvaient laisser qBittorrent lié à un ancien namespace réseau. Après diagnostic avec les états et inspections Docker, j’ai mis en place, avec assistance, une vérification automatisée qui détecte la liaison obsolète et recrée qBittorrent si nécessaire.
Contexte
qBittorrent est exécuté dans Docker et partage le namespace réseau d’un conteneur Gluetun utilisé comme passerelle VPN (WireGuard) :
network_mode: "service:gluetun"
Le problème
Après certaines mises à jour ou recréations de Gluetun :
- Gluetun obtenait un nouvel identifiant de conteneur ;
- qBittorrent pouvait conserver une référence vers l’ancien namespace ;
- qBittorrent restait alors en état
createdou ne démarrait plus correctement.
Un simple docker restart de qBittorrent ne suffisait pas toujours.
Diagnostic
Vérifications utilisées :
docker ps
docker inspect
Points contrôlés :
- identifiant du conteneur Gluetun ;
- état
healthyde Gluetun ; NetworkModede qBittorrent ;- état du conteneur qBittorrent ;
- logs.
Le constat central : quand Gluetun était recréé, la référence réseau de
qBittorrent devenait obsolète, ce qui nécessitait parfois de recréer
qBittorrent (par exemple via --force-recreate) plutôt que de le redémarrer.
Intervention
Pour éviter que le problème revienne, une automatisation a été mise en place sous
forme de script (/usr/local/sbin/fix-qbittorrent-gluetun.sh) :
- verrouillage via
flockpour éviter les exécutions simultanées ; - attente de l’état
healthyde Gluetun ; - comparaison du namespace/réseau attendu avec le
NetworkModede qBittorrent ; - recréation/correction de qBittorrent lorsque la liaison est obsolète.
Validation du script :
bash -n /usr/local/sbin/fix-qbittorrent-gluetun.sh
puis exécution et vérification du comportement Docker.
Planification via cron (/etc/cron.d/qbittorrent-gluetun-fix), toutes les
5 minutes ; le service cron a été redémarré et son état vérifié comme actif.
Résultat
Le NAS vérifie automatiquement, toutes les 5 minutes, que qBittorrent pointe toujours vers le bon environnement réseau, et corrige le problème lorsqu’il est détecté.
Ce que ce projet m’a appris
Redémarrer un service corrige le symptôme ; comprendre pourquoi il casse permet de rendre la correction durable. C’est le réflexe que je veux garder en support : chercher la cause, pas seulement rétablir le service.
Technologies
Docker / Compose · inspection et logs de conteneurs · réseau de conteneurs · VPN WireGuard via Gluetun · Bash · cron.