Deploy
自托管部署
自托管部署适合需要共享 Web 入口、内网访问控制、独立数据库凭据、AI Key 管理和应用数据持久化的团队。
适合场景
- 需要在公司内网、私有云或自有服务器运行。
- 需要自己管理数据库访问、AI Key、Secret 和成员权限。
- 需要给团队提供统一的浏览器访问入口。
- 需要连接内网数据库、云数据库、测试库或生产库。
推荐架构
| 层级 | 决策 |
|---|---|
| 运行环境 | 使用 Docker 容器运行 Dory。 |
| 应用数据 | 选择 PGlite 持久化目录或 Postgres。 |
| 访问入口 | 使用 HTTPS 反向代理或公司统一网关。 |
| Secret | 使用 .env 或 Secret 管理系统,不写入镜像和 Git。 |
| 数据库网络 | 确认 Dory 运行环境能访问目标数据库。 |
| 身份认证 | 选择邮箱登录、邮箱验证或 OAuth 策略。 |
两类数据库
| 数据库角色 | 存储内容 | 配置位置 |
|---|---|---|
| 应用数据库 | Dory 用户、组织、连接、Saved Queries、设置和 MCP Token。 | 环境变量配置 |
| 被连接数据库 | 团队通过 Dory 查询的业务数据库或分析数据库。 | 连接数据库 |
生产环境不要把应用数据留在临时容器文件系统中。PGlite 需要持久化 volume;Postgres 需要可备份的独立数据库。
上线前检查
| 项目 | 要确认什么 |
|---|---|
| 域名 | 准备用户实际访问的 URL,例如 https://dory.example.com。 |
| HTTPS | 团队部署必须使用 HTTPS。 |
| Auth URL | BETTER_AUTH_URL 与公开访问地址一致。 |
| Secret | 生成并保存 DS_SECRET_KEY 和 BETTER_AUTH_SECRET。 |
| 应用数据库 | 选择 PGlite 持久化目录或 Postgres。 |
| AI | 明确 provider、model、API key、数据边界和轮换方式。 |
| 数据库账号 | 生产连接优先使用只读账号。 |
| 成员管理 | 明确谁能邀请、谁能管理连接、离职如何回收权限。 |
| 备份 | 明确应用数据、.env 和数据库凭据的备份方式。 |
推荐上线顺序
- 确定访问域名、HTTPS 和网络边界。
- 选择应用数据库模式:PGlite 或 Postgres。
- 准备
.env和 Secret。 - 按 Docker 部署 启动测试环境。
- 登录初始化管理员账号。
- 配置认证策略。
- 连接测试数据库,验证 SQL Console、Explorer、AI 和 Saved Queries。
- 备份数据后再接入生产数据库。
运维边界
- 生产数据库连接使用独立账号,避免共享管理员账号。
- 云数据库需要放行 Dory 服务器出口 IP。
- 内网数据库可通过 SSH Tunnel 或内网路由访问。
- SQLite 和 DuckDB 文件需要挂载到容器内路径。
- AI 功能会向配置的 AI Provider 发送必要上下文,团队上线前应确认数据边界。
相关文档
这篇文档有帮助吗?