Llevas unos meses usando Supabase Cloud y la factura no para de subir.
Cada poco de tráfico de salida extra de la base de datos añade una línea a la factura. Cada 10 000 usuarios activos mensuales te acercan un poco más a un cargo por exceso.
El plan Pro, que empezó costando 25 $ al mes, ahora se parece más a 70 $.
En algún punto entre la página de precios y tu factura real, las cuentas dejaron de parecer una ganga.
Autoalojarlo es la alternativa obvia, pero lo de obvia
tiene más miga de lo que parece. Supabase no es un único binario que sueltas en un servidor. Es un stack de backend completo (una base de datos Postgres, un servicio de autenticación, una API REST, suscripciones en tiempo real, almacenamiento, funciones edge y un panel) conectado entre sí y ejecutándose como una pequeña flota de contenedores Docker.
Ejecutar esa flota en tu propio servidor cuesta entre 23 y 35 $ al mes con Stack 16 (22,99 $/mes durante los 3 primeros meses con facturación mensual y después 34,99 $/mes), un VPS con RAM suficiente para mantenerlo todo en memoria. Es lo que pagas por dos suscripciones de streaming al mes, por un backend que no te cobrará de más cuando el tráfico se dispare.
¿Qué es Supabase y por qué la gente lo autoaloja?
Supabase es una plataforma de backend como servicio (BaaS) de código abierto que reúne en un único despliegue una base de datos Postgres, autenticación, una API REST, suscripciones en tiempo real, almacenamiento y funciones edge.
Es la alternativa a Firebase que funciona en tu propia infraestructura, si así lo quieres. En mayo de 2026, su repositorio de GitHub ya ha superado las 100 000 estrellas, y la plataforma impulsa los backends de empresas como Mozilla, PwC, Johnson & Johnson y 1Password.
La cuestión es si quieres asumir el trabajo operativo que Supabase Cloud hace por ti o pagar a alguien para que lo haga. Hablamos de copias de seguridad, registros, envío de correo electrónico y actualizaciones.
Hay tres motivos para autoalojar Supabase:
- Costes predecibles que no crecen con el uso.
- Datos en una infraestructura que controlas tú.
- Escapar de la dependencia del proveedor que hacía tan difícil abandonar Firebase.
El propio Supabase es refrescantemente sincero sobre quién debería autoalojarlo y quién no. Su documentación oficial sobre autoalojamiento lo dice claramente: Self-hosted Supabase is community-supported. You won’t receive the same level of official support as Supabase Cloud customers.
En otras palabras: si algo se rompe a las 2 de la madrugada, estás solo.
Lo que Supabase te ofrece de serie

