添加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

83
doc/03-operations.md Normal file
View File

@@ -0,0 +1,83 @@
# 03 运维与排障
## 日志
```bash
docker compose logs -f backend
docker compose logs -f worker
docker compose logs -f frontend
docker compose logs -f minio
```
## 健康检查
```bash
curl http://localhost:8000/health
curl -I http://localhost:3000
curl http://localhost:9000/minio/health/live
```
## 备份
PostgreSQL
```bash
docker compose exec postgres pg_dump -U seguser segserver > segserver.sql
```
MinIO 数据:
```bash
docker run --rm -v seg_server_docker_minio-data:/data -v "$PWD":/backup alpine \
tar czf /backup/minio-data.tgz -C /data .
```
## 恢复
PostgreSQL
```bash
cat segserver.sql | docker compose exec -T postgres psql -U seguser segserver
```
MinIO先停止服务再恢复数据卷内容。
```bash
docker compose down
docker run --rm -v seg_server_docker_minio-data:/data -v "$PWD":/backup alpine \
sh -c 'cd /data && tar xzf /backup/minio-data.tgz'
docker compose up -d
```
## 常见问题
### 页面能打开,但图片或帧缩略图打不开
检查 `.env``PUBLIC_HOST`。它必须是浏览器可访问的主机名或 IP。修改后执行
```bash
docker compose up -d --build backend worker
```
### 前端请求后端失败
检查 `CORS_ORIGINS` 是否包含当前前端访问地址,例如:
```env
CORS_ORIGINS=["http://192.168.3.11:3000","http://localhost:3000"]
```
### AI 模型不可用
最小镜像默认不安装 PyTorch/SAM2也不包含权重。普通标注功能不受影响。需要 AI 推理时按 `doc/02-deployment.md` 扩展 GPU 镜像并挂载权重。
### 恢复演示出厂设置失败
确认演示文件存在:
```bash
ls demo/演视LC视频序列.mp4
ls demo/演视DICOM序列/*.dcm
```
缺少演示文件时,系统仍可正常使用,但恢复演示出厂设置会提示找不到演示数据。