This commit is contained in:
2026-08-31 18:01:34 +08:00
parent 3ea59551db
commit bee439cf34
46 changed files with 1884 additions and 1898 deletions
+10 -6
View File
@@ -4,9 +4,9 @@
当前推荐部署对象:
- gemold API
- frontend(Nginx,同域入口)
- unified backend
- gemold Celery worker(无 HTTP 端口)
- inventory API
以下基础设施默认由服务器现有服务提供,不在本项目 compose 中重复部署:
@@ -20,8 +20,10 @@
| 组件 | 默认端口 | 说明 |
|---|---:|---|
| gemold API | 8000 | 模具分析后端 |
| inventory API | 8001 | 进销存后端 |
| frontend | 80 | 前端 Nginx,同域入口 |
| unified backend | 8000 | 当前推荐统一后端 |
| gemold API | 8000 | 模具分析独立部署时使用 |
| inventory API | 8001 | 进销存独立部署时使用 |
| PostgreSQL | 5432 | 共享数据库 |
| Redis | 6379 | 共享队列/缓存 |
| MinIO API | 9000 | 对象存储接口 |
@@ -67,8 +69,10 @@
关键端口映射:
- `MOLDINSIGHT_PORT` → gemold API 外部端口
- `INVENTORY_PORT` → inventory API 外部端口
- `FRONTEND_PORT` → frontend Nginx 外部端口
- `BACKEND_PORT` → unified backend 外部端口
- `MOLDINSIGHT_PORT` → gemold-only 独立部署端口
- `INVENTORY_PORT` → inventory-only 独立部署端口
示例:
+29 -6
View File
@@ -4,7 +4,7 @@
当前项目支持三种部署模式:
- **unified**:gemold + inventory 统一部署
- **unified**:frontend + unified backend + celery,统一对外部署(当前推荐)
- **gemold-only**:仅部署模具分析后端
- **inventory-only**:仅部署进销存后端
@@ -140,6 +140,19 @@ RUSTFS_SECRET_KEY=minioadmin
## 6. 启动方式
## 6.0 frontend(同域反代入口)
当前推荐把前端作为独立静态站点部署,并通过同域 Nginx 反代到 unified backend:
- `/` → 前端静态资源与 SPA 路由
- `/api` → unified backend
- `/health` → unified backend
- `/html` → unified backend(内部再提供 gemold 分析产物)
如果使用根目录 [docker-compose.yml](../../docker-compose.yml) 的 `frontend` 服务,则该入口已经内置在前端 Nginx 镜像中。
---
## 6.1 inventory-only
```bash
@@ -285,7 +298,16 @@ WantedBy=multi-user.target
---
## 8. Nginx 反向代理示例
## 8. Nginx / 前端同域反代示例
当前仓库已提供前端 Nginx 配置:
- [deploy/nginx/frontend.conf](../../deploy/nginx/frontend.conf)
如果不使用仓库内 `frontend` 容器,也应遵循同样原则:
- `/` 提供前端静态资源与 SPA fallback
- `/api/` 反代后端
- `/health` 反代后端
- `/html/` 反代 gemold
### 8.1 inventory-only
@@ -373,11 +395,12 @@ curl http://127.0.0.1:8000/health
## 11. Docker Compose 说明
当前 [docker-compose.yml](../../docker-compose.yml) 仅启动:
当前 [docker-compose.yml](../../docker-compose.yml) 会启动:
- `moldinsight`
- `frontend`
- `backend`
- `moldinsight-celery`
- `inventory`
- 可选:`moldinsight` / `inventory`(独立模块模式)
它**不会**再拉起:
@@ -385,7 +408,7 @@ curl http://127.0.0.1:8000/health
- Redis
- MinIO
这些基础设施应由服务器现有服务提供,并通过 `.env` 传入连接信息。
这些基础设施应由服务器现有服务提供,并通过 `.env` 传入连接信息;前端则由 `frontend` 容器独立提供,并通过同域反代转发到后端。
示例:
+6 -2
View File
@@ -25,6 +25,8 @@
核心环境变量:
```env
FRONTEND_PORT=80
BACKEND_PORT=8000
MOLDINSIGHT_PORT=8000
INVENTORY_PORT=8001
```
@@ -48,8 +50,10 @@ RUSTFS_ENDPOINT=http://localhost:9000
| 变量 / 端口 | 用途 |
|---|---|
| `MOLDINSIGHT_PORT` | gemold API 宿主机暴露端口 |
| `INVENTORY_PORT` | inventory API 宿主机暴露端口 |
| `FRONTEND_PORT` | 前端 Nginx 宿主机暴露端口 |
| `BACKEND_PORT` | unified backend 宿主机暴露端口 |
| `MOLDINSIGHT_PORT` | gemold-only 独立部署端口 |
| `INVENTORY_PORT` | inventory-only 独立部署端口 |
| `DB_PORT` | PostgreSQL 端口 |
| `REDIS_PORT` | Redis 端口 |
| `9000` | MinIO/RustFS S3 兼容 API |