Si pensabas que Supabase era solo Postgres con una API REST,
te equivocas. El stack autoalojado ejecuta unos 12 contenedores en paralelo.
Las partes que más vas a tocar son bastante sencillas:
- Postgres. La base de datos en torno a la que gira todo. Supabase usa una versión moderna de PostgreSQL con extensiones para autenticación, tiempo real y búsqueda de texto completo.
- PostgREST. Genera automáticamente una API REST a partir de tu esquema de Postgres. Cada tabla se convierte en un endpoint, sin que tengas que escribir ni una línea de código de backend.
- Auth (antes GoTrue). Gestiona registros, inicios de sesión, restablecimientos de contraseña, OAuth y la emisión de JWT.
- Realtime. Envía los cambios de la base de datos a los clientes conectados mediante WebSockets.
- Storage. Almacenamiento de objetos compatible con S3, con control de acceso vinculado a tu base de datos.
- Edge Functions. Funciones serverless basadas en Deno que se ejecutan cerca de tus usuarios.
- Supabase Studio. El panel desde el que exploras tablas, ejecutas SQL y gestionas los usuarios de autenticación.
También incluye Kong como pasarela de API, imgproxy para el tratamiento de imágenes, Supavisor para el pooling de conexiones y Logflare para las analíticas. Si lo juntas todo, tienes un stack de backend completo, no una simple aplicación.
¿Cuánto cuesta autoalojar Supabase?
Autoalojar Supabase en un VPS cuesta entre 23 y 35 $ al mes con Stack 16, con servidor, almacenamiento y ancho de banda incluidos. El software de Supabase es gratuito.
Echa un vistazo a tu última factura de Supabase Cloud. Lo que pilla desprevenida a la gente no son los 25 $ de base, sino el tráfico de salida de la base de datos y el almacenamiento adicional, que el plan Pro cobra aparte (el desglose de costes de 2026 de Supascale repasa cada concepto).
Compáralo con Supabase Cloud:
| Plan | Coste base | Qué incluye |
|---|---|---|
| Free | $0 | Base de datos de 500 MB 50 000 usuarios activos mensuales 1 GB de almacenamiento Se pausa tras 7 días de inactividad |
| Pro | 25 $/mes | Base de datos de 8 GB 100 000 usuarios activos mensuales 100 GB de almacenamiento 250 GB de tráfico de salida |
| Team | 599 $/mes | Soporte prioritario Inicio de sesión único (SSO) Registros de auditoría Escalado según el uso |
| VPS autoalojado (Stack 16) | 22,99 $/mes durante 3 meses, después 34,99 $/mes | Ilimitado (solo depende de la capacidad del servidor) |
El precio base de Pro parece similar, pero el uso real lo dispara enseguida.
El análisis de Supascale muestra que la mayoría de las aplicaciones en producción pequeñas y medianas acaban pagando entre 100 y 200 $/mes en Pro al sumar los complementos de computación y los excesos de uso. Solo los niveles de computación de Supabase van desde 10 $/mes hasta 3730 $/mes para la instancia 16XL. Las aplicaciones con entre 100 000 y 200 000 usuarios activos mensuales pueden superar con creces esa cifra, y con 500 000 MAU las facturas pueden llegar a 1000-2000 $/mes.
El plan Free es gratis… hasta que intentas usarlo en producción.
Los proyectos se pausan automáticamente tras siete días de inactividad. Eso significa que tu entorno de preproducción muere cada semana y que tus proyectos personales se rompen cada vez que te vas de vacaciones. Según el desglose de precios de 2026 de UI Bakery, este es el motivo más habitual por el que la gente abandona el plan Free antes de lo previsto.
Autoalojar le da la vuelta a la ecuación. Tus costes dependen de tu infraestructura, no de tu uso. Atender a 50 000 MAU cuesta lo mismo que atender a 500 000, con el único límite de lo que aguante tu VPS. Sin tarifas por tráfico de salida, sin excesos de almacenamiento y sin complementos de computación.
Autoalojar no es solo pagar un VPS
La factura del VPS no es el único coste de autoalojar. También pagarás de otras formas:
- Tu tiempo. Calcula entre una y dos horas al mes para el mantenimiento rutinario: actualizaciones de seguridad, descarga de imágenes de Docker, revisión de registros y comprobación de copias de seguridad. Reserva más tiempo si añades funciones o escalas.
- Envío de correo electrónico. Supabase Cloud gestiona los correos de autenticación (como restablecimientos de contraseña, enlaces mágicos o verificación del correo) como un servicio administrado. La versión autoalojada, no. Necesitarás un proveedor SMTP como SendGrid, Mailgun o AWS SES. Calcula entre 0 y 30 $/mes según el volumen.
- Almacenamiento de objetos para archivos. El servicio Storage usa por defecto el sistema de archivos local, que sirve para pruebas, pero en producción es una bomba de relojería. Necesitarás almacenamiento de objetos compatible con S3. AWS S3, Backblaze B2, Wasabi o cualquier otro servicio compatible con S3 te sirven. Reserva entre 5 y 20 $/mes para una aplicación en producción de tamaño pequeño o mediano.
- Infraestructura de copias de seguridad. Autoalojar no incluye copias de seguridad automáticas, así que tendrás que configurarlas tú. Programa un cron job con
simple pg_dumpy guarda el resultado en un lugar fiable. No te saltes este paso: tu yo del futuro te lo agradecerá.
¿Qué especificaciones de servidor necesita Supabase?
Supabase consume mucha memoria. Ejecutar 12 contenedores a la vez, la mayoría relacionados con la base de datos, hace que la RAM importe más que la CPU. El mínimo práctico son 4 GB para una instancia de desarrollo con los servicios opcionales desactivados. Los despliegues en producción necesitan 8 GB o más.
El motivo es el número de contenedores, no un servicio concreto. Postgres necesita búferes compartidos. PostgREST necesita un grupo de conexiones. GoTrue necesita algo de memoria para el entorno de ejecución de Go. Realtime mantiene abiertas las conexiones WebSocket. Edge Runtime levanta entornos aislados de V8.
Por separado, cada servicio es modesto. Juntos, suman rápido.
Si nunca has aprovisionado un VPS, empieza por nuestra guía de VPS para principiantes antes de dimensionar tu servidor.
En DreamHost, Stack 16 (4 vCPU, 16 GB de RAM, 250 GB de NVMe SSD y acceso root completo) es el plan más pequeño que cumple lo que recomienda Supabase para un despliegue con todos los servicios opcionales: 4 núcleos y 8 GB. Stack 8 cumple la memoria y el disco recomendados con 2 vCPU y es adecuado para una aplicación pequeña o un entorno de staging.
¿Qué tamaño de VPS necesita Supabase?
| Carga de trabajo | RAM | CPU | Ideal para |
|---|---|---|---|
| Desarrollo / ligero | 4 GB | 2 núcleos | Pruebas, pequeños proyectos personales, Analytics y Realtime desactivados |
| Producción estándar | 8 GB | 4 núcleos | Pequeñas aplicaciones SaaS, backends de aplicaciones móviles, todos los servicios activados |
| Intensivo | 16 GB+ | 4-8 núcleos | Más tráfico, grandes cargas de trabajo de Postgres, Edge Functions a gran escala |
También puedes quitar servicios opcionales del archivo de Docker Compose para reducir el consumo de recursos.
¿No necesitas suscripciones en tiempo real? Prescinde del contenedor de Realtime.
¿No usas Edge Functions? Elimina Edge Runtime.
¿Las analíticas no son críticas? Quita Logflare.
Un stack reducido cabe con más holgura en un VPS de 4 GB.
El almacenamiento NVMe importa más de lo que crees. Postgres lee y escribe constantemente, y la latencia del SSD influye directamente en la velocidad de las consultas. Los discos SATA antiguos o los discos duros mecánicos te frenarán mucho antes de que la base de datos se ponga interesante.
¿Cómo se instala Supabase autoalojado?

