Files
geMoldInsight/docs/DEPLOYMENT.md
T
cjw 4373fafd55 🐛 fix(deploy): 移除服务 profiles——裸 up / 裸 -f 恢复一键可用
compose 规则:声明了 profiles 的服务在不带 --profile 时永远不会被选中。
拆分首版保留 profiles(双保险设计)导致部署机实测 docker compose up -d
与 -f <file> up -d 均报 "no service selected",与"一键部署、换文件名换
模式"的核心诉求互斥,故彻底移除:

- 三个 compose 文件的全部 services 去掉 profiles 块,模式切换唯一入口 = -f 文件名
- 历史 --profile full/moldinsight/inventory 写法随之失效(目标服务本就已
  移出默认文件,兼容无意义);文档/构建脚本提示/STATUS 日志同步改为失效声明
- frontend/README 移除"仅起前端"用法(前端反代依赖 unified backend,推荐整栈)

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

5.5 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 文件 一键命令
unified(默认) docker-compose.yml docker compose up -d
moldinsight-only docker-compose.moldinsight.yml docker compose -f docker-compose.moldinsight.yml up -d
inventory-only docker-compose.inventory.yml docker compose -f docker-compose.inventory.yml up -d

模式切换唯一入口是 -f 文件名。各 service 均未声明 profiles(compose 规则:声明了 profiles 的服务在不带 --profile 时不会被选中,裸 up 会报 no service selected);历史 --profile full/moldinsight/inventory 写法随本次拆分失效,请统一改用上表命令。

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

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

2.2 moldinsight-only

只部署模具分析后端。

适合:

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

Compose 文件:docker-compose.moldinsight.yml

一键命令:

docker compose -f docker-compose.moldinsight.yml 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

包含服务:仅 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 只保留最短启动说明,不再承担部署手册职责