Guía de Self-Hosting con Supabase Externo
Tu Configuración
VITE_SUPABASE_URL=https://efximdysssnbnncuxleh.supabase.co
VITE_SUPABASE_PUBLISHABLE_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImVmeGltZHlzc3NuYm5uY3V4bGVoIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NjY4OTQ5MTEsImV4cCI6MjA4MjQ3MDkxMX0.vhvdeSc1v_ScNMOpj51hxAaZmU5wQuSL_d-inbfcn0Q
VITE_SUPABASE_PROJECT_ID=efximdysssnbnncuxlehPaso 1: Clonar el Repositorio
git clone https://github.com/TU_USUARIO/TU_REPO.git
cd TU_REPO
npm installPaso 2: Configurar Variables de Entorno
Para desarrollo local
Crea un archivo .env.local en la raíz del proyecto:
VITE_SUPABASE_URL=https://efximdysssnbnncuxleh.supabase.co
VITE_SUPABASE_PUBLISHABLE_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImVmeGltZHlzc3NuYm5uY3V4bGVoIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NjY4OTQ5MTEsImV4cCI6MjA4MjQ3MDkxMX0.vhvdeSc1v_ScNMOpj51hxAaZmU5wQuSL_d-inbfcn0Q
VITE_SUPABASE_PROJECT_ID=efximdysssnbnncuxlehPara Vercel
Ve a tu proyecto en Vercel Dashboard
Settings → Environment Variables
Agrega cada variable:
VITE_SUPABASE_URL
https://efximdysssnbnncuxleh.supabase.co
VITE_SUPABASE_PUBLISHABLE_KEY
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
VITE_SUPABASE_PROJECT_ID
efximdysssnbnncuxleh
Para Netlify
Ve a tu sitio en Netlify Dashboard
Site settings → Environment variables
Agrega las mismas variables
Paso 3: Desplegar en Vercel (Recomendado)
Opción A: Desde la CLI
Opción B: Desde el Dashboard
Ve a vercel.com/new
Importa tu repositorio de GitHub
Framework Preset:
ViteConfigura las variables de entorno
Click "Deploy"
Paso 4: Desplegar Edge Functions
Las Edge Functions deben desplegarse en tu proyecto Supabase:
Paso 5: Configurar Secrets en Supabase
Ve a Supabase Dashboard → Settings → Edge Functions → Secrets y agrega:
CLERK_PUBLISHABLE_KEY
Tu clave pública de Clerk
CLERK_SECRET_KEY
Tu clave secreta de Clerk
GEMINI_API_KEY
API key de Google Gemini
OPENAI_API_KEY
API key de OpenAI
LIVEBLOCKS_SECRET_KEY
Clave de Liveblocks
HUBSPOT_ACCESS_TOKEN
Token de HubSpot (si usas)
PIPEDREAM_CLIENT_ID
Client ID de Pipedream
PIPEDREAM_CLIENT_SECRET
Secret de Pipedream
PIPEDREAM_PROJECT_ID
Project ID de Pipedream
Paso 6: Configurar Autenticación en Supabase
Configurar URLs de redirección
Ve a Supabase Dashboard → Authentication → URL Configuration
Configura:
Site URL:
https://tu-app.vercel.appRedirect URLs:
https://tu-app.vercel.apphttps://tu-app.vercel.app/*http://localhost:5173(para desarrollo)
Paso 7: Migrar Base de Datos
Si aún no has ejecutado la migración:
Ve a Supabase Dashboard → SQL Editor
Ejecuta el contenido de
docs/migration/01-schema-migration.sqlExporta datos con las queries de
docs/migration/02-data-export-queries.sqlImporta los datos en tu nuevo proyecto
Verificación Final
Checklist
Test de la aplicación
Abre tu URL de Vercel/Netlify
Prueba el login/registro
Crea un presupuesto de prueba
Verifica que se guarda en la base de datos
Troubleshooting
Error: "Invalid API key"
Verifica que
VITE_SUPABASE_PUBLISHABLE_KEYesté correctamente configuradoAsegúrate de que las variables estén en el entorno de build
Error: "CORS"
Agrega tu dominio a las URLs permitidas en Supabase
Dashboard → Authentication → URL Configuration → Redirect URLs
Edge Functions no responden
Verifica que los secrets estén configurados
Revisa logs en Dashboard → Edge Functions → Logs
Clerk no funciona
Actualiza las URLs en tu dashboard de Clerk
Agrega tu nuevo dominio como "Allowed origins"
Comandos Útiles
Última actualización