Files
geMoldInsight/docs/deployment/PORT_CONFIG.md
T
cjw a548623ea5 📦 build(deploy): Compose 按部署模式拆分三文件——换文件名即换模式一键部署
- 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>
2026-09-24 15:28:13 +08:00

3.6 KiB
Raw Blame History

端口配置说明(模块化架构)

文档定位:模块化部署下的端口与环境变量配置补充说明。 当前部署主题入口见 ../DEPLOYMENT.md,详细 Linux 部署步骤见 LINUX_SETUP.md。 本文只补充环境变量、端口配置项与 direct run / compose 的映射;端口规划与对外暴露方式以 DEPLOY_PORT.md 为准。

当前配置中主要需要区分:

  • moldinsight API 端口
  • inventory API 端口
  • 数据库 / Redis / 对象存储端口
  • 前端访问地址

1. 当前主配置位置

对于 Docker Compose 部署,当前主要端口配置来源于:

注意:这些 compose 文件仅负责项目应用容器,不负责 PostgreSQL / Redis / 对象存储容器。

核心环境变量:

FRONTEND_PORT=80
BACKEND_PORT=8000
MOLDINSIGHT_PORT=8000
INVENTORY_PORT=8001

其余基础设施通常为:

DB_PORT=5432
REDIS_PORT=6379

对象存储常见端口(由服务器既有服务提供):

RUSTFS_ENDPOINT=http://localhost:9000

2. 各端口的含义

变量 / 端口 用途
FRONTEND_PORT 前端 Nginx 宿主机暴露端口
BACKEND_PORT unified backend 宿主机暴露端口
MOLDINSIGHT_PORT moldinsight-only 独立部署端口
INVENTORY_PORT inventory-only 独立部署端口
DB_PORT PostgreSQL 端口
REDIS_PORT Redis 端口
9000 MinIO/RustFS S3 兼容 API
9001 MinIO 控制台

3. 推荐配置方式

3.1 moldinsight-only

MOLDINSIGHT_PORT=8000
DB_PORT=5432
REDIS_PORT=6379

3.2 inventory-only

INVENTORY_PORT=8001
DB_PORT=5432
REDIS_PORT=6379

3.3 full / 模块同时部署

MOLDINSIGHT_PORT=8000
INVENTORY_PORT=8001
DB_PORT=5432
REDIS_PORT=6379

4. direct run 与 Compose 的映射

通过直接运行或 Docker Compose 部署时,端口含义保持一致,但映射方式不同。

direct run

moldinsight:

uvicorn src.entrypoints.moldinsight:app --port 8000

inventory:

uvicorn src.entrypoints.inventory:app --port 8001

Docker Compose

Compose 通过端口映射暴露服务:

  • moldinsight → ${MOLDINSIGHT_PORT}:8000
  • inventory → ${INVENTORY_PORT}:8001

当前实际定义见:


5. 与前端配置的关系

前端是否使用 unified / split deployment,会影响前端 API 地址配置。

unified

  • 一个 API 基地址

split

  • moldinsight 与 inventory 各自基地址

因此,修改后端端口后,可能还需要同步:

  • 前端 .env
  • Nginx 反向代理
  • 浏览器访问地址

6. 推荐实践

  1. 本地开发

    • moldinsight:8000
    • inventory:8001
  2. 服务器部署

    • 外网只暴露 80/443
    • Nginx 反代到 8000 / 8001
  3. 修改端口后,同步检查 .env、Compose 端口映射、前端环境变量与反向代理配置


7. 关联文档