Files
geMoldInsight/docs/DEPLOYMENT.md
T

175 lines
5.8 KiB
Markdown
Raw Normal View History

2026-09-01 18:05:18 +08:00
# geMoldInsight 部署总览(DEPLOYMENT)
> 文档定位:**唯一的部署主题入口文档**。
> 本文负责说明当前推荐部署模式、部署文档分工与历史文档去向;不承担全部 Linux 操作细节。详细 Linux 部署步骤见 [deployment/LINUX_SETUP.md](deployment/LINUX_SETUP.md),当前状态见 [STATUS.md](STATUS.md),架构边界见 [ARCHITECTURE.md](ARCHITECTURE.md)。
---
## 1. 当前推荐部署模式
当前推荐模式为:
2026-09-02 18:18:42 +08:00
- **unified**:frontend + unified backend + moldinsight Celery worker
2026-09-01 18:05:18 +08:00
原因:
- 适合本地开发与集成环境
- 前端同域反代可以面对单一 backend
- 比按路径把前端网关分流到两套后端更易维护
### 1.1 一键 Compose 部署(按文件名切换模式)
项目按"模式 ↔ Compose 文件"一一对应的方式支持一键部署。换文件名即可换模式:
| 模式 | Compose 文件 | 一键命令 | 等价 `--profile` 命令 |
|---|---|---|---|
| **unified**(默认) | [docker-compose.yml](../docker-compose.yml) | `docker compose up -d` | `docker compose --profile full up -d` |
| moldinsight-only | [docker-compose.moldinsight.yml](../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.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
bash deploy/build.sh # 显式构建 base / backend / celery / frontend 4 个镜像
```
2026-09-01 18:05:18 +08:00
详细 Linux 部署步骤:
- [deployment/LINUX_SETUP.md](deployment/LINUX_SETUP.md)
---
## 2. 支持的部署模式
### 2.1 unified
一个统一后端同时挂载 moldinsight + inventory。
适合:
- 本地开发
- 测试/集成环境
- 小团队统一部署
**Compose 文件**:[docker-compose.yml](../docker-compose.yml)(**默认入口**)
**一键命令**:
```bash
docker compose up -d
# 或等价写法(保留 profile 双保险)
docker compose --profile full up -d
```
包含服务:`frontend` + `backend`(unified 入口)+ `moldinsight-celery`。
2026-09-01 18:05:18 +08:00
### 2.2 moldinsight-only
只部署模具分析后端。
适合:
- 独立开放分析能力
- 异步任务与文件处理独立扩容
**Compose 文件**:[docker-compose.moldinsight.yml](../docker-compose.moldinsight.yml)
**一键命令**:
```bash
docker compose -f docker-compose.moldinsight.yml up -d
# 或等价写法
docker compose --profile moldinsight up -d
```
包含服务:`moldinsight`(独立 API)+ `moldinsight-celery`(异步 worker)。
2026-09-01 18:05:18 +08:00
### 2.3 inventory-only
只部署进销存后端。
适合:
- 独立部署 ERP / 库存能力
- 与 moldinsight 分开发布节奏
**Compose 文件**:[docker-compose.inventory.yml](../docker-compose.inventory.yml)
**一键命令**:
```bash
docker compose -f docker-compose.inventory.yml up -d
# 或等价写法
docker compose --profile inventory up -d
```
包含服务:仅 `inventory`。不挂任何命名卷(inventory 无文件分析链路),不依赖 RustFS / MinIO。
2026-09-01 18:05:18 +08:00
部署模式的结构含义见 [ARCHITECTURE.md](ARCHITECTURE.md)。
---
## 3. 部署文档分工
### 3.1 当前权威文档
- [DEPLOYMENT.md](DEPLOYMENT.md)
- 部署入口与文档导航
- [deployment/LINUX_SETUP.md](deployment/LINUX_SETUP.md)
- Linux 环境下的详细部署操作说明
### 3.2 端口与配置说明
2026-09-02 18:18:42 +08:00
以下文档作为当前部署补充说明保留:
2026-09-01 18:05:18 +08:00
- [deployment/DEPLOY_PORT.md](deployment/DEPLOY_PORT.md)
- [deployment/PORT_CONFIG.md](deployment/PORT_CONFIG.md)
2026-09-02 18:18:42 +08:00
它们的职责分别是:
- `DEPLOY_PORT.md`:端口暴露、端口规划与 Nginx / 防火墙层面的说明
- `PORT_CONFIG.md`:环境变量、端口配置项与 direct run / compose 映射补充
它们是部署入口文档的补充参考,不替代本文或 [deployment/LINUX_SETUP.md](deployment/LINUX_SETUP.md)。
2026-09-01 18:05:18 +08:00
### 3.3 历史/阶段性部署材料
以下材料属于迁移期或历史说明,不应再视为当前部署权威:
- [archive/PORT_REFACTOR_SUMMARY.md](archive/PORT_REFACTOR_SUMMARY.md)
- [archive/FRONTEND_UNIFIED_DEPLOYMENT_PLAN.md](archive/FRONTEND_UNIFIED_DEPLOYMENT_PLAN.md)
2026-09-02 18:18:42 +08:00
这些材料已迁入 `docs/archive/`,仅用于历史追溯,不替代当前的 [DEPLOYMENT.md](DEPLOYMENT.md) 、 [deployment/LINUX_SETUP.md](deployment/LINUX_SETUP.md) 与 [deployment/DEPLOY_PORT.md](deployment/DEPLOY_PORT.md)。
2026-09-01 18:05:18 +08:00
---
## 4. 当前部署事实
当前部署上的几个关键事实:
- 项目保持单仓库、单数据库
- frontend 是独立前端工程
- 后端支持模块化入口
- moldinsight 的异步分析链路依赖 celery
- PostgreSQL / Redis / 对象存储通常复用服务器已有服务,而不是必须由项目 compose 自带
这些事实的当前版本以 [STATUS.md](STATUS.md) 和 [deployment/LINUX_SETUP.md](deployment/LINUX_SETUP.md) 为准。
---
## 5. 相关专题文档
以下文档可作为部署/存储方向的补充参考,但不替代部署入口文档:
- [deployment/DEPLOY_PORT.md](deployment/DEPLOY_PORT.md)
- [deployment/PORT_CONFIG.md](deployment/PORT_CONFIG.md)
- [topics/storage/RUSTFS_STORAGE.md](topics/storage/RUSTFS_STORAGE.md)
- [topics/storage/STORAGE_SETUP.md](topics/storage/STORAGE_SETUP.md)
---
## 6. 后续整理原则
部署文档后续将遵循以下规则:
- 部署入口信息只在本文维护
- 操作步骤只在 [deployment/LINUX_SETUP.md](deployment/LINUX_SETUP.md) 维护
- 历史迁移说明与阶段计划迁入 `docs/archive/`
- README 只保留最短启动说明,不再承担部署手册职责