Skip to content

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 :

  1. Cloner le dépôt maintenance dans /home/dockerweb/maintenance si ce n'est pas déjà fait, sinon puller le dépôt.
  2. Mettre à jour dans le .env de ce service la variable HOSTS 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)
  3. Démarrer ce service
  4. Faire la suite des mises à jour traefik
  5. 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 ?