58 lines
2.0 KiB
Bash
58 lines
2.0 KiB
Bash
# Loom 生产环境 .env 模板
|
|
# 使用方法:在目标服务器上 `cp .env.production.example .env` 后填入真实值。
|
|
#
|
|
# 所有密钥字段严禁提交到仓库,生产凭据通过服务器侧环境变量 / 密钥管理服务注入。
|
|
|
|
# ===== App =====
|
|
APP_ENV=prod
|
|
# 32 字节随机字符串,每个环境独立生成:openssl rand -hex 32
|
|
APP_SECRET_KEY=
|
|
APP_BASE_URL=https://ai.aidfxn.com
|
|
|
|
JWT_ALG=HS256
|
|
JWT_ACCESS_TTL=3600
|
|
JWT_REFRESH_TTL=604800
|
|
|
|
# ===== PostgreSQL(生产:强密码)=====
|
|
POSTGRES_USER=loom
|
|
# openssl rand -base64 24
|
|
POSTGRES_PASSWORD=
|
|
POSTGRES_DB=loom
|
|
# 容器内服务名,勿改
|
|
DATABASE_URL=postgresql+asyncpg://loom:__POSTGRES_PASSWORD__@postgres:5432/loom
|
|
|
|
# ===== Redis / Celery =====
|
|
REDIS_URL=redis://redis:6379/0
|
|
CELERY_BROKER_URL=redis://redis:6379/1
|
|
CELERY_RESULT_BACKEND=redis://redis:6379/2
|
|
|
|
# ===== Lobster Agent =====
|
|
# 以下 5 项也可在 UI 的"系统设置 → 执行器配置 → 龙虾 Agent"里填;UI 值优先级高于 .env。
|
|
# 生产建议:至少在 .env 里填一套兜底,避免 UI 清空后掉到 mock。
|
|
LOBSTER_API_BASE=
|
|
LOBSTER_API_KEY=
|
|
LOBSTER_CALLBACK_SECRET=
|
|
LOBSTER_TIMEOUT_SECONDS=30
|
|
LOBSTER_POLL_INTERVAL_SECONDS=5
|
|
|
|
# ===== OpenAI =====
|
|
# 每个 Provider 也可以在 UI 的"执行器配置 → LLM Provider"里单独配置 api_key。
|
|
OPENAI_API_BASE=https://api.openai.com/v1
|
|
OPENAI_API_KEY=
|
|
OPENAI_DEFAULT_MODEL=gpt-4o-mini
|
|
OPENAI_TIMEOUT_SECONDS=60
|
|
|
|
# ===== 加密 =====
|
|
# 用于 Fernet 加解密平台账号凭据 + LLM Provider key + 龙虾 config。
|
|
# 生成:python -c "from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())"
|
|
# ⚠️ 生产环境生成后严禁更换:所有加密字段(平台账号密码、LLM api_key、龙虾 api_key 等)都需用此 key 解密
|
|
FERNET_KEY=
|
|
|
|
# ===== CORS =====
|
|
# 生产只放行正式域名
|
|
CORS_ALLOW_ORIGINS=https://ai.aidfxn.com
|
|
|
|
# ===== 容器启动时是否自动跑 seed =====
|
|
# 首次部署设为 true 播种超管 + 菜单;二次部署建议 false 避免误覆盖业务数据
|
|
SEED_ON_BOOT=true
|