Files
HSAP/scripts/dev_up.sh

43 lines
1.5 KiB
Bash
Raw Normal View History

#!/usr/bin/env bash
# 一键启动 HSAP 平台 + 内置 CVAT 标注引擎
set -euo pipefail
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
cd "$ROOT"
COMPOSE_FILES=(-f docker-compose.yml -f docker-compose.cvat.yml)
if [[ ! -f .env ]]; then
cp .env.example .env
echo "已创建 .env默认挂载本仓库大文件数据可设置 AS_WORKSPACE_ROOT"
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
if ! grep -q '^CVAT_HOST=' .env 2>/dev/null; then
echo "CVAT_HOST=http://hsap-cvat-server:8080" >> .env
fi
if ! grep -q '^CVAT_PUBLIC_URL=' .env 2>/dev/null; then
echo "CVAT_PUBLIC_URL=http://127.0.0.1:8080" >> .env
fi
if ! command -v docker >/dev/null 2>&1; then
echo "未安装 Docker。Ubuntu: sudo apt install docker.io docker-compose-v2"
exit 1
fi
docker compose "${COMPOSE_FILES[@]}" up -d --build "$@"
echo ""
echo "服务:"
echo " HSAP 平台 http://127.0.0.1:${AS_PLATFORM_PORT:-8787}"
echo " CVAT 标注画布 http://127.0.0.1:${CVAT_PORT:-8080} (由 HSAP 嵌入,无需单独登录)"
echo " PostgreSQL localhost:${AS_DB_PORT:-5432}"
echo " Redis localhost:${AS_REDIS_PORT:-6379}"
echo ""
echo "React 热更新: docker compose --profile dev up -d web-dev → :5173"
echo "日志: docker compose ${COMPOSE_FILES[*]} logs -f platform worker cvat_server"
echo "停止: docker compose ${COMPOSE_FILES[*]} down"