Cómo autoalojar Supabase en un VPS

Publicado: por Dallas Kashuba
Cómo autoalojar Supabase en un VPS thumbnail

Llevas unos meses usando Supabase Cloud, y la factura sigue aumentando.

Cada bit extra de egreso de la base de datos añade un elemento a la lista. Cada 10,000 usuarios activos mensuales te acercan más a un exceso.

El plan Pro que comenzaba en $25 al mes ahora parece ser más cerca de $70.

En algún punto entre la página de precios y tu factura real, la economía dejó de sentirse como una ganga.

El autoalojamiento es la alternativa obvia, pero “obvio” está haciendo mucho trabajo aquí. Supabase no es un binario único que colocas 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 de borde y un panel — todo conectado y funcionando como una pequeña flota de contenedores de Docker.

Operar esa flota en tu propio servidor cuesta entre $12 y $25 por mes para un VPS con suficiente RAM para mantener todo en memoria. Eso es dos suscripciones de streaming al mes por un backend que no te cobrará extra cuando el tráfico aumente.

¿Qué es Supabase y por qué la gente lo aloja por sí misma?

Supabase es una plataforma de Backend como Servicio (BaaS) de código abierto que integra una base de datos Postgres, autenticación, una API REST, suscripciones en tiempo real, almacenamiento y funciones de borde en una sola implementación.

Es la alternativa a Firebase que funciona en tu propia infraestructura si así lo deseas. El repositorio en GitHub ha superado las 100,000 estrellas en mayo de 2026, y la plataforma impulsa los backends de empresas como Mozilla, PwC, Johnson & Johnson y 1Password.

La pregunta es si quieres encargarte del trabajo operativo que Supabase Cloud maneja por ti o pagar a alguien más para que lo haga. Estamos hablando de copias de seguridad, registros, entrega de correos y actualizaciones.

Las personas autoalojan Supabase por tres razones:

  1. Desean costos predecibles que no escalen con el uso.
  2. Desean que sus datos estén en infraestructura que ellos controlen. 
  3. Desean salir de la trampa de dependencia de proveedor que hizo que dejar Firebase fuera tan doloroso.

Supabase es sorprendentemente claro respecto a quién debería y quién no debería autoalojarse. Los documentos oficiales de autoalojamiento lo dicen claramente: “Supabase autoalojado es soportado por la comunidad. No recibirás el mismo nivel de soporte oficial que los clientes de Supabase Cloud.”

Traducción: Si algo se rompe a las 2 AM, estarás por tu cuenta.

Lo que Supabase realmente te ofrece desde el inicio

Pila de Supabase mostrando servicios principales: Postgres, REST API, autenticación, tiempo real, almacenamiento, funciones y pasarela de API.

Si pensabas que Supabase era solo “Postgres con una API REST”, no lo es. El stack autoalojado ejecuta alrededor de 12 contenedores en paralelo.

Las partes con las que más interactuarás son bastante sencillas:

  • Postgres. La base de datos en el núcleo de todo. Supabase utiliza 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 desde tu esquema de Postgres. Una tabla se convierte en un punto final, y no necesitas escribir ningún código de backend para lograrlo.
  • Auth (anteriormente GoTrue). Maneja registros, inicios de sesión, reinicios de contraseñas, OAuth y emisión de JWT.
  • Realtime. Envía cambios en la base de datos a clientes conectados a través de WebSockets.
  • Storage. Almacenamiento de objetos compatible con S3 con control de acceso vinculado a tu base de datos.
  • Edge Functions. Funciones sin servidor basadas en Deno que se ejecutan cerca de tus usuarios.
  • Supabase Studio. El panel donde puedes explorar tablas, ejecutar SQL y gestionar usuarios de autenticación.

También obtienes Kong como puerta de enlace API, imgproxy para el manejo de imágenes, Supavisor para el agrupamiento de conexiones y Logflare para análisis. Juntándolo todo, estás viendo un stack de backend completo, no una aplicación simple.

Recibe contenido directamente en tu bandeja de entrada

Suscríbete ahora para recibir todas las últimas actualizaciones, directamente en tu bandeja de entrada.

¿Cuánto cuesta autoalojar Supabase?

Alojar Supabase en un VPS tiene un costo de $12–$25 por mes, cubriendo el servidor, almacenamiento y ancho de banda. El software de Supabase en sí es gratuito.

Revisa tu última factura de Supabase Cloud por un momento. El ítem que sorprende a las personas no es el costo base de $25. Son el egreso de la base de datos y el almacenamiento adicional, que el plan Pro mide por separado (El desglose del costo de 2026 de Supascale te guía por los ítems).

