Backend as a Service
O sh0 oferece uma stack BaaS completa no seu próprio servidor — banco de dados, API, autenticação, tempo real e funções — sem dependência de fornecedor.
O que é BaaS?
O Backend as a Service (BaaS) oferece aos desenvolvedores frontend e mobile um backend pronto para uso: um banco de dados com API gerada automaticamente, autenticação, mensagens em tempo real e funções serverless. Em vez de construir e manter um backend personalizado, você configura serviços e os conecta ao seu aplicativo cliente.
Entre as plataformas BaaS hospedadas mais populares estão Supabase, Firebase e Appwrite. O sh0 traz os mesmos recursos para a sua própria infraestrutura — auto-hospedado, componentes de código aberto, preço fixo e controle total.
A stack BaaS do sh0
O BaaS do sh0 é composto por quatro serviços gerenciados, cada um baseado em um projeto de código aberto comprovado:
| Serviço | Motor | Finalidade |
|---|---|---|
| API PostgREST | PostgREST | API REST gerada automaticamente a partir do schema do PostgreSQL |
| Autenticação | Logto | Autenticação compatível com OIDC, com login social e console de administração |
| Tempo real | Centrifugo | Canais WebSocket, presença e mensagens pub/sub |
| Funções | Deno | Funções serverless em TypeScript/JavaScript |
Os quatro serviços são gerenciados pelo sh0 — provisionados com um clique, configurados automaticamente com SSL e conectados aos seus servidores de banco de dados PostgreSQL.
Comparação com Supabase e Appwrite
| Recurso | sh0 | Supabase | Appwrite |
|---|---|---|---|
| Hospedagem | Auto-hospedado (seu servidor) | Hospedado ou auto-hospedado | Hospedado ou auto-hospedado |
| API REST | PostgREST | PostgREST | API REST própria |
| Autenticação | Logto (OIDC) | Supabase Auth | Appwrite Auth |
| Tempo real | Centrifugo | Realtime (Elixir) | Tempo real (WebSocket) |
| Funções | Deno | Deno | Vários runtimes |
| Preços | Licença com preço fixo | A partir de US$ 25/mês (Pro) + compute e uso | Cota do plano e depois excedente |
Fontes (verificadas em 13 de outubro de 2026): Preços do Supabase· Documentação do Supabase: auto-hospedagem com Docker· Preços do Appwrite· Documentação do Appwrite: auto-hospedagem
Arquitetura
Cada serviço BaaS é executado como um contêiner gerenciado no seu servidor, orquestrado pelo sh0:
- PostgREST se conecta diretamente ao seu servidor de banco de dados PostgreSQL e expõe as tabelas como endpoints REST.
- Logto é executado como um servidor de autenticação independente, armazenando os dados dos usuários em um banco de dados PostgreSQL que você controla.
- Centrifugo é executado como um servidor WebSocket independente. Seu backend publica mensagens via HTTP; os clientes se conectam via WebSocket.
- Deno é executado como um runtime isolado (sandbox) para suas funções TypeScript, invocadas via HTTP.
Todos os serviços recebem SSL automático via Caddy, roteamento de domínios e monitoramento de saúde do sh0. Eles podem se comunicar entre si pela rede interna do Docker.
Primeiros passos
Para começar a usar os recursos BaaS, você precisa de:
- Uma instância do sh0 em execução (veja Instalação).
- Um servidor de banco de dados PostgreSQL (veja Provisionamento de bancos de dados).
- Ative os serviços BaaS de que você precisa no painel.
Cada serviço é independente — ative apenas o que você precisa. Comece pelos guias individuais:
- API PostgREST — API REST gerada automaticamente
- Autenticação (Logto) — serviço de autenticação gerenciado
- Tempo real (Centrifugo) — mensagens WebSocket
- Funções (Deno) — TypeScript serverless