Supabase
La alternativa open-source a Firebase — Postgres + Auth + Realtime + Storage.
Supabase es un backend-as-a-service open-source construido sobre PostgreSQL. Empaqueta autenticación, APIs REST + GraphQL instantáneas desde tu schema, suscripciones en tiempo real, almacenamiento de ficheros, edge functions y pgvector — todo corriendo sobre extensiones de Postgres. Pier despliega todo el stack como un servicio de un clic.
Desplegar con Pier
- 1 Abre el panel de Pier y haz clic en Add service.
- 2 Elige Supabase en la lista de plantillas.
- 3 Elige la versión, asigna un nombre al servicio y Pier provisionará automáticamente el contenedor, el almacenamiento y los puertos.
- 4 Vincula un dominio si quieres HTTPS. Traefik genera el certificado de Let's Encrypt automáticamente.
¿Qué es Supabase?
Supabase es “la alternativa open-source a Firebase” — un backend-as-a-service
que empaqueta autenticación, una API REST + GraphQL autogenerada,
suscripciones realtime, almacenamiento de ficheros, edge functions y búsqueda
vectorial encima de PostgreSQL. Donde Firebase encierra tus datos en el
Firestore propietario de Google, Supabase mantiene todo en Postgres puro —
puedes pg_dump tu base de datos en cualquier momento y marcharte.
Arquitectónicamente es un stack Docker Compose: Postgres en el medio, PostgREST + pg_graphql exponiendo el schema como APIs, GoTrue manejando auth, Realtime broadcasteando cambios por WebSockets y Storage API envolviendo buckets compatibles con S3. Kong se sienta delante como gateway. Supabase Studio te da una UI web para navegar tablas, editar políticas RLS e inspeccionar logs.
Cómo lo despliega Pier
Pier despliega Supabase como plantilla Docker Compose multi-contenedor. Todos los sidecars — Postgres, PostgREST, GoTrue, Realtime, Storage, Kong, Studio — suben juntos con defaults sensatos y un JWT secret generado. El servicio expone los puertos 8000 (API) y 3000 (Studio) internamente.
Para HTTPS, adjunta un dominio — Traefik maneja la emisión del cert. Las
env vars estándar de Supabase (SUPABASE_URL, ANON_KEY, SERVICE_ROLE_KEY)
se muestran en la página del servicio de Pier para que las enchufes
directamente a tu cliente SDK.
Cuándo NO usar Supabase
Para almacenamiento puro o auth pura, el stack empaquetado es overkill — usa PostgreSQL plano + una librería de auth. Para apps solo móvil sin lado web, PocketBase es más ligero. Para necesidades enterprise profundas de SSO y RBAC de fábrica, mira Keycloak. Supabase gana cuando quieres una experiencia de desarrollador estilo Firebase sin renunciar a Postgres ni a la libertad de autohospedaje.
Características clave
PostgreSQL como núcleo
Cada feature de Supabase es una extensión o sidecar de Postgres. Tus datos viven en Postgres puro — sin base de datos propietaria, sin lock-in. Los exports `pg_dump` funcionan.
REST + GraphQL autogenerados
PostgREST expone cada tabla y vista como endpoint REST con row-level security. pg_graphql añade GraphQL encima — sin resolvers que escribir.
Auth lista de fábrica
Email/password, magic links, OAuth (Google, GitHub, Apple, Discord, 30+ proveedores), MFA, anonymous sign-ins. Tokens JWT enforced vía políticas RLS de Postgres.
Suscripciones realtime
Suscríbete a INSERT/UPDATE/DELETE sobre cualquier tabla por WebSockets. Construido sobre replicación lógica de Postgres — mismo mecanismo que replicación cross-region.
Almacenamiento de objetos
Almacenamiento compatible con S3 con políticas RLS por bucket. Transformaciones de imagen, URLs firmadas, uploads grandes — todo sin salir de Supabase.
Búsqueda vectorial (pgvector)
Soporte de primera clase para embeddings de IA. Almacena, indexa y consulta vectores de 1536 dimensiones con índices HNSW. RAG y búsqueda semántica sin una vector DB aparte.
Casos de uso
Backend de apps SaaS
Reemplaza Firebase + Stripe + Algolia + S3 con un stack autohospedado. Auth, base de datos, almacenamiento, búsqueda, vector — todo en un Postgres.
Backend de herramientas internas
PostgREST + auth te da una API completa en minutos. Combina con Retool, Tooljet o la plantilla Directus de Pier para la UI.
Backend de apps móviles
Los SDKs Supabase JS/Swift/Kotlin/Flutter manejan auth, realtime, storage. Offline-first con capas como PowerSync o Watermelon.
Backend IA / RAG
pgvector para embeddings + storage para documentos + auth para acceso multi-tenant. El stack OSS de facto para productos RAG.
Colaboración en tiempo real (estilo Notion)
Suscripciones realtime en tablas Postgres sincronizan estado entre usuarios. Empareja con Yjs o Liveblocks para OT/CRDT en la capa de editor.
Ejemplos de código
import { createClient } from "@supabase/supabase-js";
const supabase = createClient(
"https://your-supabase.example.com",
"<anon key>"
);
const { data, error } = await supabase
.from("posts")
.select("id, title, author:profiles(name)")
.eq("published", true)
.order("created_at", { ascending: false })
.limit(10); const channel = supabase
.channel("posts-changes")
.on(
"postgres_changes",
{ event: "INSERT", schema: "public", table: "posts" },
(payload) => console.log("New post:", payload.new)
)
.subscribe(); ALTER TABLE projects ENABLE ROW LEVEL SECURITY;
CREATE POLICY "Users see only their own projects"
ON projects FOR ALL
USING (owner_id = auth.uid()); SELECT id, title, content
FROM documents
ORDER BY embedding <-> '[0.1, 0.2, ...]'::vector
LIMIT 5; Comparativa
| vs Firebase | Firebase es closed-source y Google-locked-in. Supabase es OSS, autohospedable, basada en Postgres. Feature set equivalente; portable el momento que quieras irte. |
| vs PocketBase | PocketBase es un Firebase-alike single-binary basado en SQLite. Más ligero, simple, menor techo. Elige PocketBase para proyectos hobby; Supabase para SaaS multi-tenant en producción. |
| vs Hasura | Hasura genera GraphQL desde cualquier Postgres. Supabase genera REST + GraphQL y empaqueta auth/storage/realtime/edge functions. Hasura es la capa GraphQL; Supabase es el stack completo. |
| vs Postgres + API hecha a mano | Puedes construirlo todo sobre Postgres puro — pero reinventas auth, plumbing de RLS, websockets realtime y storage. Supabase ahorra meses de plumbing. |
Preguntas frecuentes
¿Es Supabase realmente 100% open source?
¿Cómo lo despliega Pier?
¿Puertos por defecto?
¿Cómo accedo a Supabase Studio?
¿Puedo migrar de Supabase hosted a self-hosted en Pier?
¿Extensiones Postgres disponibles?
¿Backups?
Servicios relacionados
Desplegar en tu VPS
Supabase es un backend-as-a-service open-source construido sobre PostgreSQL. Empaqueta autenticación, APIs REST + GraphQL instantáneas desde tu schema, suscripciones en tiempo real, almacenamiento de ficheros, edge functions y pgvector — todo corriendo sobre extensiones de Postgres. Pier despliega todo el stack como un servicio de un clic.
Desplegar este servicio →