icon

Supabase (Zeabur Self-hosted)

开源的 Firebase 替代方案。我们使用企业级开源工具来构建 Firebase 的功能。

template cover
部署次数10
发布者canyugs
创建于2025-10-26
模版内的服务
service icon
service icon
service icon
service icon
service icon
service icon
service icon
service icon
service icon
service icon
service icon
service icon
service icon
标签
CMSDatabaseToolAPI

Supabase Zeabur 自托管版

这是 Supabase 在 Zeabur 上的自托管版示例。 你可以使用这个模板在 Zeabur 上部署 Supabase 实例。

开发状态

⚠️ 此模板目前正在积极开发中。 某些服务可能尚未完全正常运作。详情请参阅下方状态表。

服务状态备注
PostgreSQL✅ 正常运作核心数据库完全正常
Kong✅ 正常运作API 网关运作中
Studio✅ 正常运作仪表板可访问
Auth✅ 正常运作身份验证流程运作中
REST✅ 正常运作PostgREST API 正常
Meta✅ 正常运作数据库元数据 API 运作中
Vector✅ 正常运作日志收集运作中
Analytics✅ 正常运作Logflare 集成运作中
JWT/Keys✅ 正常运作支持自定义 JWT 密钥
Realtime⚠️ 测试中可能不稳定,需要更多测试
Storage🚧 开发中尚未完全测试
Supavisor🚧 开发中连接池需要测试
Functions🚧 Beta边缘函数尚未完全测试

图例:

  • ✅ 正常运作 - 已完全测试且可运作
  • ⚠️ 测试中 - 功能可用但可能有问题
  • 🚧 开发中 - 正在开发/测试中

服务概览

核心服务(必要)

  1. postgresql - PostgreSQL 数据库

    • Supabase 的核心数据库,存储所有应用程序数据
    • ⚠️ 必要 - 无法移除
  2. kong - API 网关

    • 统一的 API 入口,处理路由、身份验证和速率限制
    • ⚠️ 必要 - 无法移除
  3. studio - Supabase 仪表板

    • 网页管理界面,用于管理数据库、身份验证、存储等
    • ⚠️ 必要 - 强烈建议保留以便管理
  4. auth - GoTrue 身份验证

    • 处理用户注册、登录、OAuth 和身份验证流程
    • ⚠️ 必要 - 除非使用外部身份验证系统
  5. rest - PostgREST API

    • 自动将 PostgreSQL 数据库转换为 RESTful API
    • ⚠️ 必要 - 无法移除
  6. meta - Postgres Meta API

    • 提供数据库元数据 API,供 Studio 使用
    • ⚠️ 必要 - Studio 依赖此服务

可选服务

  1. vector - 日志聚合

    • 收集并转发服务日志到 Analytics
    • ✅ 可选 - 如不需要日志分析可移除
  2. analytics - Logflare 分析

    • 日志分析和查询服务
    • ✅ 可选 - 如不需要日志分析可移除(也需移除 vector)
  3. storage - 文件存储

    • 文件上传、存储和管理服务
    • ✅ 可选 - 如不需要文件存储功能可移除
    • ⚠️ 状态:尚未完全测试
  4. imgproxy - 图片转换

    • 图片转换和优化服务(用于 Storage)
    • ✅ 可选 - 如移除 storage 则可一并移除
  5. realtime - 实时订阅

    • 提供数据库变更的实时订阅功能
    • ✅ 可选 - 如不需要实时功能可移除
    • ⚠️ 状态:可能不稳定
  6. functions - 边缘函数

    • Serverless 函数执行环境(类似 AWS Lambda)
    • ✅ 可选 - 如不需要边缘函数可移除
    • ⚠️ 状态:Beta 阶段,尚未完全测试
  7. supavisor - 连接池

    • PostgreSQL 连接池管理器,提升数据库连接性能
    • ✅ 可选 - 小型项目可移除
    • ⚠️ 状态:尚未完全测试

开始使用

访问仪表板

部署完成后,你的 Supabase Studio 仪表板将可在你配置的域名上使用。

查询登录凭证:

  1. 前往 Zeabur 项目中的 Kong 服务
  2. 点击 Instructions(说明) 标签
  3. 你会看到:
    • Supabase Username:你的仪表板用户名(来自 DASHBOARD_USERNAME 变量)
    • Supabase Password:自动生成的安全密码

重要安全密钥

以下密钥在 Kong 服务 的环境变量中公开:

密钥位置说明
JWT_SECRETKong 服务用于签署 JWT 令牌的密钥
ANON_KEYKong 服务匿名访问的公开 API 密钥
SERVICE_ROLE_KEYKong 服务具有完整访问权限的管理员 API 密钥

⚠️ 重要:默认密钥仅供演示使用。在正式环境使用前,你必须生成新的密钥。

如何生成安全密钥:

  1. 访问 Supabase JWT 生成器
  2. 使用你的自定义 JWT_SECRET 生成新的 ANON_KEYSERVICE_ROLE_KEY
  3. 在 Kong 服务中更新环境变量
  4. 重启所有服务以应用更改:
    • 进入你的 项目设置常规设置
    • 向下滚动到 批量操作
    • 点击 全部重启 以重启所有服务

保护你的服务

虽然我们提供了一些示例密钥以便快速开始,但你绝对不应该使用我们提供的默认值来部署 Supabase。请依照本节中的所有步骤确保你有安全的设置,然后重启所有服务以应用更改。

官方指南