Alert-Parent — Runbook : Site Down¶
Procédure à suivre quand Alert-Parent est inaccessible.
Étape 1 : Identifier le problème (2 min)¶
ssh root@IP_DU_VPS
# Le VPS répond-il ?
# Si vous ne pouvez pas SSH → problème réseau/hébergeur → contacter Hostinger
# Les conteneurs tournent ?
docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}" | grep -E "backend|frontend"
Étape 2 : Vérifier les conteneurs (2 min)¶
cd /root/projects/alert-parent/alert-parent-backend
# Si le backend est arrêté ou en restart loop :
docker compose logs backend --tail 50
Si le conteneur ne tourne pas → Étape 3 Si le conteneur tourne mais le site est inaccessible → Étape 4
Étape 3 : Redémarrer le service (2 min)¶
cd /root/projects/alert-parent/alert-parent-backend
docker compose up -d
curl http://127.0.0.1:5011/health
Si ça marche → Fin. Investiguer la cause root plus tard.
Si le conteneur restart en boucle → lire les logs, probablement un problème de .env ou MongoDB.
Étape 4 : Vérifier Nginx (2 min)¶
Nginx tourne comme conteneur Docker :
# Nginx tourne ?
docker ps | grep nginx
# Test direct du backend (bypass Nginx)
curl http://127.0.0.1:5011/health
# Si le backend répond mais pas via le domaine → problème Nginx
docker exec nginx nginx -t # Tester la config
docker exec nginx nginx -s reload # Recharger
# Si Nginx ne tourne pas
docker start nginx
Étape 5 : Vérifier MongoDB Atlas (2 min)¶
Si mongodb.status: "error" :
- Aller sur cloud.mongodb.com
- Vérifier que le cluster est UP
- Vérifier que l'IP du VPS est dans Network Access > IP Whitelist
- Vérifier que le
.envn'est pas vide :
Étape 6 : Rollback (5 min)¶
Si le problème est lié au dernier déploiement :
cd /root/projects/alert-parent/alert-parent-backend
# Lister les images disponibles
docker images ghcr.io/epitechafrik/alert-parent-backend --format "table {{.Tag}}\t{{.CreatedAt}}"
# Rollback vers une version précédente
./scripts/rollback.sh sha-XXXXXXX
# Vérifier
curl -s http://127.0.0.1:5011/health | python3 -m json.tool
Étape 7 : Escalader¶
Si rien ne fonctionne après 15 minutes :
- Documenter ce que vous avez essayé
- Contacter YemalinModeste — yemalin1.agbangla@epitech.eu
- Vérifier les services externes :
- MongoDB Atlas : cloud.mongodb.com
- Resend : resend.com/dashboard
- DNS :
nslookup api.epitools.bj - Hostinger : hpanel.hostinger.com
Aide-mémoire¶
| Service | Port local | Vérification |
|---|---|---|
| Backend | 127.0.0.1:5011 |
curl http://127.0.0.1:5011/health |
| Frontend | 127.0.0.1:3004 |
curl http://127.0.0.1:3004 |
| Chemin VPS | Projet |
|---|---|
/root/projects/alert-parent/alert-parent-backend |
Backend |
/root/projects/alert-parent/alert-parent-frontend |
Frontend |
/root/projects/nginx-config/devops-epiapp/sites-enabled/ |
Nginx |