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ément | Mécanisme |
|---|---|
| Docker | service systemd docker (activé) |
| Conteneurs de l'application | restart: 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ées | cron de l'hôte |
| Workers Messenger | supervisord, dans le conteneur backend |
Vérifier :
systemctl is-enabled docker
docker ps --format '{{.Names}}\t{{.Status}}' | sort
Après un redémarrage du serveur
-
Attendre deux minutes (PostgreSQL d'abord, puis le backend qui attend la base et joue les migrations).
-
Contrôler l'état :
cd ~/pch-sigdocker compose -f docker-compose.prod.yml psdocker exec pch_backend curl -s http://127.0.0.1:8000/api/health -
En production, vérifier que la réplication vers l'esclave de secours a repris (conteneur
pch_pg_dr_proxyen cours d'exécution). -
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
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.