Aller au contenu principal

Démarrage Automatique

Sur les VPS Linux, il n'y a rien à scripter : Docker démarre avec le système et relance les conteneurs selon leur politique de redémarrage.

Ce qui redémarre seul​

ÉlémentMécanisme
Dockerservice systemd docker (activé)
Conteneurs de l'applicationrestart: always dans les fichiers compose
Relais SMTP (smtp_relay)restart: always (~/smtp-relay)
KoboToolbox, Survey Solutions, GitLab (préproduction)politiques de redémarrage de leurs propres compose
pch_pg_dr_proxy (production)unless-stopped, conteneur hors compose
Tâches planifiéescron de l'hôte
Workers Messengersupervisord, dans le conteneur backend

Vérifier :

systemctl is-enabled docker
docker ps --format '{{.Names}}\t{{.Status}}' | sort

Après un redémarrage du serveur​

  1. Attendre deux minutes (PostgreSQL d'abord, puis le backend qui attend la base et joue les migrations).

  2. Contrôler l'état :

    cd ~/pch-sig
    docker compose -f docker-compose.prod.yml ps
    docker exec pch_backend curl -s http://127.0.0.1:8000/api/health
  3. En production, vérifier que la réplication vers l'esclave de secours a repris (conteneur pch_pg_dr_proxy en cours d'exécution).

  4. En préproduction, KoboToolbox met plusieurs minutes à répondre (erreur 502 entre-temps) ; GitLab environ deux minutes.

Relancer un service​

cd ~/pch-sig
docker compose -f docker-compose.prod.yml restart frontend
docker compose -f docker-compose.prod.yml up -d --no-deps backend # recrée le backend (vide le cache, remet les droits)
docker compose -f docker-compose.prod.yml up -d # remet en route tout ce qui manque
danger

Jamais docker compose up -d sans -f depuis ~/pch-sig : cela démarre le squelette Symfony (compose.yaml) au lieu de l'application.

Ancien hébergement​

Les procédures Windows (Docker Toolbox, VirtualBox, netsh portproxy, tâches planifiées Windows) ne s'appliquent plus : l'application ne tourne plus sur un serveur Windows.