Skip to content

环境变量

DMHub 通过 .env 加载运行时密钥与部署参数。OAuth/OIDC、SMTP、站点 URL 等业务配置以引导界面 / 团队设置为准,不依赖下列 OAuth 环境变量。

必填

变量说明
JWT_SECRETJWT 签名密钥,建议 openssl rand -hex 32
ENCRYPTION_KEY敏感字段加密密钥,建议 openssl rand -hex 32

数据库

变量必填默认说明
DB_TYPEpostgresqlpostgresql / mysql / mariadb。切换后必须重启
DATABASE_URL-连接串;也可在首次引导中配置并写入 team_settings

示例:

bash
# PostgreSQL
DATABASE_URL=postgresql://dmhub:dmhub@localhost:5432/dmhub

# MySQL / MariaDB
DB_TYPE=mysql
DATABASE_URL=mysql://dmhub:dmhub@localhost:3306/dmhub

邮件(可选预填)

变量说明
SMTP_HOST / SMTP_PORT / SMTP_USER / SMTP_PASSWORD / SMTP_FROM历史/预填字段

实际 SMTP 在 初始化引导设置 → 团队设置 中配置,保存到 team_settings

个人「邮件通知」开关见 通知配置

部署

变量必填默认说明
PORT8088后端端口(Docker 内多为 3000
NODE_ENVdevelopmentdevelopment / production
DOMAINdmhub.example.comCaddy 自动 HTTPS 域名
ALLOWED_ORIGINS-生产 CORS 白名单(逗号分隔)
REDIS_URL-预留,当前未实现
TABLE_PREFIX-已废弃

OAuth / OIDC(勿依赖环境变量)

提供商在 设置 → OIDC / OAuth2 配置,写入表 oauth_providers

UI 字段说明
Client ID / Secret必填
Well-Known URLOIDC 必填(或手填授权+Token 端点)
授权 / Token / 用户信息端点可选覆盖

登记到 IdP:

名称
主页 URL{站点URL}(团队设置中的 site URL)
OIDC 重定向 URL{站点URL}/oauth/oidc

详见 OIDC / OAuth2 登录

仓库 .env.example 中若仍有 GITHUB_* / CUSTOM_OIDC_* 等注释项,仅为历史预留,运行时不会读取

配置优先级

优先级
数据库连接引导保存的配置 > 启动时 DATABASE_URL
SMTPteam_settings > 环境变量预填
OAuthoauth_providers
站点 URLteam_settings.site_url(生成 OAuth 回调必需)

.env 最小模板

bash
JWT_SECRET=
ENCRYPTION_KEY=

DB_TYPE=postgresql
# DATABASE_URL=postgresql://dmhub:dmhub@localhost:5432/dmhub

# Docker / Caddy
# DOMAIN=dmhub.example.com
# NODE_ENV=production

完整示例见仓库根目录 .env.example

AGPL-3.0 协议