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

60 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
## 原始需求摘要
用户要求先停掉当前程序运行服务,然后新建一个部署文件夹,为项目补充两种 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/data``WebSite/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`