Lancer le service de maintenance à la mise à jour des serveurs docker
Problème
Certains services (Dolibarr, Nextcloud notament) durant leur maintenance montre des pages de mise à jour que les utilisateurs ne doivent pas voir.
D'autres, notamment Nextcloud renvoient des erreurs 401 sur la plupart des pages pendant la maintenance, ce qui amène à des bans fail2ban.
Certains affichent des messages d'erreur (Tétras Lab, Gitlab).
Bref pendant les maintenance on veut cacher les services quand c'est faisable
Solution
Pour les serveurs dockerizé, on a développé un service qui prend le pas pour tous les domaines spécifiés dans le .env
sauf pour les clients dont l'IP est spécifié dans le .env
, et affiche une page statique de maintenance.
Il faudrait au début de la mise à jour lancer ce service pour tous les domaines servis par Traefik puis l'arrêter à la fin.
TODO
Dans upgradeTraefik.sh
, avant la première mise à jour, il faudrait :
- Cloner le dépôt maintenance dans
/home/dockerweb/maintenance
si ce n'est pas déjà fait, sinon puller le dépôt. - Mettre à jour dans le
.env
de ce service la variableHOSTS
qui doit contenir la liste des domaines servis par Traefik voir #15 (closed) et la variable IGNORE_IPS qui doit contenir l'IP de tétras$(dig tetrix.tetras-libre.fr)
- Démarrer ce service
- Faire la suite des mises à jour traefik
- Demander une confirmation manuelle affichant la liste des domaines avant de désactiver le service de maintenance
@elian te sent-tu de faire tout ou partie de ce ticket ?