Documentación

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

ServicioVariables¿Cuándo la necesitas?Guía paso a paso
SupabaseNEXT_PUBLIC_SUPABASE_URL · _ANON_KEY · SUPABASE_SERVICE_ROLE_KEYSemana 1 — crítica (sin esto la app no corre)Supabase paso a paso
OpenAIOPENAI_API_KEYSemana 3 — funciones de IAOpenAI
ResendRESEND_API_KEYCuando envíes emails · opcionalResend
PostHogNEXT_PUBLIC_POSTHOG_KEY · _HOSTAnalítica · opcionalPostHog
StripeSTRIPE_SECRET_KEY · NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY · STRIPE_WEBHOOK_SECRETSolo si cobras (receta SaaS) · opcionalStripe
Google (Gmail)GOOGLE_OAUTH_CLIENT_ID · _SECRETSolo receta agente Gmail · opcionalLogin 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)

Terminal
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+

Terminal
OPENAI_API_KEY=sk-...                  # OpenAI → API Keys

Las opcionales

Terminal
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_.