Skip to content

Entorno y configuración

La configuración se encuentra en un archivo .env, copiado de .env.example. Los valores se validan al iniciar la aplicación, por lo que un valor faltante o mal formado falla rápidamente.

Núcleo

  • APP_URL: la URL pública de tu instancia.
  • NODE_ENV: development o production.

Base de datos

  • DATABASE_URL: la cadena de conexión a Postgres. Postgres debe tener la extensión pgvector.

Autenticación

  • BETTER_AUTH_SECRET: un secreto aleatorio fuerte. Cámbialo para producción.
  • BETTER_AUTH_URL: la URL base de autenticación, normalmente la misma que APP_URL.
  • GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET, GITHUB_CLIENT_ID, GITHUB_CLIENT_SECRET: inicio de sesión social opcional. Déjalos en blanco para solo correo electrónico y contraseña.

Almacenamiento

  • STORAGE_DRIVER: minio para la opción predeterminada autogestionada, o s3 para un bucket en la nube.
  • S3_ENDPOINT, S3_REGION, S3_BUCKET, S3_ACCESS_KEY, S3_SECRET_KEY, S3_FORCE_PATH_STYLE: la conexión de almacenamiento.

Facturación

  • BILLING_ENABLED: false en autogestionado, lo que hace que todos los límites sean ilimitados y omite el procesamiento de pagos. Los valores STRIPE_* solo son necesarios si activas la facturación.

Correo electrónico

  • EMAIL_PROVIDER: console registra el correo electrónico en desarrollo, smtp lo envía a través de tu servidor de correo, resend utiliza un servicio alojado.
  • EMAIL_FROM, y SMTP_HOST, SMTP_PORT, SMTP_USER, SMTP_PASS para SMTP.

IA y contenido multimedia

  • AI_VECTOR: pgvector, para que la búsqueda de IA utilice tu base de datos Postgres.
  • STOCK_UNSPLASH_KEY, STOCK_PEXELS_KEY, STOCK_PIXABAY_KEY: claves de búsqueda de contenido multimedia opcionales.

Multitenencia

  • MULTI_TENANT: false para una autogestión de una sola organización.

Mantén los secretos solo en .env

Nunca hagas commit de secretos reales. Mantenlos en .env, que está ignorado por el control de versiones, y rota cualquier cosa que se filtre.