Files
geMoldInsight/docs/DEPLOYMENT.md
T
cjw a548623ea5 📦 build(deploy): Compose 按部署模式拆分三文件——换文件名即换模式一键部署
- docker-compose.yml(unified 默认入口)/ docker-compose.moldinsight.yml / docker-compose.inventory.yml 三文件一一对应三种部署模式,profiles 字段保留(--profile 旧命令双保险可用)
- 修复两个既有部署隐患:moldinsight-only 场景 celery depends_on 悬空;moldinsight service image 统一为 gemold-backend:latest 与 Dockerfile.celery FROM 对齐(废弃 gemold-moldinsight tag)
- gemold_network / uploads_data / html_data 固定 name 命名;inventory-only 不声明卷避免空卷;每文件内 x-base-env anchor 收敛重复 environment(SECRET_KEY/ADMIN_PASSWORD fail-fast 保留)
- 文档同步 11 处:DEPLOYMENT §1.1 一键部署总表 + §2 三模式命令、LINUX_SETUP §6/§11、README、OPERATIONS §4、build.sh/.bat 提示、PORT_CONFIG / DEPLOY_PORT / STORAGE_SETUP / frontend/README
- STATUS.md 补 2026-09-24 批次日志

验证:三文件 YAML 结构静态校验通过;5 个 service environment 键与拆分前逐一比对零丢失(39/39、34/34、39/39、34/34、20/20)

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-09-24 15:28:13 +08:00

5.8 KiB
Raw Blame History

geMoldInsight 部署总览(DEPLOYMENT)

文档定位:唯一的部署主题入口文档。 本文负责说明当前推荐部署模式、部署文档分工与历史文档去向;不承担全部 Linux 操作细节。详细 Linux 部署步骤见 deployment/LINUX_SETUP.md,当前状态见 STATUS.md,架构边界见 ARCHITECTURE.md。


1. 当前推荐部署模式

当前推荐模式为:

  • unified:frontend + unified backend + moldinsight Celery worker

原因:

  • 适合本地开发与集成环境
  • 前端同域反代可以面对单一 backend
  • 比按路径把前端网关分流到两套后端更易维护

1.1 一键 Compose 部署(按文件名切换模式)

项目按"模式 ↔ Compose 文件"一一对应的方式支持一键部署。换文件名即可换模式:

模式 Compose 文件 一键命令 等价 --profile 命令
unified(默认) docker-compose.yml docker compose up -d docker compose --profile full up -d
moldinsight-only docker-compose.moldinsight.yml docker compose -f docker-compose.moldinsight.yml up -d docker compose --profile moldinsight up -d
inventory-only docker-compose.inventory.yml docker compose -f docker-compose.inventory.yml up -d docker compose --profile inventory up -d

双保险设计:每个 service 的 profiles: 字段保留,因此 --profile 写法继续可用(兼容现有脚本与 CI);同时支持 -f <file> 直接按文件名选择。两种写法等价。

1.2 镜像构建

首次部署或更新代码后先构建,再 up:

bash deploy/build.sh        # 显式构建 base / backend / celery / frontend 4 个镜像

详细 Linux 部署步骤:


2. 支持的部署模式

2.1 unified

一个统一后端同时挂载 moldinsight + inventory。

适合:

  • 本地开发
  • 测试/集成环境
  • 小团队统一部署

Compose 文件:docker-compose.yml(默认入口)

一键命令:

docker compose up -d
# 或等价写法(保留 profile 双保险)
docker compose --profile full up -d

包含服务:frontend + backend(unified 入口)+ moldinsight-celery。

2.2 moldinsight-only

只部署模具分析后端。

适合:

  • 独立开放分析能力
  • 异步任务与文件处理独立扩容

Compose 文件:docker-compose.moldinsight.yml

一键命令:

docker compose -f docker-compose.moldinsight.yml up -d
# 或等价写法
docker compose --profile moldinsight up -d

包含服务:moldinsight(独立 API)+ moldinsight-celery(异步 worker)。

2.3 inventory-only

只部署进销存后端。

适合:

  • 独立部署 ERP / 库存能力
  • 与 moldinsight 分开发布节奏

Compose 文件:docker-compose.inventory.yml

一键命令:

docker compose -f docker-compose.inventory.yml up -d
# 或等价写法
docker compose --profile inventory up -d

包含服务:仅 inventory。不挂任何命名卷(inventory 无文件分析链路),不依赖 RustFS / MinIO。

部署模式的结构含义见 ARCHITECTURE.md。


3. 部署文档分工

3.1 当前权威文档

3.2 端口与配置说明

以下文档作为当前部署补充说明保留:

它们的职责分别是:

  • DEPLOY_PORT.md:端口暴露、端口规划与 Nginx / 防火墙层面的说明
  • PORT_CONFIG.md:环境变量、端口配置项与 direct run / compose 映射补充

它们是部署入口文档的补充参考,不替代本文或 deployment/LINUX_SETUP.md。

3.3 历史/阶段性部署材料

以下材料属于迁移期或历史说明,不应再视为当前部署权威:

这些材料已迁入 docs/archive/,仅用于历史追溯,不替代当前的 DEPLOYMENT.md 、 deployment/LINUX_SETUP.md 与 deployment/DEPLOY_PORT.md。


4. 当前部署事实

当前部署上的几个关键事实:

  • 项目保持单仓库、单数据库
  • frontend 是独立前端工程
  • 后端支持模块化入口
  • moldinsight 的异步分析链路依赖 celery
  • PostgreSQL / Redis / 对象存储通常复用服务器已有服务,而不是必须由项目 compose 自带

这些事实的当前版本以 STATUS.md 和 deployment/LINUX_SETUP.md 为准。


5. 相关专题文档

以下文档可作为部署/存储方向的补充参考,但不替代部署入口文档:


6. 后续整理原则

部署文档后续将遵循以下规则:

  • 部署入口信息只在本文维护
  • 操作步骤只在 deployment/LINUX_SETUP.md 维护
  • 历史迁移说明与阶段计划迁入 docs/archive/
  • README 只保留最短启动说明,不再承担部署手册职责