添加Docker部署方案
- 多阶段Dockerfile:第一阶段构建前端(npm),第二阶段Python运行时(uv+opencv) - docker-compose.yml:单服务,data/logs目录挂载持久化 - deploy.sh一键部署脚本:自动构建+启动+健康检查 - .dockerignore排除不必要文件减小构建上下文 - main.py添加前端静态文件服务(生产环境单端口部署) - README更新部署文档和代理配置说明
This commit is contained in:
@@ -83,3 +83,63 @@ cd web/frontend && npm install && npm run dev
|
||||
## 许可证
|
||||
|
||||
MIT License
|
||||
|
||||
## 部署
|
||||
|
||||
### Docker 部署(推荐,生产环境)
|
||||
|
||||
```bash
|
||||
# 一键部署(自动构建镜像 + 启动服务)
|
||||
./deploy.sh
|
||||
|
||||
# 或手动操作:
|
||||
docker compose up -d --build
|
||||
```
|
||||
|
||||
部署完成后访问 `http://服务器IP:8000`,默认账号 `admin / admin123`。
|
||||
|
||||
**Docker 常用命令:**
|
||||
|
||||
```bash
|
||||
docker compose logs -f # 查看实时日志
|
||||
docker compose restart # 重启服务
|
||||
docker compose down # 停止服务
|
||||
docker compose up -d --build # 重新构建并启动(代码更新后)
|
||||
```
|
||||
|
||||
**数据持久化:** 数据库和日志通过 volume 挂载到宿主机 `./data` 和 `./logs` 目录,容器重建后数据不丢失。
|
||||
|
||||
### 本地开发
|
||||
|
||||
```bash
|
||||
# 一键启动(自动检查依赖,前后端分离开发模式)
|
||||
./start_web.sh
|
||||
|
||||
# 或手动启动:
|
||||
# 后端
|
||||
uv pip install -e .
|
||||
.venv/bin/python -m uvicorn web.backend.main:app --reload --port 8000
|
||||
|
||||
# 前端
|
||||
cd web/frontend && npm install && npm run dev
|
||||
```
|
||||
|
||||
访问 `http://localhost:5173`(开发模式),默认账号 `admin / admin123`。
|
||||
|
||||
### 代理配置说明
|
||||
|
||||
在 Web 界面"代理配置"页面设置:
|
||||
|
||||
1. **API 代理**:填入代理 API 地址(支持返回 JSON 格式),系统自动获取并验证代理
|
||||
2. **白名单**:如代理需要白名单,填入 UID 和 UKEY,系统自动同步出口 IP
|
||||
3. **出口 IP 漂移**:移动网络出口 IP 频繁漂移时,系统会保留多个出口 IP 在白名单中
|
||||
|
||||
**代理 API JSON 格式:**
|
||||
|
||||
```json
|
||||
// 正常返回
|
||||
{"code":0,"success":"true","msg":"","data":[{"IP":"1.2.3.4","Port":8080}]}
|
||||
|
||||
// 白名单错误
|
||||
{"code":-1,"msg":"51.请先添加白名单:1.2.3.4","data":""}
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user