
ZeaburSupabase es una alternativa popular y de código abierto a Firebase. Proporciona un conjunto de herramientas que incluye una base de datos Postgres, autenticación, APIs y almacenamiento de archivos, lo que lo convierte en una solución de backend robusta.
Zeabur simplifica el despliegue de este stack complejo. Con Zeabur, puedes lanzar una instancia de Supabase totalmente funcional (incluyendo Kong Gateway, Authentication y PostgreSQL) con un solo clic y sin configuración manual.
En este tutorial, te guiaremos a través de:
Sin logs en la UI: La función "Logs" en Supabase Studio no funcionará (debido a la ausencia del servicio Vector). Debes revisar los logs desde el panel de Zeabur para cada servicio. Sin MCP: El servidor de AI Model Context Protocol no está incluido en esta plantilla.
Zeabur ofrece un "despliegue con un clic" a través de su marketplace de plantillas.
Opción 1: Crear una instancia de Supabase desde la página del Proyecto
Supabase.A diferencia de una base de datos independiente, Supabase en Zeabur usa un Kong Gateway para gestionar el acceso. Necesitas obtener credenciales para iniciar sesión en la UI.
⚠️ ADVERTENCIA: La plantilla se despliega con claves API por defecto para fines de demostración. DEBES generar nuevas claves antes de usarlo en producción, o cualquiera que conozca las claves por defecto podrá acceder a tu base de datos.
JWT_SECRET personalizado y usa la herramienta para generar:
anon.service_role.JWT_SECRET: Tu secreto personalizado.ANON_KEY: Tu nueva clave anon.SERVICE_ROLE_KEY: Tu nueva clave service_role.Para aplicar estos cambios de seguridad, debes reiniciar el stack:
Por defecto, Supabase no puede enviar correos (magic links, restablecimiento de contraseña). Necesitas configurar un proveedor SMTP. Recomendamos Resend, pero cualquier proveedor SMTP funciona.
GOTRUE_SMTP_HOST: smtp.resend.com (o tu proveedor)GOTRUE_SMTP_PORT: 587GOTRUE_SMTP_USER: resend (o tu usuario)GOTRUE_SMTP_PASS: re_123... (tu API Key)GOTRUE_SMTP_ADMIN_EMAIL: noreply@yourdomain.comGOTRUE_SITE_URL: https://your-project-domain.zeabur.app (el enlace al que se redirige a los usuarios)Para habilitar Google Login, agrega estas variables al servicio Auth:
GOTRUE_EXTERNAL_GOOGLE_ENABLED: trueGOTRUE_EXTERNAL_GOOGLE_CLIENT_ID: your-google-client-idGOTRUE_EXTERNAL_GOOGLE_SECRET: your-google-secretGOTRUE_EXTERNAL_GOOGLE_REDIRECT_URI: https://your-project.zeabur.app/auth/v1/callbackNota: Asegúrate de reemplazar your-project.zeabur.app por tu dominio real.
Una vez que el servicio se reinicie, verifica la configuración disparando un signup manualmente desde tu terminal:
curl -X POST "https://your-project.zeabur.app/auth/v1/signup" \
-H "Content-Type: application/json" \
-H "apikey: YOUR_ANON_KEY" \
-d '{
"email": "test@example.com",
"password": "yourpassword"
}'
Resultados esperados:
200 OK.test@example.com (revisa spam).GOTRUE_SITE_URL coincida exactamente con tu dominio desplegado.Crucial: No copies las claves desde el dashboard de Supabase Studio, ya que puede mostrar claves por defecto antiguas.
Mejor para: Conectar tu proyecto de Lovable o una aplicación web estándar.
Para habilitar la comunicación entre tu aplicación frontend y tu backend de Supabase, debes configurar variables de entorno en tu base de código.
Crea o abre tu archivo .env en la raíz del proyecto.
Agrega las credenciales encontradas en el paso de Requisito previo:
VITE_SUPABASE_URL=[your-project-url]
VITE_SUPABASE_ANON_KEY=[your-anon-key]
Mejor para: Desarrolladores que empujan cambios locales de base de datos a la instancia de producción.
Puedes empujar tu esquema local a Supabase usando la cadena de conexión.
Obtener la cadena de conexión: Ve al panel del servicio PostgreSQL (parte del stack de Supabase) en tu dashboard de Zeabur.
Copiar: Copia la cadena de conexión de PostgreSQL.
Ejecutar: Ejecuta el siguiente comando en tu terminal (asegúrate de tener instalado Supabase CLI):
supabase db push --db-url "[your-supabase-postgresql-connection-string]" --debug
Cuando despliegues tu aplicación en Zeabur junto con Supabase, debes inyectar las credenciales en el entorno de despliegue.
VITE_SUPABASE_URL: Pega la URL de tu proyecto.VITE_SUPABASE_ANON_KEY: Pega tu clave pública anon.Pista: Asegúrate de que archivos de credenciales como
.envestén listados en tu.gitignorepara evitar filtraciones de secretos.
Agrega estas variables a los servicios específicos para habilitar funciones avanzadas.
Agrega estos valores a las variables del servicio Auth para disparar funciones Postgres en eventos específicos:
GOTRUE_HOOK_CUSTOM_ACCESS_TOKEN_ENABLED=trueGOTRUE_HOOK_CUSTOM_ACCESS_TOKEN_URI=pg-functions://postgres/public/custom_access_token_hookGOTRUE_HOOK_MFA_VERIFICATION_ATTEMPT_ENABLED=trueGOTRUE_HOOK_MFA_VERIFICATION_ATTEMPT_URI=pg-functions://postgres/public/mfa_verification_attemptGOTRUE_HOOK_PASSWORD_VERIFICATION_ATTEMPT_ENABLED=trueGOTRUE_HOOK_PASSWORD_VERIFICATION_ATTEMPT_URI=pg-functions://postgres/public/password_verification_attemptHabilita el asistente de SQL con IA en el dashboard agregando esto a las variables del servicio Studio:
OPENAI_API_KEY=your-openai-api-keyGOTRUE_EXTERNAL_SKIP_NONCE_CHECK=true (Útil para Google Sign In en mobile)GOTRUE_MAILER_SECURE_EMAIL_CHANGE_ENABLED=true (Forzar verificación de correo en cambios de email)