2.9 KiB
2.9 KiB
需求分析: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。