Files
REVOXELSEG_DICOM/工程分析/需求分析-2026-05-21-10-38-49.md

2.9 KiB
Raw Blame History

需求分析Docker 双环境部署与 FRPC 公网映射

开始时间2026-05-21-10-38-49

原始需求摘要

用户要求先停掉当前程序运行服务,然后新建一个部署文件夹,为项目补充两种 Docker 部署方式:

  • 本机 Docker 部署。
  • 威联通 NAS Container Station / QTS 容器工作站部署。

同时需要在 docker_compose.yaml 中直接写入 frpc 配置,将本项目容器内访问端口映射到 FRP 服务端 82.157.255.195:7000,并将远端 TCP 端口设置为 10008。用户已在 NPM 反向代理中配置 revoxel.huijutec.cn 指向远端 10008,最终希望既可通过 http://192.168.3.11:4000/ 局域网访问,也可通过 revoxel.huijutec.cn 访问。

业务目标

将当前依赖 tmux + npm run serve 的部署方式升级为可复制、可迁移的容器化部署方案,降低新环境构建成本,并兼容 NAS 的 Container Station 使用习惯。

输入与输出

输入:

  • 当前项目源码、默认 DICOM 数据 Head_CT_DICOM/、默认 STL 数据 Head_CT_ReConstruct/
  • 用户给出的 frpc 连接配置、token、远程端口和 QNAP 部署样例。

输出:

  • Docker 镜像构建文件。
  • 本机 docker_compose.yaml
  • 威联通 NAS / QTS docker_compose.yaml
  • 部署说明文档。
  • 工程分析记录、测试记录与经验记录。

影响范围

  • 新增 Docker 部署相关目录和文件。
  • 新增 Docker 构建上下文忽略规则。
  • 不改变前后端业务源码,不改变 DICOM/STL 处理逻辑。
  • 当前运行服务从 tmux 模式切换到 Docker Compose 模式。

关键约束

  • 当前服务必须先停止,避免端口 4000 冲突。
  • frpc 配置直接写在 Compose 文件内,不依赖外部 frpc.toml
  • NAS 版 Compose 需要使用绝对路径,适配 QTS Container Station 不一定从项目根目录执行的情况。
  • 默认演示数据必须在容器中可用;运行态 WebSite/dataWebSite/exports 需要可持久化。
  • 提交时避免混入既有无关删除、测试压缩包和软著目录。

风险点

  • Docker 构建上下文包含 DICOM/STL 默认数据,镜像体积会偏大,但这是新环境默认项目可用的代价。
  • frpc 连接依赖公网服务器、token、远端端口占用和 NPM 反向代理配置,本地只能验证容器启动,公网域名需结合服务器侧状态确认。
  • QNAP 版绝对路径需要用户将项目放到约定目录 /share/Container/revoxelseg_dicom,否则需要改 Compose 中路径。
  • 当前服务使用 TypeScript server.ts + tsx 运行,生产镜像需要保留运行时所需依赖。

默认假设

  • 公网域名由用户的 NPM 反向代理处理 HTTPS 或 HTTP 入口,项目容器只需暴露 HTTP 4000。
  • frpc 远端端口固定使用 10008
  • 本机部署目录可使用相对路径挂载运行态数据NAS 部署使用 /share/Container/revoxelseg_dicom