2026-05-21 15:56:53 +08:00
|
|
|
|
# Docker Compose 部署(NVIDIA GPU)
|
|
|
|
|
|
|
|
|
|
|
|
本文说明在 **NVIDIA GPU 服务器**上通过 Docker Compose 部署全套后端(FastAPI + PostgreSQL + MinIO),以及 Demo 客户端、语音确认页的**手动**启动方式。
|
|
|
|
|
|
|
2026-05-21 16:02:25 +08:00
|
|
|
|
## 仓库结构
|
|
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
operation-room-monitor/
|
|
|
|
|
|
backend/ # API + DB + MinIO(docker compose)
|
|
|
|
|
|
clients/ # 独立前端(手动启动)
|
|
|
|
|
|
docs/ # 文档
|
|
|
|
|
|
```
|
|
|
|
|
|
|
2026-05-21 15:56:53 +08:00
|
|
|
|
## 架构
|
|
|
|
|
|
|
|
|
|
|
|
| 组件 | 部署方式 | 默认端口 |
|
|
|
|
|
|
|------|----------|----------|
|
2026-05-21 16:02:25 +08:00
|
|
|
|
| API + PostgreSQL + MinIO | `cd backend && docker compose up -d --build` | 38080 / 35432 / 9000 |
|
|
|
|
|
|
| Demo 客户端 | `clients/demo-client/start.sh` | 38081 |
|
|
|
|
|
|
| 语音确认页 | `clients/voice-confirmation/start.sh` | 8080 |
|
2026-05-21 15:56:53 +08:00
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## 一、前置条件
|
|
|
|
|
|
|
2026-05-21 16:02:25 +08:00
|
|
|
|
- Docker Compose V2、NVIDIA 驱动、NVIDIA Container Toolkit
|
|
|
|
|
|
- 复制 `backend/.env.example` 为 `backend/.env` 并填写
|
|
|
|
|
|
- ActionFormer 权重:`backend/app/resources/actionformer_epoch_045.pth.tar`
|
2026-05-21 15:56:53 +08:00
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## 二、启动后端
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
2026-05-21 16:02:25 +08:00
|
|
|
|
cd backend
|
2026-05-21 15:56:53 +08:00
|
|
|
|
docker compose up -d --build
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
健康检查:
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
curl -sf http://127.0.0.1:38080/health
|
|
|
|
|
|
```
|
|
|
|
|
|
|
2026-05-21 16:02:25 +08:00
|
|
|
|
GPU 验证:
|
2026-05-21 15:56:53 +08:00
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
docker compose exec api python -c "import torch; print(torch.cuda.is_available(), torch.cuda.get_device_name(0))"
|
|
|
|
|
|
```
|
|
|
|
|
|
|
2026-05-21 16:02:25 +08:00
|
|
|
|
停止 / 重置:
|
2026-05-21 15:56:53 +08:00
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
docker compose down
|
2026-05-21 16:02:25 +08:00
|
|
|
|
docker compose down -v # 删除 PostgreSQL / MinIO 卷
|
2026-05-21 15:56:53 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
2026-05-21 16:02:25 +08:00
|
|
|
|
## 三、手动启动客户端
|
2026-05-21 15:56:53 +08:00
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
cd clients/demo-client && ./start.sh
|
|
|
|
|
|
cd clients/voice-confirmation && ./start.sh
|
|
|
|
|
|
```
|
|
|
|
|
|
|
2026-05-21 16:02:25 +08:00
|
|
|
|
浏览器 Base URL 填 `http://<GPU服务器IP>:38080`。
|
2026-05-21 15:56:53 +08:00
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
2026-05-21 16:02:25 +08:00
|
|
|
|
## 四、相关文档
|
2026-05-21 15:56:53 +08:00
|
|
|
|
|
2026-05-21 16:02:25 +08:00
|
|
|
|
- [部署版使用指南.md](部署版使用指南.md)
|
|
|
|
|
|
- [客户端手术通信接口说明.md](客户端手术通信接口说明.md)
|
|
|
|
|
|
- [clients/demo-client/README.md](../clients/demo-client/README.md)
|
|
|
|
|
|
- [clients/voice-confirmation/README.md](../clients/voice-confirmation/README.md)
|
|
|
|
|
|
- [离线镜像tarball部署.md](离线镜像tarball部署.md)
|