添加Docker自包含部署分支

- 新增 Seg_Server_Docker 自包含部署内容,包含前后端、FastAPI、Celery、PostgreSQL、Redis、MinIO、演示视频和 DICOM 数据。

- 保留 demo 数据以支持恢复演示出厂设置,排除 SAM 2.1 .pt 权重并在 README 中补充下载命令。

- 补充 GPU 部署、backend/worker 镜像复用、frpc/frps + NPM 公网域名反代部署说明。

- 在 .env/.env.example 中用 # XXXX 标注局域网和公网域名部署需要修改的配置项。

- 添加部署分支 .gitignore,忽略本地模型权重、构建产物、缓存和日志。
This commit is contained in:
2026-05-07 19:06:07 +08:00
commit b5413066a0
396 changed files with 32742 additions and 0 deletions

96
doc/02-deployment.md Normal file
View File

@@ -0,0 +1,96 @@
# 02 部署步骤
## 前置条件
- Docker Engine 24+
- Docker Compose v2+
- Linux 主机建议至少 4 核 CPU、8 GB 内存;启用 SAM2/GPU 时按模型权重另行评估。
## 本机部署
```bash
cd /home/wkmgc/Desktop/Seg_Server_Docker
cp .env.example .env
docker compose up -d --build
```
验证:
```bash
curl http://localhost:8000/health
docker compose ps
```
## 局域网部署
1. 获取服务器 IP例如 `192.168.3.11`
2. 修改 `.env`
```env
PUBLIC_HOST=192.168.3.11
CORS_ORIGINS=["http://192.168.3.11:3000","http://localhost:3000","http://127.0.0.1:3000"]
```
3. 重新创建后端和 worker
```bash
docker compose up -d --build backend worker frontend
```
4. 访问:
```text
http://192.168.3.11:3000
```
需要放行端口:`3000``8000``9000`、可选 `9001`
## 演示出厂设置数据
恢复演示出厂设置会检查:
```text
demo/演视LC视频序列.mp4
demo/演视DICOM序列/*.dcm
```
部署包当前已经包含这些演示文件。如需替换为其它演示数据,可按相同命名覆盖:
```bash
mkdir -p demo/演视DICOM序列
cp /path/to/video.mp4 demo/演视LC视频序列.mp4
cp /path/to/dicom-series/*.dcm demo/演视DICOM序列/
docker compose restart backend worker
```
## SAM2 / GPU 扩展
最小镜像没有安装 PyTorch 和 SAM2因此 AI 推理会显示不可用,但普通项目、模板、手工标注、上传、拆帧、导出仍可运行。
启用 SAM2 的一种方式:
1. 基于 `Dockerfile.backend` 创建 GPU 版 Dockerfile。
2. 安装与你 CUDA 匹配的 PyTorch 和 `sam2`
3. 将权重放入 `models/`,例如:
```text
models/sam2.1_hiera_tiny.pt
```
4. 在 compose 中为 `backend``worker` 增加 GPU runtime/device 配置。
5. 保持 `.env` / compose 中:
```env
SAM_MODEL_PATH=/app/models/sam2.1_hiera_tiny.pt
SAM_MODEL_CONFIG=configs/sam2.1/sam2.1_hiera_t.yaml
```
## 更新部署包
从源码仓库更新后,重新构建:
```bash
docker compose up -d --build
```
数据库 schema 会由后端启动时执行 `create_all` 和兼容列检查。重要生产环境仍建议先备份数据库和 MinIO 数据。