Files
REVOXELSEG_DICOM/工程分析/实现方案-2026-05-21-10-38-49.md

64 lines
2.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 实现方案Docker 双环境部署与 FRPC 公网映射
实现方案文档路径:`工程分析/实现方案-2026-05-21-10-38-49.md`
## 修改目标
新增完整容器化部署方案,使项目可通过 Docker Compose 在本机和威联通 NAS Container Station 中运行,并通过内置 frpc 服务映射到 `82.157.255.195:10008`,配合 `revoxel.huijutec.cn` 访问。
## 涉及路径
- `.dockerignore`
- `Docker部署/Dockerfile`
- `Docker部署/README.md`
- `Docker部署/本机/docker_compose.yaml`
- `Docker部署/威联通NAS/docker_compose.yaml`
- `工程分析/需求分析-2026-05-21-10-38-49.md`
- `工程分析/实现方案-2026-05-21-10-38-49.md`
- `工程分析/测试方案-2026-05-21-10-38-49.md`
- `工程分析/经验记录.md`
## 技术路线
1. 停止现有 `tmux` 会话中的 `npm run serve` 服务。
2. 新增 Dockerfile
- 使用 Node 官方镜像。
- 复制 `WebSite/package*.json` 并执行 `npm ci`
- 复制 WebSite 源码、默认 DICOM 数据和默认 STL 数据。
- 执行 `npm run build`
- 使用 `NODE_ENV=production` 通过 `npm run serve -- --host 0.0.0.0 --port 4000` 启动。
3. 新增本机 Compose
- `revoxelseg_web` 暴露 `4000:4000`
- 挂载本机部署目录下的 `data/``exports/`
- `revoxelseg_frpc` 使用 `snowdreamtech/frpc:latest`,启动时写入 `/tmp/frpc.toml`
4. 新增 QNAP Compose
- build context 使用 `/share/Container/revoxelseg_dicom` 绝对路径。
- 运行态目录挂载到 `/share/Container/revoxelseg_dicom/data``exports`
- frpc 直接内嵌同样的远端映射配置。
5. 新增 README 说明部署、访问、停止、日志查看和路径修改方式。
## 执行步骤
1. 创建 `Docker部署/``Docker部署/本机/``Docker部署/威联通NAS/`
2. 写入 Dockerfile、两份 Compose 与 README。
3. 执行 `npm run lint``npm run build`
4. 执行 `docker compose -f Docker部署/本机/docker_compose.yaml config` 校验语法。
5. 构建并启动本机 Docker 部署。
6. 验证 `http://127.0.0.1:4000/api/health``http://127.0.0.1:4000/`
7. 检查 frpc 容器日志是否启动并尝试连接服务端。
8. 更新经验记录并提交本次相关文件。
## 兼容性与回滚方案
- 回滚到旧部署:执行 `docker compose -f Docker部署/本机/docker_compose.yaml down` 后,按旧方式进入 `WebSite` 执行 `npm run serve -- --host 0.0.0.0 --port 4000`
- 如果 QNAP 路径不同,只需修改 NAS Compose 中的 `build.context` 和 volume 宿主机路径。
- 如果远端端口冲突,修改 frpc `remotePort` 和 NPM 反向代理目标端口即可。
## 预计文件变更
新增 Docker 部署文件,不修改业务源码。
## 提交与部署策略
提交包含 Docker 部署文件与工程分析文档;部署以本机 Docker Compose 作为验证环境。软著材料和无关工作区变化不纳入提交。