cd backend
copy config.docker.yaml config.yaml
编辑 config.yaml,修改以下关键配置:
jwt:
secret_key: "你的安全密钥" # 必须修改!
oauth:
enabled: true/false # 根据需要启用
# ... 其他 OAuth 配置
Windows:
cd backend\scripts
docker-build.bat
docker-start.bat
Linux/Mac:
cd backend
chmod +x scripts/*.sh
./scripts/docker-build.sh
./scripts/docker-start.sh
或直接使用 docker-compose:
cd backend
docker-compose up -d
# 健康检查
curl http://localhost:8000/health
# API 文档
浏览器访问: http://localhost:8000/docs
| 操作 | 命令 |
|---|---|
| 构建镜像 | docker build -t lq-label-backend:latest . |
| 启动服务 | docker-compose up -d |
| 停止服务 | docker-compose down |
| 查看日志 | docker-compose logs -f |
| 重启服务 | docker-compose restart |
| 进入容器 | docker exec -it lq-label-backend bash |
数据库文件存储在 backend/data/ 目录,通过 Docker volume 挂载:
backend/
├── data/
│ └── annotation_platform.db # SQLite 数据库
└── config.yaml # 配置文件
python -c "import secrets; print(secrets.token_urlsafe(32))"
jwt:
secret_key: "生成的安全密钥"
server:
reload: false # 关闭热重载
使用 Nginx 作为反向代理:
server {
listen 80;
server_name your-domain.com;
location / {
proxy_pass http://localhost:8000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
# 查看详细日志
docker-compose logs
# 检查配置文件
docker exec lq-label-backend cat /app/config.yaml
# 检查数据目录权限
ls -la backend/data/
# 进入容器检查
docker exec -it lq-label-backend ls -la /app/data/
修改 docker-compose.yml 中的端口映射:
ports:
- "8001:8000" # 改为其他端口