Supabase self-hosted: lo que cambia respecto a la nube
Supabase self-hosted replica exactamente la arquitectura de su servicio cloud, pero requiere configurar manualmente las piezas que en la nube vienen preconfiguradas.
Componentes del stack
| Servicio | Función | Puerto interno |
|---|---|---|
| db (PostgreSQL) | Base de datos principal | 5432 |
| kong | API Gateway | 8000 |
| auth (GoTrue) | Autenticación de usuarios finales | 9999 |
| rest (PostgREST) | API REST automática sobre Postgres | 3000 |
| realtime | WebSockets sobre cambios en DB | 4000 |
| storage | Almacenamiento de objetos | 5000 |
| studio | Panel de administración | 3000 |
Diferencias importantes
- JWT_SECRET: hay que generarlo manualmente y derivar
ANON_KEYySERVICE_ROLE_KEYdesde él. En la nube Supabase lo hace automáticamente. - Studio: en self-hosted, Studio se expone vía Traefik detrás de SSO (
studio.d4r.es). No es un panel público. - Realtime: requiere ajustar
fs.file-maxen el host para evitar errores de ulimit con muchas conexiones simultáneas. - Kong: actúa de API Gateway interno. El backend (FastAPI) accede a Supabase vía
http://kong:8000, no por la URL pública.
Acceso directo a Postgres
A diferencia de la nube, en self-hosted puedes conectarte directamente al puerto 5432. El stack expone ese puerto solo en 127.0.0.1; para acceder desde otra máquina necesitas un túnel SSH o una VPN.