Compáralo con Supabase Cloud:

PlanCosto baseLo que obtienes
Gratis$0Base de datos de 500 MB
50K usuarios activos mensuales
1 GB de almacenamiento
Se pausa después de 7 días de inactividad
Pro$25/mesBase de datos de 8 GB
100K usuarios activos mensuales
100 GB de almacenamiento
250 GB de salida
Equipo$599/mesSoporte prioritario
Inicio de sesión único (SSO)
Registros de auditoría
Escalado basado en uso
VPS autoalojado$12-$25/mesIlimitado (limitado solo por la capacidad del servidor)

El precio base Pro parece comparable, pero el uso real lo incrementa rápidamente.

El análisis de Supascale muestra que la mayoría de las aplicaciones de producción pequeñas a medianas se sitúan en $100–$200/mes en Pro una vez que se consideran los complementos de computación y los excesos de uso — los niveles de computación de Supabase solos van desde $10/mes hasta $3,730/mes para la instancia 16XL. Las aplicaciones con 100K–200K usuarios activos mensuales pueden superar con creces eso, y con 500K MAUs las facturas pueden alcanzar $1,000–$2,000/mes.

El nivel gratuito es gratis — hasta que intentes usarlo para producción.

Los proyectos se pausan automáticamente después de siete días de inactividad, lo que significa que tu entorno provisional muere cada semana y tus proyectos personales fallan cada vez que te tomas unas vacaciones. Según la desglose de precios de 2026 de UI Bakery, esta es la razón más común por la que las personas abandonan el plan gratuito antes de lo esperado.

El autoalojamiento cambia la ecuación. Tus costos permanecen vinculados a tu infraestructura, no a tu uso. Tener 50,000 MAUs cuesta lo mismo que tener 500,000, limitado solo por lo que tu VPS puede manejar. Sin tarifas de salida, sin excesos de almacenamiento, sin complementos de computación.

El autoalojamiento no es solo una factura de VPS

La factura del VPS no es el único costo de autoalojamiento. También estarás gastando de otras maneras:

  • Tu tiempo. Planea de una a dos horas al mes para mantenimiento rutinario, como actualizaciones de seguridad, actualizaciones de imágenes de Docker, revisión de registros y verificación de copias de seguridad. Permítete más tiempo si agregas funcionalidades o escalas.
  • Entrega de correo. Supabase Cloud maneja correos de autenticación (por ejemplo, restablecimientos de contraseña, enlaces mágicos, verificación de correo) como un servicio gestionado. El autoalojamiento no lo hace. Necesitarás un proveedor SMTP como SendGrid, Mailgun o AWS SES. Planea gastar $0-$30 al mes dependiendo del volumen.
  • Almacenamiento de objetos para archivos. El servicio de Storage se configura por defecto en el sistema de archivos local, que es adecuado para pruebas y una bomba de tiempo en producción. Necesitarás un almacenamiento de objetos compatible con S3 — AWS S3, Backblaze B2, Wasabi o DreamObjects de DreamHost funcionan. Presupuesta $5–$20 al mes para una aplicación pequeña a mediana en producción.
  • Infraestructura de respaldo. El autoalojamiento no incluye copias de seguridad automáticas, por lo que tendrás que configurarlas tú mismo. Escribe un cron job de `simple pg_dump` y guarda la salida en algún lugar seguro. No omitas esta parte; tu yo futuro te lo agradecerá.

¿Qué especificaciones de servidor necesita Supabase?

Supabase consume mucha memoria. Ejecutar 12 contenedores simultáneamente, la mayoría de ellos adyacentes a la base de datos, significa que la RAM es más importante que la CPU. El mínimo práctico es 4 GB para una instancia de desarrollo con servicios opcionales desactivados. Las implementaciones de producción requieren 8 GB o más.

La razón es la cantidad de contenedores, no un servicio en particular. Postgres necesita búferes compartidos. PostgREST requiere un pool de conexiones. GoTrue necesita una pequeña huella para el runtime de Go. Realtime mantiene abiertas las conexiones WebSocket. Edge Runtime inicia aislamientos V8.

Individualmente, cada servicio es modesto. Combinados, se suman rápidamente.

Si nunca has aprovisionado un VPS antes, comienza con nuestra guía para principiantes sobre VPS antes de dimensionar tu servidor.

