Major changes: - New frontend (platform/web/): Vite + React 18 + TypeScript + Tailwind - 4-module navigation: 数据送标 / 模型管理 / 车队管理 / 系统管理 - Data catalog with charts (DMS/ADAS/Lane 3-tab view) - Quality review workflow (标注质检): Good/Fine/Bad scoring with auto-advance - Audit enhancements: batch operations, rejection categories, Feishu notifications - Operation audit log (操作日志) - World model simulation studio (仿真工坊) - Dataset version management with snapshots and diff - ADAS 7-class dataset integration (138K images organized + compressed) - User management with Feishu integration and pagination - CRUD/search/filter on all pages, card layout redesign - PIL-optimized image overlay rendering - Auto-snapshot on build, in_review workflow stage - Removed embedded algorithm code (now in workspace)
144 lines
3.8 KiB
YAML
144 lines
3.8 KiB
YAML
# HSAP — Huaxu Sentinel Active Safety Platform
|
||
# 用法: docker compose up -d
|
||
# docker compose --profile dev up -d # 含 Vite 热更新
|
||
|
||
name: hsap
|
||
|
||
x-platform-env: &platform-env
|
||
AS_DB_HOST: postgres
|
||
AS_DB_PORT: "5432"
|
||
AS_DB_USER: as_platform
|
||
AS_DB_PASSWORD: as_platform
|
||
AS_DB_NAME: as_platform
|
||
AS_REDIS_URL: redis://redis:6379/0
|
||
AS_JOB_EXECUTOR: worker
|
||
AS_DEV_AUTH: "true"
|
||
AS_FORCE_DEV_AUTH: "true"
|
||
AS_JWT_SECRET: dev-docker-secret
|
||
AS_FRONTEND_URL: http://127.0.0.1:8787
|
||
FEISHU_REDIRECT_URI: http://127.0.0.1:8787/api/v1/auth/feishu/callback
|
||
# 容器内 workspace 挂载点(宿主机路径由 compose volumes 的 AS_WORKSPACE_ROOT 决定)
|
||
AS_WORKSPACE_ROOT: /data/workspace
|
||
|
||
x-platform-volumes: &platform-volumes
|
||
- .:/data/hsap
|
||
- ${AS_WORKSPACE_ROOT:-./.workspace-stub}:/data/workspace:ro
|
||
|
||
services:
|
||
postgres:
|
||
image: postgres:16-alpine
|
||
container_name: hsap-postgres
|
||
restart: unless-stopped
|
||
environment:
|
||
POSTGRES_USER: as_platform
|
||
POSTGRES_PASSWORD: as_platform
|
||
POSTGRES_DB: as_platform
|
||
ports:
|
||
- "${AS_DB_PORT:-5432}:5432"
|
||
volumes:
|
||
- hsap_pgdata:/var/lib/postgresql/data
|
||
healthcheck:
|
||
test: ["CMD-SHELL", "pg_isready -U as_platform -d as_platform"]
|
||
interval: 5s
|
||
timeout: 5s
|
||
retries: 8
|
||
|
||
redis:
|
||
image: redis:7-alpine
|
||
container_name: hsap-redis
|
||
restart: unless-stopped
|
||
ports:
|
||
- "${AS_REDIS_PORT:-6379}:6379"
|
||
volumes:
|
||
- hsap_redis:/data
|
||
healthcheck:
|
||
test: ["CMD", "redis-cli", "ping"]
|
||
interval: 5s
|
||
timeout: 3s
|
||
retries: 8
|
||
|
||
platform:
|
||
build:
|
||
context: .
|
||
dockerfile: Dockerfile
|
||
container_name: hsap-platform
|
||
restart: unless-stopped
|
||
env_file:
|
||
- manifests/feishu.env
|
||
ports:
|
||
- "${AS_PLATFORM_PORT:-8787}:8787"
|
||
environment:
|
||
<<: *platform-env
|
||
volumes: *platform-volumes
|
||
depends_on:
|
||
postgres:
|
||
condition: service_healthy
|
||
redis:
|
||
condition: service_healthy
|
||
|
||
worker:
|
||
build:
|
||
context: .
|
||
dockerfile: Dockerfile
|
||
container_name: hsap-worker
|
||
restart: unless-stopped
|
||
env_file:
|
||
- manifests/feishu.env
|
||
environment:
|
||
<<: *platform-env
|
||
volumes: *platform-volumes
|
||
command: ["python", "scripts/worker.py"]
|
||
depends_on:
|
||
platform:
|
||
condition: service_started
|
||
postgres:
|
||
condition: service_healthy
|
||
redis:
|
||
condition: service_healthy
|
||
|
||
# 可选:S3 兼容暂存(联调)— docker compose --profile minio up -d
|
||
minio:
|
||
image: minio/minio:latest
|
||
container_name: hsap-minio
|
||
profiles: ["minio"]
|
||
restart: unless-stopped
|
||
command: server /data --console-address ":9001"
|
||
environment:
|
||
MINIO_ROOT_USER: ${MINIO_ROOT_USER:-minioadmin}
|
||
MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD:-minioadmin_change_me}
|
||
ports:
|
||
- "${MINIO_API_PORT:-9000}:9000"
|
||
- "${MINIO_CONSOLE_PORT:-9001}:9001"
|
||
volumes:
|
||
- hsap_minio_data:/data
|
||
healthcheck:
|
||
test: ["CMD", "curl", "-f", "http://127.0.0.1:9000/minio/health/live"]
|
||
interval: 15s
|
||
timeout: 5s
|
||
retries: 5
|
||
start_period: 15s
|
||
|
||
minio-init:
|
||
image: minio/mc:latest
|
||
container_name: hsap-minio-init
|
||
profiles: ["minio"]
|
||
depends_on:
|
||
minio:
|
||
condition: service_healthy
|
||
environment:
|
||
MINIO_ROOT_USER: ${MINIO_ROOT_USER:-minioadmin}
|
||
MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD:-minioadmin_change_me}
|
||
MINIO_BUCKET: ${MINIO_BUCKET:-hsap-staging}
|
||
entrypoint: >
|
||
/bin/sh -c "
|
||
mc alias set local http://minio:9000 $$MINIO_ROOT_USER $$MINIO_ROOT_PASSWORD &&
|
||
mc mb -p local/$$MINIO_BUCKET || true &&
|
||
mc anonymous set download local/$$MINIO_BUCKET || true
|
||
"
|
||
restart: "no"
|
||
|
||
volumes:
|
||
hsap_pgdata:
|
||
hsap_redis:
|
||
hsap_minio_data:
|