Premiere verison route admin operationnelle

This commit is contained in:
karim hassan
2025-08-25 12:39:54 +00:00
parent eabd0aa50f
commit 38ea5c7da0
21 changed files with 692 additions and 53 deletions

57
diag_502.sh Executable file
View File

@@ -0,0 +1,57 @@
#!/usr/bin/env bash
set -euo pipefail
say(){ printf "\033[1;36m%s\033[0m\n" "$*"; }
err(){ printf "\033[1;31m%s\033[0m\n" "$*" >&2; }
say "▶ docker compose ps"
docker compose ps || { err "❌ Pas dans le bon dossier ?"; exit 1; }
say "▶ Test host → Nginx"
if curl -fsS http://localhost/api/health >/dev/null 2>&1; then
say "✅ Host OK: http://localhost/api/health"
exit 0
else
err "⚠️ Host 502 (ou autre). On continue…"
fi
say "▶ API container up ?"
if ! docker compose ps | awk 'NR>1{print $1,$4}' | grep -q 'api .*Up'; then
err "❌ Service api pas UP → démarrage…"
docker compose up -d api
fi
say "▶ Test API inside api container"
docker compose exec api sh -lc 'apk add --no-cache curl >/dev/null 2>&1 || true; curl -i http://localhost:4000/api/health || true'
say "▶ Test depuis Nginx vers api:4000"
if docker compose exec web sh -lc 'wget -q -O- http://api:4000/api/health >/dev/null 2>&1'; then
say "✅ Nginx atteint api:4000"
TARGET="api:4000"
else
err "⚠️ api:4000 KO. Test vers supersunday_api:4000…"
if docker compose exec web sh -lc 'wget -q -O- http://supersunday_api:4000/api/health >/dev/null 2>&1'; then
say "✅ Nginx atteint supersunday_api:4000"
TARGET="supersunday_api:4000"
else
err "❌ Nginx n'atteint pas l'API par le réseau docker."
say "Logs web (Nginx) :"; docker compose logs --since=2m web || true
say "Logs api :"; docker compose logs --since=2m api || true
exit 1
fi
fi
say "▶ Vérifie/force nginx.conf → upstream ${TARGET}"
# Remplace le bloc upstream par la bonne cible
if [ -f nginx/nginx.conf ]; then
# Portable sur macOS (BSD sed) : crée sauvegarde .bak
sed -i '' -e "s#upstream api_upstream {[^}]*}#upstream api_upstream { server ${TARGET}; keepalive 16; }#g" nginx/nginx.conf
docker compose restart web
else
err "❌ nginx/nginx.conf introuvable"
exit 1
fi
say "▶ Re-test host → Nginx"
curl -i http://localhost/api/health || { err "❌ Toujours KO"; exit 1; }
say "✅ OK via Nginx"