Supabase 是一个基于 Postgres 的开发平台。我们正在使用企业级的开源工具来构建 Firebase 的各项功能。
- [x] 托管的 Postgres 数据库。文档
- [x] 身份验证与授权。文档
- [x] 自动生成的 API。
- [x] 函数。
- [x] 文件存储。文档
- [x] AI 与向量/嵌入工具包。文档
- [x] 仪表盘

请关注本仓库的 "releases",以便在重大更新发布时收到通知。
文档
完整文档请访问 supabase.com/docs。
如需了解如何贡献代码,请参阅入门指南。
社区与支持
- 社区论坛:最适合讨论构建过程中遇到的问题以及数据库最佳实践。
- GitHub Issues:最适合反馈使用 Supabase 时遇到的 Bug 与错误。
- 邮件支持:最适合处理数据库或基础设施相关的问题。
- Discord:最适合分享你的应用以及与社区交流互动。
工作原理
Supabase 是多个开源工具的组合。我们正在使用企业级的开源产品来构建 Firebase 的功能。如果某款工具及其社区已经存在,并采用 MIT、Apache 2 或同等开源许可协议,我们会直接使用并支持它;如果该工具不存在,我们就自行构建并将其开源。Supabase 并非 Firebase 的一对一映射。我们的目标是借助开源工具,为开发者带来类似 Firebase 的开发体验。
架构
Supabase 是一个托管平台。你可以直接注册并开始使用 Supabase,无需安装任何东西。
你也可以选择自行托管或在本地进行开发。
- Postgres 是一个对象关系型数据库系统,拥有超过 30 年的活跃开发历史,以可靠性、功能完善和性能强劲而著称。
- Realtime 是一个基于 Elixir 的服务器,可让你通过 WebSocket 监听 PostgreSQL 的插入、更新和删除操作。Realtime 通过轮询 Postgres 内置的复制机制来获取数据库变更,再将变更转换为 JSON,然后通过 WebSocket 广播给经过授权的客户端。
- PostgREST 是一个 Web 服务器,能够将你的 PostgreSQL 数据库直接转换为一个 RESTful API。
- GoTrue 是一个基于 JWT 的身份验证 API,可简化应用中的用户注册、登录与会话管理。
- Storage 是一个用于管理 S3 中文件的 RESTful API,权限管理由 Postgres 负责。
- pg_graphql 是一个用于暴露 GraphQL API 的 PostgreSQL 扩展。
- postgres-meta 是一个用于管理 Postgres 的 RESTful API,支持获取表、添加角色以及执行查询等操作。
- Envoy 是一个云原生的高性能边缘与服务代理。
客户端库
我们采用模块化的方式来组织客户端库。每一个子库都是针对单一外部系统的独立实现。这也是我们能够支持已有工具的方式之一。
| 语言 | Supabase 客户端 | 特性客户端(打包在 Supabase 客户端中) |
|---|---|---|
| Supabase | PostgREST、GoTrue、Realtime、Storage | Functions |
| JavaScript(TypeScript) | supabase-js | postgrest-js、auth-js、realtime-js、storage-js、functions-js |
| Flutter | supabase-flutter | postgrest、supabase_auth、supabase_realtime、supabase_storage、supabase_functions |
| Swift | supabase-swift | postgrest-swift、auth-swift、realtime-swift、storage-swift、functions-swift |
| Python | supabase-py | postgrest-py、gotrue-py、realtime-py、storage-py、functions-py |
💚 社区 💚
| 语言 | Supabase 客户端 | 特性客户端(打包在 Supabase 客户端中) |
|---|---|---|
| C# | supabase-csharp | postgrest-csharp、gotrue-csharp、realtime-csharp、storage-csharp、functions-csharp |
| Go | - | postgrest-go、gotrue-go、-、storage-go、functions-go |
| Java | - | -、gotrue-java、-、storage-java、- |
| Kotlin | supabase-kt | postgrest-kt、auth-kt、realtime-kt、storage-kt、functions-kt |
| Ruby | supabase-rb | postgrest-rb、-、-、-、- |
| Rust | - | postgrest-rs、-、-、-、- |
| Godot Engine(GDScript) | supabase-gdscript | -、-、-、-、- |