¿Qué viene instalado en tu servidor Supabase?
- La configuración oficial de Docker de Supabase, fijada a la etiqueta de versión v1.26.08
- PostgreSQL 17 y la pantalla de administración Studio
- Los servicios Auth, PostgREST, Realtime, Storage y Edge Runtime
- El agrupador de conexiones Supavisor, con los puertos 5432 y 6543 abiertos
- SUPABASE_PUBLISHABLE_KEY, SUPABASE_SECRET_KEY, ANON_KEY, SERVICE_ROLE_KEY y POSTGRES_PASSWORD, generadas por los scripts oficiales
- HTTPS mediante Caddy en una dirección sslip.io basada en tu IP, así que el dominio es opcional
- Ajustes en /opt/seturack/supabase/.env
- Cortafuegos con solo los puertos 22, 80, 443, 5432 y 6543 abiertos
¿Qué tamaño necesitas para Supabase?
La documentación de Docker de Supabase fija el mínimo en 4 GB de RAM, 2 núcleos y 40 GB de disco, y recomienda 8 GB o más de RAM, 4 o más núcleos y 80 GB o más de disco. Usa 4 GB como punto de partida para desarrollo y proyectos pequeños, y plantéate 8 GB para un proyecto con usuarios reales. Quitar del archivo Compose los servicios que no uses, como Realtime o Storage, reduce los requisitos. Si no basta, aumenta RAM, CPU y disco por separado desde tu panel, y tus datos y tu dirección IP no cambian.
| Uso | Tamaño | Precio | Elegir |
|---|---|---|---|
| Inicial | 4 GB RAM · 2 vCore · 60 GB NVMe | $6.89/mes | |
| Medio | 8 GB RAM · 4 vCore · 120 GB NVMe | $13.62/mes | |
| Potente | 16 GB RAM · 8 vCore · 200 GB NVMe | $25.15/mes |
¿Para quién es?
- Quienes llevan un proyecto de Supabase a su propio servidor
- Quienes crearon una aplicación con herramientas de IA y quieren su base de datos y su inicio de sesión en su propio servidor
- Desarrolladores que montan su propio entorno de desarrollo y pruebas
¿Qué pasa después de pedir?
- Ajusta el tamaño y completa el pago.
- Tu servidor arranca y Supabase se instala solo. En nuestras pruebas con servidores reales tardó unos 8 minutos. En la pestaña Resumen, espera a que la fila Aplicación indique que Supabase está listo.
- Abre el enlace de la fila Dirección del panel. Tu navegador pide el Usuario de acceso y la Contraseña, y se abre Studio.
- Conéctate por SSH y lee las claves: grep -E '^(SUPABASE_PUBLISHABLE_KEY|SUPABASE_SECRET_KEY|POSTGRES_PASSWORD)=' /opt/seturack/supabase/.env
- Dale a tu aplicación la Dirección del panel y la clave publicable, y mantén la clave secreta en el lado del servidor.
- Define SITE_URL y ADDITIONAL_REDIRECT_URLS en .env con la dirección de tu aplicación y ejecuta docker compose up -d.
Con cada servidor
- Copia de seguridad diaria incluida en el precio
- Tráfico ilimitado
- Acceso root completo
- Amplía o reduce RAM y CPU más adelante, y haz crecer el disco
- Ubicación: Istanbul · IST-1.
Conviene saber
- Supabase autoalojado ejecuta un único proyecto. La documentación oficial dice que las ramas, PITR, la Management API y los analytics buckets no están disponibles en esta configuración.
- Tras la configuración, el SITE_URL de Auth es la dirección de Studio protegida con contraseña, así que los enlaces de los correos van allí. Pon la dirección de tu aplicación en SITE_URL y ADDITIONAL_REDIRECT_URLS.
- Los puertos 5432 y 6543 están abiertos a internet, y ufw no puede cerrarlos porque los publica Docker. Para limitarlos, añade 127.0.0.1: al principio de las líneas de puertos de Supavisor en docker-compose.yml y usa un túnel SSH.
- Las actualizaciones corren de tu cuenta. Supabase publica su configuración de Compose más o menos una vez al mes, y el script update.sh de la carpeta incorpora los cambios a tu instalación.
Preguntas y respuestas sobre Supabase
¿Cuánta RAM necesita Supabase autoalojado?
La documentación de Supabase pide al menos 4 GB de RAM, 2 núcleos y 40 GB de disco para una instalación autoalojada, y recomienda 8 GB o más de RAM. Quitar del archivo Compose los servicios que no uses reduce los requisitos.
¿Dónde encuentro mis claves de API de Supabase?
Conéctate por SSH y mira en /opt/seturack/supabase/.env. SUPABASE_PUBLISHABLE_KEY es para el código del cliente. SUPABASE_SECRET_KEY tiene todos los derechos y debe estar solo en el lado del servidor. Las antiguas ANON_KEY y SERVICE_ROLE_KEY siguen funcionando.
¿Cómo conecto mi aplicación a Supabase autoalojado?
Con supabase-js, pasa la Dirección del panel y el valor de SUPABASE_PUBLISHABLE_KEY a createClient. REST, Auth, Storage y Realtime están todos bajo esa dirección. El usuario y la contraseña que pide tu navegador son solo para Studio, y las peticiones a la API se comprueban por clave.
¿Cómo me conecto a la base de datos de Supabase desde fuera?
Las conexiones pasan por Supavisor: postgres://postgres.your-tenant-id:POSTGRES_PASSWORD@ADDRESS:5432/postgres. El puerto 5432 es el modo de sesión y el 6543 el modo de transacción. your-tenant-id es el valor de POOLER_TENANT_ID en .env. El propio Postgres no se publica al exterior.
¿Por qué no llegan los correos de registro de Supabase?
En la instalación no hay configurado ningún servidor SMTP real, así que los registros con confirmación por correo no pueden completarse. Rellena los valores que empiezan por SMTP_ en /opt/seturack/supabase/.env con los de tu proveedor de correo y ejecuta docker compose up -d en esa carpeta. Para permitir registros sin confirmación, mira el ajuste ENABLE_EMAIL_AUTOCONFIRM.
¿Puedo ejecutar varios proyectos de Supabase?
Una instalación ejecuta un único proyecto, y Studio no admite varias organizaciones ni proyectos. Usa un servidor aparte para cada proyecto.
¿Se hace copia de seguridad de mis datos de Supabase?
Tu servidor tiene copia de seguridad cada noche, se conservan los últimos 7 días y va incluida en el precio. Las copias gestionadas de Supabase y PITR no forman parte de una instalación autoalojada. Para volver a un momento concreto, conserva también tus propios archivos de pg_dump.