Variables de Entorno
Variables de Entorno
Sección titulada «Variables de Entorno»Esta guía describe todas las variables de entorno necesarias para el sistema Te Afirmo.
🔴 Variables Requeridas
Sección titulada «🔴 Variables Requeridas»Base de Datos (Turso)
Sección titulada «Base de Datos (Turso)»TURSO_DATABASE_URL=libsql://tu-proyecto.aws-us-east-1.turso.ioTURSO_AUTH_TOKEN=tu-token-de-autenticacionDescripción:
TURSO_DATABASE_URL: URL de conexión a la base de datos TursoTURSO_AUTH_TOKEN: Token de autenticación para Turso
Cómo obtener:
- Ve a turso.tech
- Crea una base de datos
- Copia la URL y el token
Almacenamiento (Backblaze B2)
Sección titulada «Almacenamiento (Backblaze B2)»BACKBLAZE_KEY_ID=tu-key-idBACKBLAZE_APPLICATION_KEY=tu-application-keyBACKBLAZE_BUCKET=nombre-del-bucketDescripción:
BACKBLAZE_KEY_ID: ID de la clave de aplicaciónBACKBLAZE_APPLICATION_KEY: Clave secreta de aplicaciónBACKBLAZE_BUCKET: Nombre del bucket donde se almacenan los documentos
Cómo obtener:
- Ve a backblaze.com
- Crea una cuenta y bucket
- Genera Application Keys en App Keys
Email (Resend)
Sección titulada «Email (Resend)»RESEND_API_KEY=re_tu_api_key_aquiRESEND_FROM_EMAIL=Te Afirmo <notificaciones@teafirmo.cl>Descripción:
RESEND_API_KEY: API key de Resend para enviar emailsRESEND_FROM_EMAIL: Email y nombre del remitente
Cómo obtener:
- Ve a resend.com
- Crea una cuenta
- Genera una API key
- Verifica tu dominio
CRM (GoHighLevel)
Sección titulada «CRM (GoHighLevel)»GHL_API_KEY=tu-api-keyGHL_LOCATION_ID=tu-location-idDescripción:
GHL_API_KEY: API key de GoHighLevelGHL_LOCATION_ID: ID de la ubicación en GHL
Cómo obtener:
- Ve a tu cuenta de GoHighLevel
- Settings → Integrations → API
- Genera una API key
- Obtén el Location ID
Monitoreo (Sentry)
Sección titulada «Monitoreo (Sentry)»SENTRY_DSN=https://tu-dsn@sentry.io/proyecto-idPUBLIC_ENV=productionDescripción:
SENTRY_DSN: DSN de Sentry para monitoreo de erroresPUBLIC_ENV: Entorno (development, staging, production)
Cómo obtener:
- Ve a sentry.io
- Crea un proyecto
- Copia el DSN
🟡 Variables Opcionales
Sección titulada «🟡 Variables Opcionales»Webhooks
Sección titulada «Webhooks»WEBHOOK_SECRET=tu-secreto-aleatorioDescripción:
WEBHOOK_SECRET: Secreto para validar webhooks entrantes
Cómo generar:
# Genera un secreto aleatorioopenssl rand -hex 32Mercado Público
Sección titulada «Mercado Público»MERCADOPUBLICO_TICKET=tu-ticketDescripción:
MERCADOPUBLICO_TICKET: Ticket de autenticación para API de Mercado Público
📋 Configuración por Entorno
Sección titulada «📋 Configuración por Entorno»Desarrollo Local
Sección titulada «Desarrollo Local»Crea un archivo .env en la raíz del proyecto:
# Base de datosTURSO_DATABASE_URL=libsql://...TURSO_AUTH_TOKEN=...
# AlmacenamientoBACKBLAZE_KEY_ID=...BACKBLAZE_APPLICATION_KEY=...BACKBLAZE_BUCKET=...
# EmailRESEND_API_KEY=...RESEND_FROM_EMAIL=Te Afirmo <notificaciones@teafirmo.cl>
# CRMGHL_API_KEY=...GHL_LOCATION_ID=...
# MonitoreoSENTRY_DSN=...PUBLIC_ENV=development
# WebhooksWEBHOOK_SECRET=...
# Mercado PúblicoMERCADOPUBLICO_TICKET=...Producción (Vercel)
Sección titulada «Producción (Vercel)»- Ve a tu proyecto en Vercel
- Settings → Environment Variables
- Agrega cada variable
- Selecciona los entornos (Production, Preview, Development)
Verificar Variables
Sección titulada «Verificar Variables»# Verificar que todas las variables estén configuradascurl http://localhost:4321/api/health🔒 Seguridad
Sección titulada «🔒 Seguridad»Mejores Prácticas
Sección titulada «Mejores Prácticas»-
Nunca commitees el archivo
.env- Ya está en
.gitignore - Verifica que no esté en el repositorio
- Ya está en
-
Usa valores diferentes por entorno
- Desarrollo: valores de prueba
- Producción: valores reales
-
Rota las claves regularmente
- Especialmente si hay una fuga de seguridad
-
Usa secretos seguros
- Genera tokens aleatorios largos
- No uses valores predecibles
🐛 Troubleshooting
Sección titulada «🐛 Troubleshooting»Variable no se lee
Sección titulada «Variable no se lee»- Verifica que el nombre sea exacto (case-sensitive)
- Reinicia el servidor después de agregar variables
- Verifica que no haya espacios extra
- En Vercel, verifica que esté en el entorno correcto
Error de conexión
Sección titulada «Error de conexión»- Verifica que las URLs y tokens sean correctos
- Verifica que los servicios externos estén activos
- Revisa los logs para ver el error específico