a889671bb5
三个 compose 文件的 ports 映射去掉 ${VAR:-默认值} 兜底:
- docker-compose.yml: frontend ${FRONTEND_PORT:-10003} → ${FRONTEND_PORT}
- docker-compose.moldinsight.yml: moldinsight ${MOLDINSIGHT_PORT:-10003} → ${MOLDINSIGHT_PORT}
- docker-compose.inventory.yml: inventory ${INVENTORY_PORT:-10004} → ${INVENTORY_PORT}
端口必须由 .env 显式配置,否则 compose 启动期 fail-fast(避免悄悄用了
某个端口导致宿主端口冲突或调试时困惑)。
注:DB_PORT:5432 / REDIS_PORT:6379 等应用行为默认值保留(与"宿主机
端口"不同,属基础设施默认端口,不影响端口暴露策略)。
Co-Authored-By: Claude Code <noreply@anthropic.com>
58 lines
2.0 KiB
YAML
58 lines
2.0 KiB
YAML
# geMoldInsight — inventory-only 模式
|
|
#
|
|
# 一键启动:
|
|
# docker compose -f docker-compose.inventory.yml up -d
|
|
#
|
|
# 服务清单:仅 inventory 后端
|
|
# 不含前端、不含 moldinsight、不含 Celery worker。
|
|
#
|
|
# 基础设施:仅依赖 PostgreSQL + Redis;不依赖 RustFS / MinIO 对象存储,
|
|
# 不挂 uploads/html 命名卷(inventory 无文件分析链路)。
|
|
# 注意:服务未声明 profiles(避免裸 up 报 "no service selected"),
|
|
# 模式切换唯一入口是 -f 文件名。
|
|
|
|
# ---------------------------------------------------------------
|
|
# 公共环境变量(inventory 子集:DB / Redis / 认证 / 启动参数)
|
|
# ---------------------------------------------------------------
|
|
x-inventory-env: &inventory_env
|
|
DB_HOST: ${DB_HOST}
|
|
DB_PORT: ${DB_PORT:-5432}
|
|
DB_NAME: ${DB_NAME:-moldinsight}
|
|
DB_USER: ${DB_USER}
|
|
DB_PASSWORD: ${DB_PASSWORD}
|
|
REDIS_HOST: ${REDIS_HOST}
|
|
REDIS_PORT: ${REDIS_PORT:-6379}
|
|
REDIS_PASSWORD: ${REDIS_PASSWORD:-}
|
|
SECRET_KEY: ${SECRET_KEY:?SECRET_KEY 未配置:请在 .env 中设置}
|
|
ALGORITHM: ${ALGORITHM:-HS256}
|
|
ACCESS_TOKEN_EXPIRE_MINUTES: ${ACCESS_TOKEN_EXPIRE_MINUTES:-1440}
|
|
DEBUG: ${DEBUG:-false}
|
|
SERVE_FRONTEND_STATIC: ${SERVE_FRONTEND_STATIC:-false}
|
|
|
|
services:
|
|
inventory:
|
|
build:
|
|
context: .
|
|
dockerfile: deploy/Dockerfile.inventory
|
|
image: gemold-inventory:latest
|
|
container_name: gemold_inventory
|
|
command: ["python", "-m", "uvicorn", "entrypoints.inventory:app", "--host", "0.0.0.0", "--port", "8001"]
|
|
ports:
|
|
- "${INVENTORY_PORT}:8001"
|
|
environment:
|
|
<<: *inventory_env
|
|
HOST: 0.0.0.0
|
|
PORT: "8001"
|
|
ADMIN_USERNAME: ${ADMIN_USERNAME:-admin}
|
|
ADMIN_PASSWORD: ${ADMIN_PASSWORD:?ADMIN_PASSWORD 未配置:请在 .env 中设置}
|
|
ADMIN_EMAIL: ${ADMIN_EMAIL:-admin@gemold.com}
|
|
ADMIN_FULL_NAME: ${ADMIN_FULL_NAME:-系统管理员}
|
|
AUTO_MIGRATE: ${AUTO_MIGRATE:-true}
|
|
restart: unless-stopped
|
|
networks:
|
|
- gemold_network
|
|
|
|
networks:
|
|
gemold_network:
|
|
name: gemold_network
|
|
driver: bridge |