En DreamHost, nuestro plan VPS Autogestionado Stack 8 ofrece 8 GB de RAM con almacenamiento SSD NVMe y acceso completo de root, el tamaño adecuado para una implementación estándar de Supabase que ejecute todos los servicios opcionales.

¿Qué tamaño de VPS necesita Supabase?

Carga de trabajoRAMCPURecomendado para
Dev / ligero4 GB2 núcleosPruebas, proyectos secundarios pequeños, Analítica y Tiempo Real desactivados
Estándar de producción8 GB4 núcleosPequeñas aplicaciones SaaS, backend de aplicaciones móviles, todos los servicios activados
Intenso16 GB+4-8 núcleosMayores volúmenes de tráfico, grandes cargas de trabajo de Postgres, Funciones Edge a gran escala

También puedes eliminar servicios opcionales del archivo Docker Compose para reducir la huella.

¿No necesitas suscripciones en tiempo real? Omite el contenedor en tiempo real.

¿No utilizas Funciones de Borde? Elimina el Tiempo de Ejecución de Borde.

¿Los análisis no son críticos? Elimina Logflare.

Un stack simplificado podría ajustarse más cómodamente en un VPS de 4 GB.

El almacenamiento NVMe importa más de lo que crees. Postgres está constantemente leyendo y escribiendo, y la latencia del SSD afecta directamente la rapidez con la que se ejecutan las consultas. Los antiguos discos SATA o los discos giratorios te ralentizarán mucho antes de que la base de datos se vuelva interesante.

¿Cómo funciona la configuración de Supabase autoalojado?

Proceso de cinco pasos para iniciar el stack: provisionar VPS, instalar Docker, clonar repositorio, generar secretos, ejecutar Docker Compose.

La implementación completa consta de cinco pasos y tarda de una a dos horas si te sientes cómodo en un terminal.

Aquí está lo que necesitas hacer:

  1. Provisiona un VPS con Ubuntu 22.04 o más reciente, 8 GB de RAM y acceso SSH.
  2. Instala Docker y Docker Compose en el servidor.
  3. 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`
  4. Genera y establece secretos. Ejecuta el script `generate-keys.sh` de Supabase para producir tu JWT_SECRET, ANON_KEY, y SERVICE_ROLE_KEY, luego establece POSTGRES_PASSWORD y las credenciales del panel en el archivo .env.
  5. Ejecuta `docker compose up -d` desde el directorio docker, y se inicia todo el stack.

Sabrás que funcionó cuando `docker compose ps` muestre todos los servicios en un estado `running` o `healthy`, y `curl http://localhost:8000/rest/v1/` devuelva una respuesta JSON de PostgREST.

Si algún contenedor está en `restarting` o `exited`, primero revisa los registros de ese contenedor. Postgres suele ser el culpable habitual, y la causa suele ser una variable de entorno que falta o está mal formada.

La documentación oficial de autoalojamiento de Supabase Docker explica cada una de las variables de entorno.

Kong, la puerta de enlace API, se sitúa al frente de todo y maneja el enrutamiento. En producción, normalmente colocarás un proxy inverso (un servidor que se sitúa entre internet y tu aplicación, manejando SSL y enrutamiento) como Caddy o Nginx frente a Kong para terminar HTTPS y restringir el acceso al panel.

Guarda tus claves JWT_SECRET, ANON_KEY y SERVICE_ROLE_KEY en un lugar seguro en cuanto se generen. Perderlas no es catastrófico porque puedes regenerarlas, pero rotarlas obliga a que todas las sesiones de usuarios activos expiren y cada aplicación cliente obtenga nuevas claves.

Qué necesitarás para autoalojar Supabase

  • Un VPS con Ubuntu 22.04+ con al menos 8 GB de RAM y acceso Root/SSH
  • Un nombre de dominio apuntando a la IP de tu servidor
  • Docker y Docker Compose instalados
  • Un proveedor SMTP configurado para correos de autenticación (SendGrid, Mailgun, AWS SES)
  • Almacenamiento de objetos compatible con S3 para la subida de archivos de producción (opcional pero recomendado)
  • Conocimientos básicos de terminal y aproximadamente una a dos horas

¿Cómo mantienes segura una instancia autoalojada de Supabase?

La seguridad de Supabase autoalojada se basa en tres pilares específicos de la plataforma, además de la higiene estándar de VPS.

Tres vulnerabilidades de seguridad en bases de datos: secreto JWT expuesto, tablas sin protección y compromiso de controles de acceso por clave de super-administrador.

El secreto JWT

