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 重置后重启(会清空所有数据,慎用) |