跳转到内容

环境变量参考

完整清单以仓库里的 .env.example 为准,每一项都有注释。本页是逐项展开。

生产必须换的三项

章节:生产必须换的三项
变量作用怎么生成不改的后果
APP_ENCRYPTION_KEY32 字节 base64,加密 auth_connectionsopenssl rand -base64 32.env.example 里的值是公开的,等于加密密钥公开
SESSION_SECRETcookie 签名openssl rand -base64 48任何人都能伪造会话 cookie
E2E_TEST_MODE演示模式开关,缺省 00置 1 会开放 /api/__test/*、mock 登录提供方、时钟可拨动

数据库连接(三个角色)

章节:数据库连接(三个角色)
变量角色什么时候要改
DATABASE_URL应用,非 owner,受 RLS 约束换库、换密码时
DATABASE_URL_MIGRATEowner,仅迁移用同上
DATABASE_URL_AUTH窄权限 + BYPASSRLS,仅 modules/identity同上

三条必须是三个不同的角色。 合并任意两条都会让租户隔离静默失效——不报错、不告警,只是隔离没有了。为什么见多租户与行级安全

.env.example 里的密码是 changeme,本地开箱可跑,生产必须换

备份与对象存储

章节:备份与对象存储

OBJECT_STORAGE_ENDPOINT / _BUCKET / _AK / _SK

deploy/compose.yml 的 wal-g 用:Postgres WAL 归档备份(PITR)的 S3 凭据。留空 = 不开归档,本地与试用不需要。生产建议配上——不配就只剩容器数据卷这一份数据。

变量缺省不配置会怎样
WECOM_ENABLED0不显示企微扫码登录。启用需要真实企微应用与备案域名
SENTRY_DSN保持纯日志,不影响任何行为
DIGEST_WEBHOOK_URL每日摘要写日志而不是推送
MEMBER_REVIEW_NOTIFY_WEBHOOK_URL成员待审只写日志,功能照常
变量说明
OPSKOOL_DEPLOY_MODE缺省 saas,读 org_entitlements 表;standalone 读授权文件
OPSKOOL_LICENSE_FILEstandalone 下的授权文件路径
OPSKOOL_CLOSED_MODULES闭源积木包名,逗号分隔

社区版把这三项全部留空即可:缺省 saas 模式读表,种子里那条全开记录管一切。见首次初始化必读社区版与专业版对照。当前额度与授权到期时间见授权状态页与额度

变量缺省说明
TZAsia/Shanghai业务时区锚定,DB 存 UTC
PORT4800web 端口。要换端口得 export PORT=… 到 shell,写进 .env 来不及影响 CLI 选端口
JOBS_HEARTBEAT_INTERVAL_MS30000jobs 心跳间隔
SEED_DEMO_PASSWORD留空 = 播种时随机生成并打印一次(推荐)。见首次初始化必读

本页是 CE README「环境变量」一节的展开;两处不一致时,以 README 为准。