后端即服务

sh0 在您自己的服务器上提供完整的 BaaS 技术栈——数据库、API、认证、实时通信和函数——不受厂商锁定。

什么是 BaaS?

后端即服务(BaaS)为前端和移动开发者提供现成的后端:带有自动生成 API 的数据库、认证、实时消息和无服务器函数。您无需构建和维护自定义后端,只需配置服务并将其连接到客户端应用。

流行的托管 BaaS 平台包括 Supabase、Firebase 和 Appwrite。sh0 将同样的能力带到您自己的基础设施上——自托管、开源组件、固定定价、完全掌控。

sh0 BaaS 技术栈

sh0 的 BaaS 由四个托管服务组成,每个服务都基于一个久经考验的开源项目:

服务引擎用途
PostgREST APIPostgREST根据 PostgreSQL 模式自动生成的 REST API
认证Logto符合 OIDC 标准的认证,支持社交登录和管理控制台
实时通信CentrifugoWebSocket 频道、在线状态和发布/订阅消息
函数Deno无服务器 TypeScript/JavaScript 函数

这四个服务均由 sh0 管理——一键部署、自动配置 SSL,并连接到您的 PostgreSQL 数据库服务器。

与 Supabase 和 Appwrite 的对比

功能sh0SupabaseAppwrite
托管方式自托管(您的服务器)托管或自托管托管或自托管
REST APIPostgRESTPostgREST自研 REST API
认证Logto (OIDC)Supabase AuthAppwrite Auth
实时通信CentrifugoRealtime (Elixir)实时(WebSocket)
函数DenoDeno多种运行时
定价固定许可费$25/月起(Pro)+ 计算与用量套餐配额,超出部分另计

来源(2026 年 10 月 13 日核实): Supabase 定价· Supabase 文档:使用 Docker 自托管· Appwrite 定价· Appwrite 文档:自托管

Tip
sh0 不只是 BaaS——它是一个完整的部署平台。除 BaaS 服务外,您还可以获得应用托管、Git 部署、Docker Compose、监控、备份等功能。

架构

每个 BaaS 服务都以托管容器的形式运行在您的服务器上,由 sh0 编排:

  • PostgREST 直接连接到您的 PostgreSQL 数据库服务器,并将数据表暴露为 REST 端点。
  • Logto 作为独立的认证服务器运行,将用户数据存储在由您掌控的 PostgreSQL 数据库中。
  • Centrifugo 作为独立的 WebSocket 服务器运行。您的后端通过 HTTP 发布消息;客户端通过 WebSocket 连接。
  • Deno 作为沙箱运行时执行您的 TypeScript 函数,通过 HTTP 调用。

所有服务都通过 Caddy 获得自动 SSL,并由 sh0 提供域名路由和健康监控。它们可以通过内部 Docker 网络相互通信。

快速开始

要开始使用 BaaS 功能,您需要:

  1. 一个正在运行的 sh0 实例(参见安装)。
  2. 一个 PostgreSQL 数据库服务器(参见数据库部署)。
  3. 在控制台中启用您需要的 BaaS 服务。

每个服务都是独立的——只启用您需要的服务。从各个指南开始: