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

2.9 KiB
Raw Blame History

实现方案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/dataexports
    • frpc 直接内嵌同样的远端映射配置。
  5. 新增 README 说明部署、访问、停止、日志查看和路径修改方式。

执行步骤

  1. 创建 Docker部署/Docker部署/本机/Docker部署/威联通NAS/
  2. 写入 Dockerfile、两份 Compose 与 README。
  3. 执行 npm run lintnpm run build
  4. 执行 docker compose -f Docker部署/本机/docker_compose.yaml config 校验语法。
  5. 构建并启动本机 Docker 部署。
  6. 验证 http://127.0.0.1:4000/api/healthhttp://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 作为验证环境。软著材料和无关工作区变化不纳入提交。