环境变量管理与索引
平台采用**“根仓单一事实源 + 级联智能继承 + 跨模块一致性校验”**的环境变量管理体系。
本地开发推荐直接在仓库根目录维护一份统一的 .env,所有子模块(Backend、Editor、Runtime、Renderer)均默认向上查找根目录配置并自动对齐;同时保留子模块目录的 .env 局部覆盖能力。
生产部署变量详见 部署环境变量。
本地开发统一管理
- 统一模板文件:根目录
.env.example。 - 快速初始化:bash
cp .env.example .env pnpm run env:check - 加载与覆盖优先级:
- 系统 / 容器宿主环境变量(最高优先级)
- 当前工作目录(CWD)
.env - 子模块目录(如
backend/.env、renderer/.env) - 仓库根目录
.env(开发期单一事实源)
通过 pnpm run env:check 脚本可随时执行全仓配置体检,自动核对 Backend、Runtime、Renderer、Editor 的端口、URL、Audience 与认证凭据一致性。
各模块变量索引与说明
1. 跨模块共享与基础配置 (SHARED)
APP_TIMEZONE:平台业务时区,统一以 Backend 为准,Editor 启动时自动读取。BACKEND_PUBLIC_BASE_URL:平台对外服务基址,默认http://127.0.0.1:8000。RUNTIME_PUBLIC_BASE_URL:Runtime 对外访问基址,默认http://127.0.0.1:7373。RENDER_SERVICE_CREDENTIAL:Backend 与 Renderer 之间的共享安全凭证,本地开发统一在根目录配置一次,两侧自动对齐。RUNTIME_*_TOKEN_AUDIENCE:Backend 与 Runtime 之间的令牌受众声明集合。
2. Backend 后台变量
- 对应模块:
backend/(统一模板:根目录.env.example)。 - 关键变量:
DATABASE_URL、REDIS_URL、DEFAULT_ADMIN_*、SESSION_*、RUNTIME_BASE_URL、AI_*与本地端口配置。
3. Editor 编辑器变量
- 对应模块:
editor/(统一模板:根目录.env.example)。 - 关键变量:
VITE_API_PROXY_TARGET(API 代理目标)。
4. Runtime 运行时变量
- 对应模块:
runtime/(统一模板:根目录.env.example,容器化分角色模板:deploy/runtime.env.example)。 - 关键变量:
RUNTIME_PREVIEW_JWKS_URL、RUNTIME_BACKEND_API_BASE_URL、RUNTIME_SERVER_HOST、RUNTIME_SERVER_PORT、RUNTIME_SERVER_BASE_PATH。
5. Renderer 渲染执行服务变量
- 对应模块:
renderer/(统一模板:根目录.env.example)。 - 关键变量:
RENDER_WORKER_ID、RENDER_PORT、RENDER_SERVICE_CREDENTIAL(严禁弱占位符,fail-closed)、RENDER_PROFILE_DIGEST。
生产变量
- 模板文件:
deploy/.env.example(通用生产模板)与deploy/runtime.env.example(分角色 Runtime 非密钥模板)。 - 由
deploy/compose/compose.prod.yml与compose.runtime-roles.yml读取;单容器 Lite 模板(compose.sqlite-lite.yml)零配置启动,无需 env 文件。 - 生产环境必须长期保存
AI_SECRET_ENCRYPTION_KEY,并使用独立的deploy/secrets/render_service_credential密钥文件。