- 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>
5.8 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 文件 | 一键命令 | 等价 --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 当前权威文档
- 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 只保留最短启动说明,不再承担部署手册职责