51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

【开源分享】Star 69.7k,开源的后端即服务(BaaS)平台

欢迎关注,我们专注于为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
赞(4)
未经允许不得转载:工具盒子 » 【开源分享】Star 69.7k,开源的后端即服务(BaaS)平台