#!/usr/bin/env bash # scripts/healthcheck.sh — verifie que la stack repond set -euo pipefail DOCMOST_URL="${DOCMOST_URL:-http://localhost:3000}" BASEROW_URL="${BASEROW_URL:-http://localhost:8080}" BRIDGE_URL="${BRIDGE_URL:-}" TIMEOUT="${HEALTHCHECK_TIMEOUT:-10}" red() { printf '\033[31m%s\033[0m\n' "$1"; } green() { printf '\033[32m%s\033[0m\n' "$1"; } check() { local name="$1" local url="$2" if curl -sf --max-time "$TIMEOUT" -o /dev/null "$url"; then green " OK $name : $url" return 0 else red " KO $name : $url" return 1 fi } echo "Healthcheck (timeout ${TIMEOUT}s)..." ok=0 total=0 ((++total)) || true check "Docmost " "$DOCMOST_URL" && ((++ok)) || true ((++total)) || true check "Baserow " "$BASEROW_URL" && ((++ok)) || true if [ -n "$BRIDGE_URL" ]; then ((++total)) || true check "Bridge " "$BRIDGE_URL/api/health" && ((++ok)) || true fi echo "" if [ "$ok" -eq "$total" ]; then green "Healthcheck : $ok/$total OK" exit 0 else red "Healthcheck : $ok/$total OK" exit 1 fi