El despliegue completo consta de unos cinco pasos y lleva entre una y dos horas si te manejas bien en la terminal.
Esto es lo que tienes que hacer:
- Aprovisiona un VPS con Ubuntu 22.04 o posterior, 8 GB de RAM y acceso SSH.
- Instala Docker y Docker Compose en el servidor.
- Clona el repositorio de Supabase y copia el archivo de entorno de ejemplo:
git clone https://github.com/supabase/supabase && cp supabase/docker/.env.example supabase/docker/.env - Genera y configura los secretos. Ejecuta el script
generate-keys.shde Supabase para generar tuJWT_SECRET, tuANON_KEYy tuSERVICE_ROLE_KEY. Después, definePOSTGRES_PASSWORDy las credenciales del panel en el archivo .env. - Ejecuta
docker compose up -ddesde el directorio docker y se iniciará todo el stack.
Sabrás que ha funcionado cuando docker compose ps muestre todos los servicios en estado running o healthy, y curl http://localhost:8000/rest/v1/ devuelva una respuesta JSON de PostgREST.
Si algún contenedor está en estado restarting o exited, revisa primero sus registros. Postgres suele ser el culpable, y la causa suele ser una variable de entorno que falta o tiene un formato incorrecto.
La documentación oficial de Supabase sobre el autoalojamiento con Docker explica todas las variables de entorno.
Kong, la pasarela de API, se sitúa delante de todo y gestiona el enrutamiento. En producción, lo habitual es colocar delante de Kong un proxy inverso como Caddy o Nginx para terminar HTTPS y restringir el acceso al panel. Un proxy inverso es un servidor que se sitúa entre internet y tu aplicación y se encarga del SSL y el enrutamiento.
Guarda tu JWT_SECRET, tu ANON_KEY y tu SERVICE_ROLE_KEY en un lugar fiable en cuanto se generen. Perderlos no es una catástrofe, porque puedes regenerarlos. Pero rotarlos hace que caduquen todas las sesiones de usuario activas y obliga a todas las aplicaciones cliente a usar claves nuevas.
Lo que necesitas para autoalojar Supabase
- Un VPS con Ubuntu 22.04 o posterior, al menos 8 GB de RAM y acceso root/SSH
- Un nombre de dominio que apunte a la IP de tu servidor
- Docker y Docker Compose instalados
- Un proveedor SMTP configurado para los correos de autenticación (SendGrid, Mailgun, AWS SES)
- Almacenamiento de objetos compatible con S3 para las subidas de archivos en producción (opcional, pero recomendable)
- Soltura básica con la terminal y entre una y dos horas
¿Cómo mantienes segura una instancia de Supabase autoalojada?
La seguridad de Supabase autoalojado se apoya en tres pilares propios de la plataforma, además de las buenas prácticas habituales de cualquier VPS.

