首页 / Wiki / AiDStudio / 编译运行与 Docker 部署

AiDStudio 编译运行与 Docker 部署

目标:在 Linux / Windows(Docker Desktop)上完整启动 AiDStudio,含 GPU 训练能力。

Docker Compose 服务编排

服务 说明
postgresql / redis / minio 元数据库、消息队列、对象存储(数据卷持久化)
backend FastAPI 核心后端(含 MLflow 启动脚本)
frontend Vue 3 前端(生产构建)
celery-worker / celery-beat GPU 训练任务 worker + 定时调度
frame-worker RTSP 抽帧 worker
rknn-worker(可选) RKNN 转换 worker(独立 Python 3.11 隔离环境)
bmodel-worker(profile: bmodel) BModel 转换 worker,需 TPU-MLIR 工具目录

首次启动

# 第 1 步:准备模型文件(唯一必须手动做的事)
    # Ultralytics 权重会自动下载,例如:
    python -c "from ultralytics import YOLO; YOLO('yolo11n.pt')"
    
    # 第 2 步:启动后端依赖与核心服务
    docker compose up -d postgresql redis minio backend frame-worker
    docker compose ps          # 确认全部 healthy
    
    # 第 3 步:登录前端(内置示例数据已自动初始化)
    # 浏览器访问 http://localhost:5173
    
    # 第 4 步(可选):启用 GPU 训练 worker
    docker compose up -d celery-worker celery-beat
    

停止服务

docker compose down            # 停止容器(保留数据库/MinIO 数据)
    docker compose down -v         # 停止并删除数据(慎用!会清空所有数据)
    

本地开发模式(仅改后端 API)

# 不用 Docker 跑后端,直连已运行的 PostgreSQL/MinIO:
    uvicorn app.main:app --host 127.0.0.1 --port 8000 --reload
    

常见问题

问题 处理
docker compose build 连不上 deb.debian.org 网络/代理问题:按 deploy_windows_x64_docker.md 设置 Docker 代理后 build --no-cache backend
后端启动报数据库连接失败 PostgreSQL 未就绪:先 up -d postgresql,等 healthy 后再启 backend
忘记密码/账号(库已初始化) 直接改数据库,或 down -v 重置后重启(会清空所有数据,慎用)