| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- # =============================================================================
- # 禾瑞思航·低代码 AI 模型训练系统 Docker Compose(示例配置,可按环境修改)
- # =============================================================================
- # 架构说明:
- # - 前端:Vue 3 + Vite 构建为静态资源,由 FastAPI 在 8000 端口统一对外服务
- # - 后端:FastAPI + Uvicorn,提供 /api 接口与模型训练/推理能力
- # - 数据库:默认 SQLite(industrial_ocr.db),数据通过卷持久化到宿主机
- #
- # 快速启动:
- # docker compose up -d --build
- #
- # 本地开发(前后端分离热更新):
- # 后端:.\start.ps1 或 start.bat
- # 前端:npm run dev (默认 http://localhost:3000,API 代理到 8000)
- #
- # 预构建镜像部署(取消 app.build 并启用 image):
- # image: your-registry.cn-hangzhou.cr.aliyuncs.com/your-namespace/islandfox:${APP_IMAGE_TAG:-latest}
- # =============================================================================
- services:
- # 主应用(FastAPI 后端 + Vue 前端静态资源)
- app:
- build:
- context: .
- dockerfile: Dockerfile
- # 若使用远程镜像,注释 build 并启用下行:
- # image: your-registry.cn-hangzhou.cr.aliyuncs.com/your-namespace/islandfox:${APP_IMAGE_TAG:-latest}
- # pull_policy: always
- container_name: islandfox-app
- restart: unless-stopped
- environment:
- - TZ=Asia/Shanghai
- - PYTHONUNBUFFERED=1
- # 宿主机端口:默认 8000;若端口冲突,在项目根目录 .env 写入 APP_PUBLISH_PORT=8001
- ports:
- - "${APP_PUBLISH_PORT:-8000}:8000"
- volumes:
- # 上传文件(标注图片、检测结果等)
- - ./uploads:/app/uploads
- # 数据集与标注数据
- - ./data:/app/data
- # 训练产物与模型文件
- - ./models:/app/models
- # SQLite 数据库(默认路径 /app/industrial_ocr.db;首次部署前在宿主机执行: New-Item -ItemType File -Path industrial_ocr.db -Force)
- - ./industrial_ocr.db:/app/industrial_ocr.db
- # 应用日志
- - app_logs:/app/logs
- networks:
- - islandfox-network
- logging:
- driver: "json-file"
- options:
- max-size: "10m"
- max-file: "3"
- compress: "true"
- healthcheck:
- test: ["CMD", "curl", "-f", "http://localhost:8000/docs"]
- interval: 30s
- timeout: 10s
- retries: 3
- start_period: 60s
- # 如需在 Linux 宿主机使用 USB 摄像头,可取消注释(Windows/macOS 请改用 RTSP/HTTP 流地址)
- # devices:
- # - /dev/video0:/dev/video0
- volumes:
- app_logs:
- driver: local
- networks:
- islandfox-network:
- driver: bridge
|