Configuración
Variables de entorno
Las keys que viven en .env.local y de dónde sacarlas.
Todas las keys del proyecto viven en web/.env.local (que nunca sube a git). El archivo web/.env.example te muestra qué variables necesitas.
Esta página es tu mapa: qué servicio pide qué key, cuándo la necesitas y el link a su guía. No configures todo el día 1 — cada servicio se conecta cuando llegas a la feature que lo usa.
Mapa de keys por servicio
| Servicio | Variables | ¿Cuándo la necesitas? | Guía paso a paso |
|---|---|---|---|
| Supabase | NEXT_PUBLIC_SUPABASE_URL · _ANON_KEY · SUPABASE_SERVICE_ROLE_KEY | Semana 1 — crítica (sin esto la app no corre) | Supabase paso a paso |
| OpenAI | OPENAI_API_KEY | Semana 3 — funciones de IA | OpenAI |
| Resend | RESEND_API_KEY | Cuando envíes emails · opcional | Resend |
| PostHog | NEXT_PUBLIC_POSTHOG_KEY · _HOST | Analítica · opcional | PostHog |
| Stripe | STRIPE_SECRET_KEY · NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY · STRIPE_WEBHOOK_SECRET | Solo si cobras (receta SaaS) · opcional | Stripe |
| Google (Gmail) | GOOGLE_OAUTH_CLIENT_ID · _SECRET | Solo receta agente Gmail · opcional | Login con Google |
Ojo: el login con Google NO usa variables de entorno
El login con Google de tu app se configura en el dashboard de Supabase, no en .env.local. Las variables GOOGLE_OAUTH_* de la tabla son solo para la receta del agente de Gmail. La guía del login está en Login con Google.
Guárdalas al momento
OpenAI y Resend muestran la key una sola vez. Cópiala a tu .env.local en ese momento; si la pierdes, genera una nueva.
Las críticas (Sem 1)
NEXT_PUBLIC_APP_URL=http://localhost:3000
NEXT_PUBLIC_SUPABASE_URL=... # Supabase → Settings → Data API (las keys: Settings → API Keys → Legacy)
NEXT_PUBLIC_SUPABASE_ANON_KEY=...
SUPABASE_SERVICE_ROLE_KEY=...Las de Sem 3+
OPENAI_API_KEY=sk-... # OpenAI → API KeysLas opcionales
RESEND_API_KEY=re_... # Email transaccional
RESEND_WEBHOOK_SECRET=whsec_... # Solo si activas el webhook de Resend (ver docs de Email)
NEXT_PUBLIC_POSTHOG_KEY=phc_... # Analytics
NEXT_PUBLIC_POSTHOG_HOST=https://us.i.posthog.com # Analytics (default US; solo cámbialo si tu proyecto es de la región EU)
GOOGLE_OAUTH_CLIENT_ID=... # Receta agente Gmail
GOOGLE_OAUTH_CLIENT_SECRET=...
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=pk_test_... # Receta SaaS — ver Stripe paso a paso
STRIPE_SECRET_KEY=sk_test_...
STRIPE_WEBHOOK_SECRET=whsec_... # Se crea después del deploy (ver Stripe paso a paso)En producción (Vercel)
Las mismas variables las pegas en Vercel → Project → Settings → Environment Variables. Marca como Production, Preview y Development según corresponda.
Las que empiezan con NEXT_PUBLIC_ son visibles en el navegador
Nunca pongas secrets ahí. NEXT_PUBLIC_SUPABASE_ANON_KEY está bien (es pública por diseño). SUPABASE_SERVICE_ROLE_KEY NUNCA con NEXT_PUBLIC_.