
这是 Supabase 在 Zeabur 上的自托管版示例。 你可以使用这个模板在 Zeabur 上部署 Supabase 实例。
此 Supabase 实例包含 Kong(API 网关)、Studio(Supabase Studio)、PostgreSQL(数据库)、Meta(Postgres Meta)、REST(PostgREST)、Auth(GoTrue)、Supavisor(连接池)、Realtime(数据库变更订阅)、Storage(存储 API)、MinIO(对象存储)、ImgProxy(图片处理)和 Functions(Edge Functions)。
详细架构信息请参考官方 Supabase 架构文档。
因平台限制而未包含的服务:
注意: 没有 Analytics,Supabase Studio 的日志功能将无法使用。其他所有 Studio 功能(数据库、认证、存储管理等)都可以正常运作。
如果你需要额外的 Supabase 服务,欢迎根据上游 docker-compose.yaml 文件实现,并将你的更改提交到我们的 Discord 服务器。这适用于我们的贡献奖励计划。
部署完成后,你的 Supabase Studio 仪表板将可在你配置的域名上使用。
查询登录凭证:
DASHBOARD_USERNAME 变量)以下密钥在 Kong 服务 的环境变量中公开:
| 密钥 | 位置 | 说明 |
|---|---|---|
JWT_SECRET | Kong 服务 | 用于签署 JWT 令牌的密钥 |
ANON_KEY | Kong 服务 | 匿名访问的公开 API 密钥 |
SERVICE_ROLE_KEY | Kong 服务 | 具有完整访问权限的管理员 API 密钥 |
⚠️ 重要:默认密钥仅供演示使用。在正式环境使用前,你必须生成新的密钥。
如何生成安全密钥:
JWT_SECRET 生成新的密钥:
anon 密钥 → 作为 ANON_KEY 使用service_role 密钥(网站上显示为 SERVICE_KEY)→ 作为 SERVICE_ROLE_KEY 使用虽然我们提供了一些示例密钥以便快速开始,但你绝对不应该使用我们提供的默认值来部署 Supabase。请依照本节中的所有步骤确保你有安全的设置,然后重启所有服务以应用更改。
在 auth 服务中添加以下环境变量:GOTRUE_EXTERNAL_GOOGLE_ENABLED=true、GOTRUE_EXTERNAL_GOOGLE_CLIENT_ID、GOTRUE_EXTERNAL_GOOGLE_SECRET、GOTRUE_EXTERNAL_GOOGLE_REDIRECT_URI。将域名更新为你的公开域名。
在 auth 服务中添加以下环境变量:GOTRUE_EXTERNAL_APPLE_ENABLED=true、GOTRUE_EXTERNAL_APPLE_CLIENT_ID、GOTRUE_EXTERNAL_APPLE_SECRET、GOTRUE_EXTERNAL_APPLE_REDIRECT_URI。
要启用邮件功能(用户验证、密码重置等),使用 Resend 配置 SMTP 设置:
Resend 设置:
mail.yourdomain.com)Auth 服务 SMTP 配置:
在 auth 服务中添加:GOTRUE_SMTP_HOST=smtp.resend.com、GOTRUE_SMTP_PORT=587、GOTRUE_SMTP_PASS=re_xxx(你的 Resend API 密钥)、GOTRUE_SMTP_ADMIN_EMAIL、GOTRUE_SMTP_SENDER_NAME、GOTRUE_SITE_URL。
支持自定义访问令牌钩子、MFA 验证钩子、密码验证钩子、自定义 SMS/Email 钩子等。在 auth 服务中添加相应的 GOTRUE_HOOK_* 环境变量。
Studio SQL 助手:
在 studio 服务中添加:OPENAI_API_KEY=your-openai-api-key