Files
HSAP/scripts/dev_up.sh

63 lines
1.9 KiB
Bash
Raw Normal View History

#!/usr/bin/env bash
# 一键启动 HSAP 平台 + 内置 CVAT 标注引擎
set -euo pipefail
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
cd "$ROOT"
if [[ ! -f .env ]]; then
cp .env.example .env
echo "已创建 .env请按部署机器修改 AS_WORKSPACE_ROOT / AS_DATA_LAKE_HOST / AS_FRONTEND_URL"
fi
DEFAULT_WS="$(cd "$ROOT/.." && pwd)/workspace"
if [[ -d "$DEFAULT_WS/DMS" ]] && ! grep -q '^AS_WORKSPACE_ROOT=' .env 2>/dev/null; then
echo "AS_WORKSPACE_ROOT=$DEFAULT_WS" >> .env
echo "已写入 AS_WORKSPACE_ROOT=$DEFAULT_WS"
fi
DEFAULT_DATA="$(cd "$ROOT/.." && pwd)/data"
if [[ -d "$DEFAULT_DATA" ]] && ! grep -q '^AS_DATA_LAKE_HOST=' .env 2>/dev/null; then
echo "AS_DATA_LAKE_HOST=$DEFAULT_DATA" >> .env
echo "已写入 AS_DATA_LAKE_HOST=$DEFAULT_DATA"
fi
for key_val in \
"CVAT_HOST=http://hsap-cvat-server:8080" \
"CVAT_PUBLIC_URL=http://127.0.0.1:8080" \
"CVAT_PORT=8080"; do
key="${key_val%%=*}"
if ! grep -q "^${key}=" .env 2>/dev/null; then
echo "$key_val" >> .env
fi
done
if [[ ! -f manifests/feishu.env ]]; then
cp manifests/feishu.env.example manifests/feishu.env
echo "已创建 manifests/feishu.env"
fi
if [[ ! -f platform/ui-hsap/dist/index.html ]]; then
echo "首次启动:构建前端静态包…"
bash scripts/build_web.sh
fi
if ! command -v docker >/dev/null 2>&1; then
echo "未安装 Docker。Ubuntu: sudo apt install docker.io docker-compose-v2"
exit 1
fi
# shellcheck disable=SC1091
[[ -f .env ]] && set -a && source .env && set +a
docker compose up -d --build "$@"
echo ""
echo "服务:"
echo " HSAP 平台 ${AS_FRONTEND_URL:-http://127.0.0.1:8787}"
echo " CVAT 标注画布 ${CVAT_PUBLIC_URL:-http://127.0.0.1:8080} (由 HSAP 嵌入,无需单独登录)"
echo " PostgreSQL localhost:${AS_DB_PORT:-5433}"
echo " Redis localhost:${AS_REDIS_PORT:-6380}"
echo ""
echo "日志: docker compose logs -f platform worker cvat_server"
echo "停止: docker compose down"