2026-05-21-10-38-49 新增Docker部署与FRPC映射

This commit is contained in:
2026-05-21 10:50:24 +08:00
parent e4a403f015
commit b027f50118
12 changed files with 554 additions and 2 deletions

View File

@@ -0,0 +1,63 @@
# 实现方案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 作为验证环境。软著材料和无关工作区变化不纳入提交。