2fd1b3da21
部署机首次 docker compose up -d 实测暴露: - .dockerignore 自"重写独立dockerfile"起排除整个 deploy/,而 Dockerfile.frontend COPY deploy/nginx/frontend.conf、Dockerfile.moldinsight COPY deploy/requirements-*.txt → COPY not found。历史一直有旧镜像兜底未暴露; BuildKit 不支持重包含被排除目录的子文件,直接移除该行 - Dockerfile.celery FROM gemold-backend:latest 在 compose 并行构建下引用 尚不存在的本地镜像必挂 → 删除 Dockerfile.celery,moldinsight-celery 改为 与 API 服务同一 build 声明 + 同一 gemold-backend:latest tag(compose 去重 只构建一次),celery 仅以 command: 覆盖启动 worker,参数语义不变 - build.sh/.bat 移除 gemold-celery 构建步骤;OPERATIONS / OCC_THROUGHPUT / TECH_DEBT / .env.example 的 Dockerfile.celery 指向同步改写;STATUS 补录 Co-Authored-By: Claude Code <noreply@anthropic.com>
96 lines
2.9 KiB
Bash
96 lines
2.9 KiB
Bash
# 服务配置
|
||
HOST=0.0.0.0
|
||
|
||
# ================================
|
||
# 模块 API 对外端口
|
||
# ================================
|
||
# 前端 Nginx 对外端口
|
||
FRONTEND_PORT=80
|
||
# unified backend 对外端口
|
||
BACKEND_PORT=8000
|
||
# gemold(moldinsight)API 对外端口(独立部署时使用)
|
||
MOLDINSIGHT_PORT=8000
|
||
# inventory API 对外端口(独立部署时使用)
|
||
INVENTORY_PORT=8001
|
||
# ================================
|
||
|
||
# 应用内部监听端口(通常无需修改;compose 内已固定为 8000/8001)
|
||
PORT=8000
|
||
|
||
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
|