b934b737e8
上一版把 frontend 与 backend 都映射 10003:8000,会触发 docker 启动时 "bind: address already in use"。修正: - docker-compose.yml backend ports 改为 expose: ["8000"]——不映射宿主机, 仅在 docker 网络 gemold_network 内被 frontend 经 backend:8000 反代访问 - .env.example 删除 BACKEND_PORT 字段(不再需要) - PORT_CONFIG / DEPLOY_PORT 端口映射表/示例同步:unified backend 不暴露 宿主机端口,统一经前端 /api 反代 验证:yaml 渲染后无任何 service 对抢宿主端口(unified 仅 frontend 暴露 $FRONTEND_PORT=10003;moldinsight-only 仅 moldinsight 暴露 10003; inventory-only 仅 inventory 暴露 10004)。 Co-Authored-By: Claude Code <noreply@anthropic.com>
92 lines
3.0 KiB
Bash
92 lines
3.0 KiB
Bash
# ================================
|
||
# 端口配置 — 唯一修改宿主机端口的地方
|
||
# ================================
|
||
# 容器内部端口统一 8000(frontend=8000 / backend=8000 / inventory=8001);
|
||
# 服务间通过 docker 网络 gemold_network 上的服务名(如 backend:8000)互通,
|
||
# 不绕宿主。宿主机端口仅暴露浏览器入口与独立模式 API:
|
||
#
|
||
# 浏览器入口(unified 模式:frontend Nginx 对外)
|
||
FRONTEND_PORT=10003
|
||
# moldinsight-only 独立部署时使用
|
||
MOLDINSIGHT_PORT=10003
|
||
# inventory-only 独立部署时使用
|
||
INVENTORY_PORT=10004
|
||
# ================================
|
||
|
||
DEBUG=false
|
||
|
||
# 日志配置
|
||
# LOG_FORMAT: json(生产默认,结构化输出)/ text(开发默认,人可读)
|
||
# LOG_LEVEL: DEBUG / INFO / WARNING / ERROR
|
||
LOG_FORMAT=json
|
||
LOG_LEVEL=INFO
|
||
|
||
# 文件处理配置
|
||
UPLOAD_DIR=./uploads
|
||
MAX_FILE_SIZE=104857600
|
||
ALLOWED_EXTENSIONS=.stp,.step,.stp.gz
|
||
|
||
# 几何处理配置
|
||
POINTCLOUD_SAMPLE_COUNT=10000
|
||
MESH_QUALITY=high
|
||
PARALLEL_PROCESSING=true
|
||
|
||
# 数据库配置(服务器已部署,请填写真实地址)
|
||
DB_HOST=localhost
|
||
DB_PORT=5432
|
||
|
||
# 是否在应用启动时自动执行 alembic 迁移(默认 true,保持单机开发体验)。
|
||
# 多副本/容器编排部署建议设为 false:多个实例同时启动会并发迁移,
|
||
# 改由部署流程单点执行 alembic CLI 或 python -m shared.database.init_db
|
||
AUTO_MIGRATE=true
|
||
DB_NAME=moldinsight
|
||
DB_USER=moldinsight_user
|
||
DB_PASSWORD=moldinsight_password
|
||
|
||
# RustFS / MinIO 兼容对象存储配置(服务器已部署,请填写真实地址)
|
||
RUSTFS_ENDPOINT=http://localhost:9000
|
||
RUSTFS_ACCESS_KEY=your-access-key
|
||
RUSTFS_SECRET_KEY=your-secret-key
|
||
RUSTFS_TIMEOUT=30
|
||
RUSTFS_PRESIGNED_URL_EXPIRES=3600
|
||
|
||
# Redis 配置(服务器已部署,请填写真实地址)
|
||
REDIS_HOST=localhost
|
||
REDIS_PORT=6379
|
||
REDIS_PASSWORD=
|
||
REDIS_DB=0
|
||
|
||
# JWT认证配置
|
||
SECRET_KEY=your-secret-key-change-in-production-min-32-chars
|
||
ALGORITHM=HS256
|
||
ACCESS_TOKEN_EXPIRE_MINUTES=1440
|
||
|
||
# CORS 白名单(逗号分隔,不设置则默认为 [*],生产环境务必设置)
|
||
# CORS_ORIGINS=http://localhost:5173,http://localhost:8000,http://localhost:8001,https://your-domain.com
|
||
|
||
# 管理员账户配置
|
||
ADMIN_USERNAME=admin
|
||
ADMIN_PASSWORD=change-this-to-a-secure-password
|
||
ADMIN_EMAIL=admin@gemold.com
|
||
ADMIN_FULL_NAME=系统管理员
|
||
|
||
# FreeCAD 验证配置(可选)
|
||
# 启用后会增加处理时间,默认禁用
|
||
ENABLE_FREECAD_VERIFICATION=false
|
||
FREECAD_VERIFICATION_TIMEOUT=120
|
||
|
||
# LLM 增强分析配置(可选)
|
||
# 启用后自动生成模具设计评审报告和分模方向推荐
|
||
# 支持 OpenAI 兼容 API(OpenAI / DeepSeek / vLLM / Ollama 等)
|
||
LLM_ENABLED=false
|
||
LLM_API_URL=https://api.openai.com/v1
|
||
LLM_API_KEY=sk-your-api-key
|
||
LLM_MODEL=gpt-4o-mini
|
||
LLM_TIMEOUT=60
|
||
LLM_MAX_TOKENS=2000
|
||
|
||
# Celery/OCC 吞吐调优(可选,默认值在 compose 的 ${CELERY_CONCURRENCY:-2};
|
||
# concurrency 即 OCC 并行分析数,见 docs/topics/performance/OCC_THROUGHPUT.md)
|
||
# CELERY_CONCURRENCY=2
|
||
# CELERY_MAX_TASKS_PER_CHILD=50
|