Cada token de autorización que emite Supabase está firmado con tu JWT_SECRET. Si se filtra, los atacantes pueden falsificar tokens que suplanten a cualquier usuario.

Los documentos de seguridad de tokens de Supabase explican cómo funciona: “Un secreto compartido que está en manos de un actor malicioso puede ser utilizado para suplantar a tus usuarios [y] darles acceso a acciones o datos privilegiados, y es difícil detectar o identificar cuándo o cómo un secreto compartido ha sido entregado a un actor malicioso.”

Trata el JWT_SECRET como si fuera la contraseña de una base de datos de producción porque, funcionalmente, eso es exactamente lo que es. Almacénalo en un gestor de secretos, no en un archivo `.env` en Git, y nunca en tu paquete frontend.

La ruta de producción recomendada son las claves de firma asimétricas (RS256 o ECC). Son más difíciles de filtrar por accidente que un secreto compartido, y Supabase soporta ambas.

Seguridad a nivel de fila

El servicio PostgREST de Supabase expone cada tabla en tu base de datos como un punto final REST.

Sin políticas de Seguridad a Nivel de Fila en cada tabla, cada usuario autenticado puede leer y escribir cada fila. Este es el error más grande que cometen los nuevos usuarios al autoalojarse.

Habilita RLS en todas las tablas desde el primer día, incluidas las tablas que crees que no necesitas.

Clave del rol de servicio

La SERVICE_ROLE_KEY es una clave de super-administrador que omite completamente la Seguridad a Nivel de Fila.

Está destinado para llamadas de backend a backend donde necesitas explícitamente omitir los permisos a nivel de usuario. La clave nunca debe aparecer en código frontend, repositorios públicos o paquetes de aplicaciones cliente. Si se filtra, toda tu base de datos queda expuesta.

Más allá de las preocupaciones específicas de Supabase, se aplica el endurecimiento estándar del servidor. Habilita un firewall que solo exponga los puertos 22 (SSH), 80 (HTTP) y 443 (HTTPS). Ejecuta todo detrás de un proxy inverso con HTTPS. Restringe Supabase Studio a IPs conocidas y mantén el servidor actualizado. Nuestros consejos de seguridad en la nube cubren la lista de verificación general de endurecimiento, por lo que querrás echar un vistazo.

Una última cosa: rotar el secreto JWT invalida todas las sesiones de usuario activas inmediatamente. Planifica una ventana de mantenimiento, y no rotes un viernes por la tarde — o vas a tener problemas.

¿Cuáles son los compromisos entre un alojamiento propio y Supabase Cloud?

Supabase autoalojado y Supabase Cloud no son intercambiables. Cada uno tiene ventajas en diferentes aspectos.

FuncionalidadAutoalojadoSupabase Cloud
Costo mensual$12-$25 VPS + servicios adicionales$25 base + excesos de uso
Escalamiento más allá de la baseLimitado por tu VPSAutomático (por un precio)
Copias de seguridad automáticasHazlo tú mismo (pg_dump cron)Diarias automáticas + PITR
Registros (PostgREST, Edge Functions)Pila de observabilidad DIYIncorporado en el panel
Edición de Funciones de EdgeSolo CLIEditor en el panel
Envío de correoProveedor SMTP DIYGestionado
SoporteComunidad (GitHub, Discord)Niveles pagados con SLA
Ubicación de los datosDonde quierasRegiones en la nube de Supabase
CumplimientoLo poseesRequerido Pro+

El autoalojamiento tiene sentido cuando los costos predecibles importan más que la conveniencia gestionada, cuando necesitas que los datos estén físicamente en infraestructura que controlas, o cuando estás ejecutando múltiples proyectos que costarían cada uno más de $25 por mes en la Nube.

La nube es ganadora cuando la capacidad de operaciones es escasa y cuando las copias de seguridad automatizadas y el tiempo de actividad respaldado por SLA son imprescindibles. También es una buena opción cuando tu equipo es pequeño y el cálculo del costo total de propiedad realmente favorece el hosting gestionado.

También hay un punto intermedio.

Herramientas como Coolify, Dokploy y Railway pueden implementar y administrar Supabase en tu VPS, manejando actualizaciones, copias de seguridad y cierta observabilidad sin el enfoque completo manual de Docker Compose.

En pocas palabras, obtienes la mayoría de las ventajas económicas de un alojamiento propio con menos sobrecarga operativa. Ninguno de ellos iguala el acabado del Panel de Cloud, pero todos ellos cuestan menos que Cloud a gran escala.

¿Deberías realmente alojar Supabase por ti mismo?