El secreto JWT
Cada token de autorización que emite Supabase se firma con tu JWT_SECRET. Si se filtra, los atacantes pueden falsificar tokens para suplantar a cualquier usuario.
La documentación de Supabase sobre la seguridad de los tokens explica cómo funciona: A shared secret that is in the hands of a malicious actor can be used to impersonate your users [and] give them access to privileged actions or data, and it is difficult to detect or identify when or how a shared secret has been given to a malicious actor.
Trata JWT_SECRET como la contraseña de una base de datos de producción porque, en la práctica, es exactamente eso. Guárdalo en un gestor de secretos, no en un archivo .env en Git, y nunca en el bundle de tu frontend.
La opción recomendada para producción son las claves de firma asimétricas (RS256 o ECC). Es más difícil filtrarlas por accidente que un secreto compartido, y Supabase admite ambas.
Seguridad a nivel de fila
El servicio PostgREST de Supabase expone cada tabla de tu base de datos como un endpoint REST.
Sin políticas de Row Level Security en cada tabla, cualquier usuario autenticado puede leer y escribir todas las filas. Es el error más habitual de quienes empiezan a autoalojar.
Activa RLS en todas las tablas desde el primer día, incluidas las que crees que no lo necesitan.
Clave de rol de servicio
SERVICE_ROLE_KEY es una clave de superadministrador que omite por completo Row Level Security.
Está pensada para llamadas entre backends en las que necesitas saltarte expresamente los permisos a nivel de usuario. La clave nunca debe aparecer en código de frontend, repositorios públicos ni bundles de aplicaciones cliente. Si se filtra, toda tu base de datos queda expuesta.
Más allá de lo específico de Supabase, se aplica el refuerzo de seguridad habitual de cualquier servidor. Activa un firewall que solo exponga los puertos 22 (SSH), 80 (HTTP) y 443 (HTTPS). Ejecútalo todo detrás de un proxy inverso con HTTPS. Restringe Supabase Studio a IP conocidas y mantén el servidor actualizado. Nuestros consejos de seguridad en la nube recogen la lista general de refuerzo, así que te conviene echarles un vistazo.
Una última cosa: rotar el secreto JWT invalida al instante todas las sesiones de usuario activas. Planifica una ventana de mantenimiento y no lo rotes un viernes por la tarde, o lo vas a pasar mal.
¿Qué ventajas e inconvenientes tiene Supabase autoalojado frente a Supabase Cloud?
Supabase autoalojado y Supabase Cloud no son intercambiables. Cada uno gana en aspectos distintos.
| Característica | Autoalojado | Supabase Cloud |
|---|---|---|
| Coste mensual | 34,99 $ del VPS (Stack 16, tras el precio promocional) + complementos | 25 $ de base + excesos por uso |
| Escalado más allá de la base | Limitado por tu VPS | Automático (previo pago) |
| Copias de seguridad automáticas | Por tu cuenta (cron con pg_dump) | Automáticas diarias + PITR |
| Registros (PostgREST, Edge Functions) | Sistema de observabilidad propio | Integrados en el panel |
| Edición de Edge Functions | Solo por CLI | Editor en el panel |
| Envío de correo electrónico | Proveedor SMTP propio | Administrado |
| Soporte | Comunidad (GitHub, Discord) | Planes de pago con SLA |
| Ubicación de los datos | Donde quieras | Regiones en la nube de Supabase |
| Cumplimiento normativo | Es responsabilidad tuya | Requiere Pro o superior |
Autoalojar tiene sentido cuando los costes predecibles importan más que la comodidad de un servicio administrado, cuando necesitas que los datos estén físicamente en una infraestructura que controlas o cuando tienes varios proyectos que costarían 25 $ o más al mes cada uno en Cloud.
Cloud gana cuando la capacidad de operaciones escasea y cuando las copias de seguridad automáticas y una disponibilidad respaldada por SLA son innegociables. También es buena opción cuando tu equipo es pequeño y las cuentas del coste total de propiedad favorecen de verdad al hosting administrado.
También hay un término medio.
Herramientas como Coolify, Dokploy y Railway pueden desplegar y gestionar Supabase en tu VPS, encargándose de las actualizaciones, las copias de seguridad y parte de la observabilidad sin tener que hacerlo todo a mano con Docker Compose.
En pocas palabras: obtienes casi todo el ahorro del autoalojamiento con menos carga operativa. Ninguna iguala el pulido del panel de Cloud, pero todas cuestan menos que Cloud a escala.
¿De verdad deberías autoalojar Supabase?
Autoalojar Supabase no es tanto una decisión de costes como una decisión operativa.
El VPS es barato. Lo que de verdad asumes es hacerte cargo de las copias de seguridad, los registros y toda la fontanería del correo de autenticación. Para la mayoría de los equipos pequeños, el cambio solo compensa cuando los precios de Cloud empiezan a doler o cuando la residencia de los datos deja de ser un extra y se convierte en un requisito.
Si no estás listo para la configuración manual completa, herramientas como Coolify y Dokploy ofrecen un punto intermedio. Gestionan todos los servicios en tu VPS con menos carga que Docker Compose a pelo y a un coste menor que Cloud cuando escalas.
El primer mes de autoalojamiento es el más duro. Ajustarás límites de recursos que no sabías que existían, descubrirás fallos que nadie había documentado y escribirás el manual de operaciones que te habría gustado que alguien te diera.
Del segundo al duodécimo mes todo se calma. Descargas actualizaciones con Docker Compose, ejecutas cada noche un pg_dump a S3 y tu factura no se mueve.
La mejor forma de saber en qué lado estás: contrata un Stack 4 (8,99 $/mes los primeros 3 meses con facturación mensual), ejecuta una instancia de Supabase que no sea de producción durante una semana y deja que la experiencia decida por ti.
Los números harán el resto.
Preguntas frecuentes sobre cómo autoalojar Supabase
¿Supabase autoalojado es realmente gratis?
Supabase autoalojado es software de código abierto gratuito con licencia Apache 2.0. Tus costes reales son el VPS, un proveedor SMTP opcional para los correos de autenticación y un almacenamiento opcional compatible con S3 para las subidas de archivos en producción. Con Stack 16, calcula 34,99 $ al mes por el servidor una vez terminado el precio promocional de 3 meses, más entre 0 y 30 $ por el proveedor SMTP y entre 5 y 20 $ por el almacenamiento de objetos.
¿Qué servidor necesito para autoalojar Supabase?
La configuración recomendada para producción es de 8 GB de RAM, 4 núcleos de CPU y almacenamiento NVMe SSD. El stack completo de Supabase ejecuta alrededor de una docena de contenedores, y la mayoría ocupan memoria de trabajo.
Puedes ejecutar una instancia mínima de desarrollo con 4 GB si desactivas Analytics, Realtime y Edge Runtime en tu archivo de Docker Compose. El plan Stack 16 de DreamHost ofrece 4 vCPU y 16 GB de RAM con acceso root completo, y es el plan más pequeño que cumple las especificaciones recomendadas por Supabase. Consulta nuestros planes de hosting VPS para ver toda la gama.
¿Qué funciones le faltan a Supabase autoalojado?
Las mayores carencias son las copias de seguridad automáticas de la base de datos, la recuperación a un momento dado, la edición de funciones edge desde el panel, los registros unificados de PostgREST y Edge Functions, y el envío de correo electrónico administrado. Puedes montar sustitutos para todo ello (por ejemplo, cron jobs con pg_dump, un sistema de observabilidad propio o un proveedor SMTP), pero nada viene de serie. El panel de Supabase Studio funciona en la versión autoalojada, pero el panel de Cloud está más pulido y recibe antes las novedades.
¿Cómo actualizo una instancia de Supabase autoalojada?
Ejecuta docker compose pull para descargar las imágenes más recientes y, después, docker compose up -d para reiniciar con las nuevas versiones. Toda la actualización lleva unos cinco minutos en una instancia que funcione bien.
Haz una copia de seguridad de tu base de datos Postgres con pg_dump antes de cualquier actualización de versión mayor, fija tus imágenes de Docker a etiquetas de versión concretas en producción y lee las notas de la versión de Supabase para detectar cambios incompatibles. Los servicios de autenticación y almacenamiento a veces requieren pasos de migración.
¿Puedo migrar de Supabase Cloud a una versión autoalojada?
Sí, pero no basta con exportar la base de datos. Los datos de Postgres se migran con pg_dump desde Cloud y pg_restore en la instancia autoalojada. Los usuarios de autenticación, los objetos de almacenamiento y las funciones edge tienen cada uno su propio proceso de migración.
Calcula unas cuantas horas de trabajo para un proyecto pequeño y más para esquemas complejos.