#!/usr/bin/env sh set -eu SCRIPT_DIR=$(CDPATH= cd -- "$(dirname "$0")" && pwd) INFRA_DIR=$(CDPATH= cd -- "$SCRIPT_DIR/.." && pwd) PROJECT_DIR=$(CDPATH= cd -- "$INFRA_DIR/.." && pwd) RUN_ACCEPTANCE_ON_UP="${RUN_ACCEPTANCE_ON_UP:-true}" EXPORT_OPENAPI_ON_UP="${EXPORT_OPENAPI_ON_UP:-true}" RUN_BASELINE_ON_UP="${RUN_BASELINE_ON_UP:-false}" cd "$INFRA_DIR" docker compose -f docker-compose.yml up --build -d echo "等待 API 健康检查..." until curl -fsS http://127.0.0.1:8000/health >/dev/null 2>&1; do sleep 3 done until curl -fsS -X POST http://127.0.0.1:8000/poc/ingest/bootstrap >/dev/null 2>&1; do sleep 3 done if [ "$RUN_ACCEPTANCE_ON_UP" = "true" ]; then echo "执行一键闭环验收脚本..." sh "$SCRIPT_DIR/acceptance-e2e.sh" fi if [ "$EXPORT_OPENAPI_ON_UP" = "true" ]; then echo "导出 OpenAPI 固化产物到 docs/openapi.json ..." sh "$SCRIPT_DIR/export-openapi.sh" "$PROJECT_DIR/docs/openapi.json" fi if [ "$RUN_BASELINE_ON_UP" = "true" ]; then echo "执行容量基线压测..." sh "$SCRIPT_DIR/load-baseline.sh" "$PROJECT_DIR/docs/CAPACITY_BASELINE.md" fi echo "本地环境已启动。Web: http://127.0.0.1:5173 API: http://127.0.0.1:8000/docs"