Skip to content

环境变量

完整环境变量参考。复制 .env.example.env 并填写。

必填变量

变量说明示例
JWT_SECRETJWT 签名密钥openssl rand -hex 32
ENCRYPTION_KEY数据加密密钥(AES-256)openssl rand -hex 32

数据库

变量必填默认值说明
DB_TYPEpostgresql数据库方言:postgresql / mysql / mariadb。切换后必须重启服务
DATABASE_URL-数据库连接串。可选预填,首次启动通过引导界面配置
POSTGRES_USERdmhubPostgreSQL 用户名(仅 Docker Compose 内部用)
POSTGRES_PASSWORDdmhubPostgreSQL 密码
POSTGRES_DBdmhubPostgreSQL 数据库名

连接串示例:

# PostgreSQL
postgresql://dmhub:dmhub@postgres:5432/dmhub

# MySQL / MariaDB
mysql://dmhub:dmhub@mysql:3306/dmhub

Redis

变量必填默认值说明
REDIS_URL-Redis 连接串(保留字段,当前未实现)

SMTP

变量必填默认值说明
SMTP_HOST-SMTP 服务器地址
SMTP_PORT587SMTP 端口(465 = SSL / 587 = TLS)
SMTP_USER-SMTP 用户名
SMTP_PASSWORD-SMTP 密码或授权码
SMTP_FROM-发件人地址

SMTP 也可在首次启动引导中配置。引导界面保存的 SMTP 配置会写入 team_settings 表。

OAuth Providers

变量说明
GITHUB_CLIENT_IDGitHub OAuth App Client ID
GITHUB_CLIENT_SECRETGitHub OAuth App Client Secret
GITLAB_CLIENT_IDGitLab Application ID
GITLAB_CLIENT_SECRETGitLab Secret
GOOGLE_CLIENT_IDGoogle OAuth Client ID
GOOGLE_CLIENT_SECRETGoogle OAuth Client Secret
DINGTALK_CLIENT_ID钉钉应用 Key
DINGTALK_CLIENT_SECRET钉钉应用 Secret
FEISHU_CLIENT_ID飞书应用 ID
FEISHU_CLIENT_SECRET飞书应用 Secret

自定义 OIDC

变量说明
CUSTOM_OIDC_NAME显示名称
CUSTOM_OIDC_ISSUEROIDC Provider 的 Issuer URL
CUSTOM_OIDC_CLIENT_IDClient ID
CUSTOM_OIDC_CLIENT_SECRETClient Secret

部署

变量必填默认值说明
PORT8088后端监听端口(Docker 使用 3000
NODE_ENVdevelopment运行环境:development / production
DOMAINdmhub.example.comCaddy 自动 HTTPS 用,对外访问域名
TABLE_PREFIX(空)已废弃,保留兼容

配置优先级

引导界面保存的配置(数据库 / SMTP 等)会写入 team_settings 表。若环境变量和数据库配置同时存在:

  • 数据库连接:以引导界面配置为准(首次启动后环境变量失效)
  • SMTP:引导界面配置优先

建议首次启动后移步「设置 → 团队设置」管理这些配置,而非依赖环境变量。

.env.example 完整模板

bash
# ============================================================
# DMHub 环境变量配置
# ============================================================

# ----- 必填 -----
JWT_SECRET=
ENCRYPTION_KEY=

# ----- 数据库 -----
DB_TYPE=postgresql
DATABASE_URL=postgresql://dmhub:dmhub@postgres:5432/dmhub

# ----- PostgreSQL 容器配置 -----
POSTGRES_USER=dmhub
POSTGRES_PASSWORD=dmhub
POSTGRES_DB=dmhub

# ----- Redis(可选) -----
REDIS_URL=

# ----- 邮件 -----
SMTP_HOST=
SMTP_PORT=587
SMTP_USER=
SMTP_PASSWORD=
SMTP_FROM=

# ----- OAuth Providers(按需) -----
# GITHUB_CLIENT_ID=
# GITHUB_CLIENT_SECRET=
# GITLAB_CLIENT_ID=
# GITLAB_CLIENT_SECRET=
# GOOGLE_CLIENT_ID=
# GOOGLE_CLIENT_SECRET=
# DINGTALK_CLIENT_ID=
# DINGTALK_CLIENT_SECRET=
# FEISHU_CLIENT_ID=
# FEISHU_CLIENT_SECRET=

# ----- 自定义 OIDC -----
# CUSTOM_OIDC_NAME=
# CUSTOM_OIDC_ISSUER=
# CUSTOM_OIDC_CLIENT_ID=
# CUSTOM_OIDC_CLIENT_SECRET=

# ----- 域名 -----
DOMAIN=dmhub.example.com

AGPL-3.0 协议