Autoalojar Supabase no es tanto una decisión de costos como una operativa.

El VPS es económico. Lo que realmente estás contratando es la propiedad de las copias de seguridad, los registros y la infraestructura de correo de autenticación. Para la mayoría de los pequeños equipos, este intercambio solo tiene sentido cuando el precio del Cloud comienza a ser elevado o cuando la residencia de datos deja de ser un lujo y se convierte en un requisito.

Si aún no estás listo para la configuración manual completa, herramientas como Coolify y Dokploy se sitúan en el medio. Ellos gestionarán el stack en tu VPS con menos carga que el Docker Compose puro y a un menor costo que el Cloud una vez que escalas.

El primer mes de autoalojamiento es el más difícil. Ajustarás límites de recursos que no sabías que existían, descubrirás modos de fallo que nadie documentó, y escribirás el manual de operaciones que desearías que alguien más te hubiera entregado.

Los meses dos al doce se tornan tranquilos. Tú actualizas con Docker Compose, ejecutas un pg_dump nocturno a S3, y tu factura se mantiene estable.

La mejor forma de descubrir en qué lado estás: activa un VPS de $12, ejecuta una instancia de Supabase no productiva durante una semana, y deja que la experiencia decida por ti.

La economía te dirá el resto.

VPS

Toma control de todo tu stack. Apps, IA, bases de datos y más.

Mantén cada credencial y conversación en un servidor que tú controlas, con velocidad NVMe y ancho de banda sin medición incluidos.

Explora los planes de alojamiento VPS

Preguntas frecuentes sobre alojamiento propio de Supabase

¿No estás seguro si alojar Supabase por tu cuenta es la decisión correcta? A continuación, algunas preguntas que la mayoría de las personas hacen antes de dar el paso.

¿Es realmente gratis el Supabase autoalojado?

Supabase autoalojado es gratuito, software de código abierto con licencia Apache 2.0. Tus costes reales son el VPS, un proveedor SMTP opcional para correos de autenticación, y almacenamiento compatible con S3 opcional para subidas de archivos de producción. Presupuesta aproximadamente $15 a $50 por mes en total para una pequeña implementación de producción.

¿Qué servidor necesito para autoalojar Supabase?

La especificación de producción recomendada es 8 GB de RAM, 4 núcleos de CPU y almacenamiento SSD NVMe. La pila completa de Supabase ejecuta alrededor de una docena de contenedores, y la mayoría de ellos contienen memoria de trabajo.

Puedes ejecutar una instancia de desarrollo mínima en 4 GB si deshabilitas Analytics, Realtime y Edge Runtime en tu archivo Docker Compose. El plan Stack 8 de VPS Autogestionado de DreamHost proporciona 8 GB de RAM con acceso completo a root; consulta nuestros planes de hosting VPS para ver la gama completa.

¿Qué funcionalidades faltan en Supabase autoalojado?

Las mayores deficiencias son las copias de seguridad automáticas de bases de datos, la recuperación punto a punto, la edición de funciones de borde basada en panel, el registro unificado para PostgREST y Funciones de Borde, y la gestión de entrega de correos. Puedes construir reemplazos para todas ellas (por ejemplo, trabajos de `pg_dump` Cron, una pila de observabilidad personalizada, un proveedor SMTP), pero nada es directo desde el inicio. El panel de Supabase Studio funciona en autoalojado, pero el panel Cloud tiene más refinamiento y características nuevas primero.

¿Cómo actualizo una instancia de Supabase autoalojada?

Ejecuta `docker compose pull` para obtener las últimas imágenes, luego `docker compose up -d` para reiniciar con las nuevas versiones. La actualización completa toma alrededor de cinco minutos en una instancia saludable.

Realiza una copia de seguridad de tu base de datos Postgres con `pg_dump` antes de cualquier actualización de versión importante, fija tus imágenes de Docker a etiquetas de versión específicas en producción y lee las notas de lanzamiento de Supabase para cambios importantes. Los servicios de autenticación y almacenamiento ocasionalmente requieren pasos de migración.

¿Puedo migrar de Supabase Cloud a autoalojado?

Sí, pero requiere más que una exportación de base de datos. Los datos de Postgres se migran con `pg_dump` desde Cloud y `pg_restore` en alojamiento propio. Los usuarios autenticados, objetos de almacenamiento y funciones de borde cada uno tienen sus propios caminos de migración.

Planea unas pocas horas de trabajo para un proyecto pequeño y más tiempo para esquemas complejos.