欢迎关注,我们专注于为IT从业者、学生和爱好者提供实用的资源和帮助。
项目介绍
Supabase 是一个开源的 Firebase 替代品,它以 BaaS(后端即服务)的形式向各种应用程序提供了一系列后端功能,有助于开发者更快速地构建产品。 image.png
架构说明
image.png
-
• PostgreSQL 是一个对象关系型数据库系统,经过 30 多年的积极开发,它在可靠性、功能健壮性和性能方面赢得了很好的声誉。
-
• Realtime 是一个 Elixir 服务器,允许你使用 WebSocket 监听 PostgreSQL 的插入、更新和删除。Supabase 监听 Postgres 的内置复制功能,将复制的字节流转换为 JSON,然后通过 WebSocket 广播 JSON。
-
• PostgREST 是一个 Web 服务器,可以将你的 PostgreSQL 数据库直接生成 RESTful API
-
• GoTrue 是一个基于 SWT 的 API,用于管理用户和发布 SWT 令牌。
-
• Storage 提供了一个 RESTful 接口,用于管理存储在 S3 中的文件,使用 Postgres 来管理权限。
-
• pg_graphql 公开GraphQL API的PostgreSQL扩展
-
• postgres-meta 是一个 RESTful API,用于管理你的 Postgres,允许你获取表、添加角色和运行查询等。
-
• Kong 是一个云原生 API 网关。
项目截图
image.png
项目亮点
QQ_1721722111363.png
项目特性
-
• Postgres 数据库托管。
-
• 身份验证和授权。
-
• 自动生成的 API。
-
• REST。
-
• GraphQL。
-
• 实时订阅。
-
-
• 函数。
-
• 数据库函数。
-
• 边缘函数。
-
-
• 文件存储。
-
• AI + 向量/Embeddings 工具包.
-
• 仪表盘。
项目部署
部署脚本
# 获取代码
git clone https://github.com/supabase/supabase
# 进入docker文件夹
cd supabase/docker
# 复制环境变量
cp .env.example .env
# 提取最新镜像
docker compose pull
# 启动服务
docker compose up -d
访问 Supabase 仪表板
通过端口8000
上的API网关访问Supabase仪表板。例如:localhost:8000。
系统将提示您输入用户名和密码。默认情况下,用户名和密码为:
-
• 用户名:
supabase
-
• 密码:
this_password_is_insecure_and_should_be_updated
访问API
API网关服务:
-
• REST:
http://<your-ip>:8000/rest/v1/
-
• Auth:
http://<your-domain>:8000/auth/v1/
-
• Storage:
http://<your-domain>:8000/storage/v1/
-
• Realtime:
http://<your-domain>:8000/realtime/v1/
更多内容,请访问:https://supabase.com/docs/guides/self-hosting/docker
客户端库
客户库是模块化的。每一个子库都是一个独立的实现,用于一个单一的外部系统。
| 语言 | 客户端 | 模块-客户端(已集成在 Supabase 客户端中) | | | | | |-------------------------|-------------------|----------------------------|-----------------|-------------------|------------------|--------------------| | | Supabase | PostgREST | GoTrue | Realtime | Storage | Functions | | ⚡️ 官方 ⚡️ | | | | | | | | JavaScript (TypeScript) | supabase-js | postgrest-js | gotrue-js | realtime-js | storage-js | functions-js | | Flutter | supabase-flutter | postgrest-dart | gotrue-dart | realtime-dart | storage-dart | functions-dart | | 💚 社区 💚 | | | | | | | | 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 | gotrue-kt | realtime-kt | storage-kt | functions-kt | | Python | supabase-py | postgrest-py | gotrue-py | realtime-py | storage-py | functions-py | | Ruby | supabase-rb | postgrest-rb | - | - | - | - | | Rust | - | postgrest-rs | - | - | - | - | | Swift | supabase-swift | postgrest-swift | gotrue-swift | realtime-swift | storage-swift | functions-swift | | Godot Engine (GDScript) | supabase-gdscript | postgrest-gdscript | gotrue-gdscript | realtime-gdscript | storage-gdscript | functions-gdscript |
项目地址
- • 【github】:github.com/supabase/supabase