e728dcd226
① D11 HTML 报告 RustFS 单源化(TECH_DEBT P2 清偿):可视化产物写任务临时目录后
裸传报告键 html/reports/{filename}(文件名寻址),/html StaticFiles 挂载删除,
新增 html_report_router 根路径代理(报告键→遗留 JSON 包装→本地卷兜底→404,
防穿越);URL 形状 /html/{filename} 不变,持久化引用零迁移;celery 摘除
html_data 卷,镜像不再烤入陈旧报告;顺带删除 get_stp_file_with_data 死数据块
② OCC 方案 B(D10 清偿):run_occ(op_name, payload) 契约 + 常驻工作进程池
(occ_process_pool + occ_worker 操作注册表),超时/崩溃 terminate 换新补位、
任务级超时 recover 整体重建,残留线程泄漏根治;TopoDS 不跨进程(generate_cavity
分模 + 方案 STEP 持久化全在子进程内,返回 export_manifest);删除内存形状缓存链、
CADExporter.export_mold_results、shape_loader(→ stp_materializer)
③ OCC 方案 A 部署参数:CELERY_CONCURRENCY / CELERY_MAX_TASKS_PER_CHILD 进
Dockerfile.celery + compose + .env.example
④ D2 诚实标注:铝价响应带 source: "simulated",前端按来源渲染标注(原硬编码
"上海期货交易所"属虚假声明),死代码 getAluminumPrice 删除
⑤ CI 门禁:.gitea/workflows/ci.yml 三 job(pytest / 前端构建含 vue-tsc /
openapi 漂移检测)
接口变更三件套随批完成(openapi 76→77 paths + gen:api + 前端构建通过;方案 B
接口面零变化)。测试基线 143 passed, 0 skipped(新增 16 项)。文档六处同步。
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 吞吐调优(可选,默认值见 deploy/Dockerfile.celery;
|
||
# concurrency 即 OCC 并行分析数,见 docs/topics/performance/OCC_THROUGHPUT.md)
|
||
# CELERY_CONCURRENCY=2
|
||
# CELERY_MAX_TASKS_PER_CHILD=50
|