- DEPLOYMENT §1.2 / LINUX_SETUP §11 / README / OPERATIONS 补充: docker compose up -d 对本地已有同名镜像不会自动重建,更新代码后 需 up -d --build 或先 build(部署机实测复用旧镜像后澄清) - build.sh 描述由四步修正为 base → backend → frontend 三步(celery 复用 backend 镜像,随 Dockerfile.celery 移除的文档收尾) Co-Authored-By: Claude Code <noreply@anthropic.com>
5.9 KiB
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 / frontend 3 个镜像(celery 复用 backend)
或让 compose 构建:
docker compose up -d --build
注意:
docker compose up -d在本地已有同名镜像(如gemold-backend:latest)时不会自动重建,会直接复用旧镜像启动。更新代码或 Dockerfile 后,必须docker compose build或docker compose up -d --build才会生效。
详细 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 当前权威文档
- DEPLOYMENT.md
- 部署入口与文档导航
- deployment/LINUX_SETUP.md
- Linux 环境下的详细部署操作说明
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. 相关专题文档
以下文档可作为部署/存储方向的补充参考,但不替代部署入口文档:
- deployment/DEPLOY_PORT.md
- deployment/PORT_CONFIG.md
- topics/storage/RUSTFS_STORAGE.md
- topics/storage/STORAGE_SETUP.md
6. 后续整理原则
部署文档后续将遵循以下规则:
- 部署入口信息只在本文维护
- 操作步骤只在 deployment/LINUX_SETUP.md 维护
- 历史迁移说明与阶段计划迁入
docs/archive/ - README 只保留最短启动说明,不再承担部署手册职责