31 lines
922 B
Bash
Executable File
31 lines
922 B
Bash
Executable File
#!/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; }
|
|
|
|
test -f docker-compose.yml || { err "❌ docker-compose.yml introuvable ici"; exit 1; }
|
|
|
|
say "🧹 down --remove-orphans…"
|
|
docker compose down --remove-orphans || true
|
|
|
|
say "🏗 build --no-cache…"
|
|
docker compose build --no-cache
|
|
|
|
say "🚀 up -d (db, api, web)…"
|
|
docker compose up -d
|
|
|
|
say "🔎 ps:"
|
|
docker compose ps
|
|
|
|
say "⏳ test santé API via Nginx: http://localhost/api/health (60s max)"
|
|
deadline=$(( $(date +%s) + 60 ))
|
|
ok=false
|
|
while [[ $(date +%s) -lt $deadline ]]; do
|
|
if curl -fsS http://localhost/api/health >/dev/null 2>&1; then ok=true; break; fi
|
|
sleep 2
|
|
done
|
|
[[ "$ok" == "true" ]] || { err "❌ API pas encore OK. Logs:"; docker compose logs --tail=80 api || true; exit 1; }
|
|
|
|
say "✅ OK: Frontend http://localhost | API via proxy http://localhost/api/…"
|