Deploy

环境变量配置

Dory 的部署行为主要由环境变量控制。生产环境应把这些值作为 Secret 管理,不要写入仓库或镜像。

必填变量

变量说明示例
DS_SECRET_KEY应用运行时密钥,用于加密或安全相关操作。openssl rand -base64 32
BETTER_AUTH_SECRETBetter Auth 认证密钥。openssl rand -hex 32
BETTER_AUTH_URL用户访问 Dory 的公开基础地址。https://dory.example.com

BETTER_AUTH_URL 必须和浏览器访问地址一致,否则登录、回调、邀请或邮件链接可能异常。

应用数据库

Dory 会把自己的工作区数据存储在应用数据库中。它和你在 Dory 中连接并查询的外部数据库不是一回事。

变量说明
DB_TYPE应用数据库提供方。pglite 表示本地文件存储,postgres 表示生产 Postgres。默认是 pglite
PGLITE_DB_PATHPGlite 文件路径。Docker 中建议放在已挂载目录下,例如 /app/data/dory
DATABASE_URLDB_TYPE=postgres 时使用的 Postgres 连接串。

PGlite 示例:

DB_TYPE=pglite
PGLITE_DB_PATH=/app/data/dory

Postgres 示例:

DB_TYPE=postgres
DATABASE_URL=postgres://dory:strong_password@postgres.example.com:5432/dory

如果 Docker 部署使用 PGlite,请把 /app/data 挂载到持久化 Docker volume 或宿主机目录。

AI 配置

变量说明
DORY_AI_PROVIDERAI 提供商,例如 openaianthropicgoogleqwenxaimetaopenai-compatible
DORY_AI_MODEL使用的模型名称。
DORY_AI_API_KEYProvider API Key。
DORY_AI_URLProvider 或兼容端点的 Base URL。

基础示例:

DORY_AI_PROVIDER=openai
DORY_AI_MODEL=gpt-4o-mini
DORY_AI_API_KEY=replace_with_api_key
DORY_AI_URL=https://api.openai.com/v1

如果 AI 功能不可用,优先检查 provider、model、API key 和 URL 是否匹配。

认证和登录

变量说明
NEXT_PUBLIC_REQUIRE_EMAIL_VERIFICATION是否要求注册后验证邮箱。设置为 false 可关闭。
TRUSTED_ORIGINS可信来源列表,多个地址用逗号分隔。用于 Auth 和 MCP Origin 校验。
DORY_INIT_USER_EMAIL容器启动时自动创建或更新的初始用户邮箱。
DORY_INIT_USER_PASSWORD初始用户密码。
GITHUB_CLIENT_ID / GITHUB_CLIENT_SECRETGitHub OAuth 登录配置。
GOOGLE_CLIENT_ID / GOOGLE_CLIENT_SECRETGoogle OAuth 登录配置。

初始化用户适合自托管首次进入系统。生产环境上线后应立即修改默认密码,或改用团队身份系统。

邮件配置

变量说明
RESEND_API_KEYResend API Key,用于发送验证、重置和邀请邮件。
EMAIL_FROM发件人地址,需要在邮件服务中完成验证。

如果启用邮箱验证或邀请流程,请配置有效邮件服务。否则用户可能无法完成注册或找回密码。

生产环境建议

  • 使用强随机值生成 DS_SECRET_KEYBETTER_AUTH_SECRET
  • 不要在部署后频繁更换认证和加密 Secret。
  • BETTER_AUTH_URL 使用 HTTPS 公开地址。
  • PGlite 使用持久化挂载;Postgres 使用托管备份或数据库备份策略。
  • .env 纳入 Secret 管理系统,而不是提交到 Git。
  • AI Key、OAuth Secret、邮件 Key 和数据库密码分开管理并定期轮换。

相关文档

这篇文档有帮助吗?