Cómo Autoalojar Supabase en un VPS (Guía Completa)
Supabase es una alternativa de código abierto a Firebase que proporciona una poderosa plataforma de backend como servicio. Alojarlo en un VPS te da un control total sobre tus datos y configuraciones. En esta guía, te llevaremos a través del proceso de autoalojamiento de Supabase en un VPS, utilizando Docker para un despliegue fácil.
Requisitos Previos
Antes de comenzar, asegúrate de tener lo siguiente:
- Un VPS (con al menos 2 GB de RAM y 1 CPU) de un proveedor como DigitalOcean o Hetzner.
- Conocimientos básicos de Docker y de la interfaz de línea de comandos (CLI).
- Un cliente SSH para acceder a tu VPS.
| Proveedor | Precio Inicial | Especificaciones Recomendadas |
|---|---|---|
| Contabo VPS | 5.99 EUR/mes | 2 GB RAM, 1 CPU |
| Hetzner Cloud | 4.15 EUR/mes | 2 GB RAM, 1 CPU |
| DigitalOcean | 6 USD/mes | 2 GB RAM, 1 CPU |
| Vultr | 6 USD/mes | 1 GB RAM, 1 CPU |
| Linode (Akamai) | 5 USD/mes | 2 GB RAM, 1 CPU |
Puedes comparar más opciones de VPS en nuestra comparativa completa de VPS.
Paso 1: Configura tu VPS
Primero, necesitas configurar tu VPS. Esto generalmente implica:
-
Elegir un Sistema Operativo: Recomendamos Ubuntu 20.04 LTS para compatibilidad con Docker.
-
Acceder a tu VPS: Usa SSH para conectarte a tu servidor:
ssh nombre_usuario@tu-ip-vps -
Actualizar tu Sistema: Asegúrate de que tus paquetes estén actualizados:
sudo apt update sudo apt upgrade -y
Paso 2: Instalar Docker
Para ejecutar Supabase, necesitas tener Docker instalado en tu VPS. Sigue estos comandos:
-
Instalar dependencias para Docker:
sudo apt install apt-transport-https ca-certificates curl software-properties-common -y -
Añadir la clave GPG oficial de Docker:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - -
Configurar el repositorio estable:
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" -
Instalar Docker:
sudo apt update sudo apt install docker-ce -y -
Iniciar y habilitar Docker:
sudo systemctl start docker sudo systemctl enable docker -
Verificar la instalación:
docker --version
Paso 3: Descargar y Ejecutar Imágenes de Docker de Supabase
Ahora que Docker está configurado, puedes descargar las imágenes de Docker de Supabase.
-
Crear un directorio para tu proyecto de Supabase:
mkdir supabase && cd supabase -
Crear un archivo Docker Compose:
Crea un archivo
docker-compose.ymlcon el siguiente contenido:version: '3.8' services: db: image: supabase/postgres environment: POSTGRES_PASSWORD: tu_contraseña POSTGRES_USER: tu_usuario POSTGRES_DB: tu_base_de_datos ports: - "5432:5432" auth: image: supabase/gotrue ports: - "9999:9999" realtime: image: supabase/realtime ports: - "4000:4000" studio: image: supabase/studio ports: - "3000:3000"Reemplaza
tu_contraseña,tu_usuarioytu_base_de_datoscon los valores que desees. -
Iniciar los servicios de Supabase:
Ejecuta el siguiente comando en el mismo directorio que tu
docker-compose.yml:docker-compose up -d -
Verifica los servicios en ejecución:
Puedes comprobar los registros utilizando:
docker-compose logs
Paso 4: Acceder a Supabase Studio
Una vez que tus servicios estén en funcionamiento, puedes acceder a Supabase Studio navegando a http://tu-ip-vps:3000 en tu navegador. Desde aquí, puedes gestionar tu base de datos, autenticación, y más.
Preguntas Frecuentes
P1: ¿Cuáles son los beneficios de autoalojar Supabase en un VPS?
Autoalojar Supabase en un VPS permite un mayor control, seguridad mejorada y configuraciones personalizadas. Tú gestionas tu hardware y software, asegurando que cumples con tus necesidades específicas de cumplimiento. Además, puede ser más rentable a largo plazo, especialmente si esperas un uso significativo, ya que puedes evitar el bloqueo del proveedor y mantener la propiedad de tus datos.
P2: ¿Puedo escalar mi instancia de Supabase si necesito más recursos?
Sí, puedes escalar tu instancia de Supabase según tus necesidades. Esto puede involucrar actualizar tu VPS a un plan más grande que proporcione más recursos de CPU y RAM o optimizar tus configuraciones de Docker. Ambas estrategias son viables y pueden ejecutarse sin tiempos de inactividad significativos, asegurando que tus aplicaciones permanezcan disponibles mientras ajustas tu infraestructura.
P3: ¿Cuáles son los problemas comunes que se enfrentan al autoalojar Supabase?
Los problemas comunes incluyen errores de configuración, recursos insuficientes en el VPS y problemas de conectividad de red. Asegúrate de que tus contenedores de Docker estén correctamente configurados y que tu VPS cumpla con las especificaciones necesarias. Además, consulta a la comunidad de Supabase en r/selfhosted para obtener consejos y mejores prácticas sobre autoalojamiento de aplicaciones.
Siguiendo esta guía, puedes autoalojar Supabase con éxito en un VPS, lo que te permite aprovechar una robusta solución de backend sin comprometer el control y la privacidad.