Files
HSAP/docker-compose.yml
Chengfang Lu 672ef61e17 feat: CVAT 标注引擎、我的标注收件箱与 ADAS Cuboid 送标
- 统一标注引擎为 CVAT:客户端/配置/格式转换、iframe 标注页、docker-compose.cvat.yml 与 no_auth 补丁
- 移除 Label Studio 相关配置与构建脚本,清理 embedded.bak 备份与误提交的 node_modules
- 新增「我的标注」:跨 Campaign 收件箱、逐张清单、CVAT frame 跳转
- 飞书任务分配:通讯录同步选人、按量分配、分配后 DM 通知(含 my-tasks 链接)
- ADAS cuboid_7cls 数据湖接入:workflow 路径、register-batch、开标上传与标注同步
- 数据湖挂载 AS_DATA_LAKE_ROOT、datasets/adas 符号链接、reset_labeling 运维脚本
- 补充 docs/HANDOVER.md 项目交接文档

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-15 17:25:28 +08:00

158 lines
4.3 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# HSAP — Huaxu Sentinel Active Safety Platform
# 用法:
# docker compose up -d # 仅平台
# docker compose -f docker-compose.yml -f docker-compose.cvat.yml up -d # 平台 + CVAT 标注引擎
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
AS_DATA_LAKE_ROOT: /data/data
# CVAT 标注引擎(合并 docker-compose.cvat.yml 时生效;无需 CVAT 账号)
CVAT_HOST: ${CVAT_HOST:-http://hsap-cvat-server:8080}
CVAT_PUBLIC_URL: ${CVAT_PUBLIC_URL:-http://127.0.0.1:8080}
x-platform-volumes: &platform-volumes
- .:/data/hsap
- ${AS_WORKSPACE_ROOT:-./.workspace-stub}:/data/workspace:ro
- ${AS_DATA_LAKE_HOST:-../data}:/data/data
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
networks:
default:
aliases:
- postgres
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
networks:
default:
aliases:
- redis
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: