> ## Documentation Index
> Fetch the complete documentation index at: https://docs.camellapp.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Variables de entorno

> Qué configura cada variable y qué se degrada si falta.

Copia `.env.example` a `.env` y complétalo con tus propios valores antes de arrancar. Esta página describe qué hace cada variable y qué se degrada si la omites; no reproduce los valores del archivo.

| Variable                                                   | Requerida           | Qué hace                                                                                                                                                                                          | Sin ella                                                                          |
| ---------------------------------------------------------- | ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- |
| `DATABASE_URL`                                             | sí                  | Cadena de conexión a MySQL/MariaDB que usa el adapter de Prisma.                                                                                                                                  | La app no arranca.                                                                |
| `AUTH_SECRET`                                              | sí                  | Secreto usado por NextAuth para firmar el JWT de sesión.                                                                                                                                          | La app no arranca.                                                                |
| `NEXTAUTH_URL`                                             | sí                  | URL base de la aplicación, usada por NextAuth para construir callbacks y redirecciones.                                                                                                           | Los callbacks de autenticación quedan rotos.                                      |
| `NEXT_PUBLIC_SITE_URL`                                     | sí en producción    | Origen canónico público: lo usan el sitemap, `robots.txt` y los metadatos Open Graph para construir URLs absolutas. Si falta, se cae a `NEXTAUTH_URL` y, en último caso, a un origen por defecto. | El sitemap y las tarjetas Open Graph pueden mostrar una URL incorrecta.           |
| `AUTH_GOOGLE_ID` / `AUTH_GOOGLE_SECRET`                    | no                  | Credenciales del cliente OAuth de Google para el login social.                                                                                                                                    | El provider de Google no se registra en NextAuth.                                 |
| `AUTH_GOOGLE_CALLBACK_URL`                                 | no                  | URI de redirección del cliente OAuth de Google; debe coincidir con la configurada en la consola de Google.                                                                                        | —                                                                                 |
| `RESEND_API_KEY` / `RESEND_FROM`                           | no                  | Credenciales y remitente para enviar notificaciones por email vía Resend.                                                                                                                         | El canal de email queda `SKIPPED` (el inbox in-app sigue funcionando).            |
| `VAPID_PUBLIC_KEY` / `VAPID_PRIVATE_KEY` / `VAPID_SUBJECT` | no                  | Claves VAPID y contacto del remitente para notificaciones push web. `VAPID_SUBJECT` es un `mailto:` de contacto.                                                                                  | El canal push queda `SKIPPED`.                                                    |
| `OPENAI_API_KEY` / `OPENAI_MODEL`                          | no                  | Credenciales y modelo usados por `/api/search/interpret` para interpretar búsquedas en lenguaje natural.                                                                                          | El endpoint usa reglas locales y un fallback por palabras clave en vez de OpenAI. |
| `MATCH_SYSTEM`                                             | no                  | Elige el sistema de contacto: `camellapp` (formulario + matchmaking) o `link` (WhatsApp `wa.me`). Default: `camellapp`.                                                                           | Se usa el default `camellapp`.                                                    |
| `WHATSAPP_CONTACT`                                         | solo en modo `link` | Número de WhatsApp de contacto para el modo `link`: solo dígitos, con código de país incluido.                                                                                                    | —                                                                                 |
