部署文件说明
本目录包含所有部署相关的配置文件。
📁 文件清单
Docker 部署
| 文件 | 说明 |
|---|---|
Dockerfile |
Docker 镜像构建文件 |
docker-compose.yml |
Docker Compose 编排配置 |
.dockerignore |
Docker 构建忽略文件 |
.env.production |
生产环境变量配置 |
Web 服务器
| 文件 | 说明 |
|---|---|
gunicorn.conf.py |
Gunicorn WSGI 服务器配置 |
wsgi.py |
WSGI 应用入口 |
nginx.conf |
Nginx 反向代理配置(可选) |
🚀 快速部署
方式 1:Docker Compose(推荐)
# 1. 构建并启动
docker-compose up -d
# 2. 查看日志
docker-compose logs -f
# 3. 停止服务
docker-compose down
方式 2:Docker 手动部署
# 1. 构建镜像
docker build -f deploy/Dockerfile -t rag-service:latest .
# 2. 运行容器
docker run -d \
-p 5001:5001 \
-v $(pwd)/data:/app/data \
-v $(pwd)/documents:/app/documents \
-v $(pwd)/knowledge:/app/knowledge \
--name rag-service \
rag-service:latest
# 3. 查看日志
docker logs -f rag-service
方式 3:直接部署(服务器)
# 1. 安装依赖
pip install -r requirements.txt
pip install gunicorn
# 2. 启动服务
gunicorn -c deploy/gunicorn.conf.py deploy.wsgi:app
⚙️ 配置说明
Dockerfile
关键配置:
- 基础镜像:
python:3.10-slim - 工作目录:
/app - 暴露端口:
5001 - 启动命令:
gunicorn -c deploy/gunicorn.conf.py deploy.wsgi:app
环境变量:
ENV MINERU_MODEL_SOURCE=local
ENV MINERU_TOOLS_CONFIG_JSON=/root/mineru.json
ENV APP_ENV=prod
ENV ENABLE_SESSION=false
docker-compose.yml
服务配置:
- 端口映射:
5001:5001 - 数据卷挂载:
./data,./documents,./knowledge - 自动重启:
unless-stopped
gunicorn.conf.py
性能配置:
- Workers:
CPU核心数 × 2 + 1 - Worker类型:
sync(同步) - 超时时间:
120秒 - 最大请求数:
1000(防止内存泄漏)
nginx.conf
反向代理配置(可选):
- 负载均衡:
least_conn - 请求限流:
10r/s - 超时配置:
120s - SSE 流式支持:已启用
🔧 环境变量
必需变量
| 变量 | 说明 | 默认值 |
|---|---|---|
APP_ENV |
环境标识 | prod |
MINERU_MODEL_SOURCE |
模型来源 | local |
DASHSCOPE_API_KEY |
通义千问 API Key | 无 |
可选变量
| 变量 | 说明 | 默认值 |
|---|---|---|
ENABLE_SESSION |
会话管理 | false |
ENABLE_FEEDBACK |
反馈系统 | true |
GUNICORN_WORKERS |
Worker 数量 | 自动计算 |
📊 资源要求
最小配置
- CPU:2 核
- 内存:4 GB
- 磁盘:20 GB(含模型)
推荐配置
- CPU:4 核
- 内存:8 GB
- 磁盘:50 GB
🔍 健康检查
Docker 健康检查
# 检查容器状态
docker ps
# 检查健康状态
curl http://localhost:5001/health
服务端点
| 端点 | 说明 |
|---|---|
/health |
健康检查 |
/stats |
服务统计 |
/rag |
RAG 问答(SSE 流式) |
🐛 故障排查
容器无法启动
# 查看日志
docker logs rag-service
# 检查配置
docker exec rag-service cat /root/mineru.json
# 检查模型
docker exec rag-service ls /app/models/mineru
性能问题
# 查看资源使用
docker stats rag-service
# 调整 Worker 数量
# 修改 docker-compose.yml 中的 GUNICORN_WORKERS
端口冲突
# 修改端口映射
# docker-compose.yml: "5002:5001"
📚 相关文档
最后更新: 2026-04-20
维护者: RAG 服务开发组