Skip to main content

Variables de entorno

Definidas en .env (usar .env.example como base). La validación se realiza al arrancar con Joi en src/config/env.validation.ts.

Aplicación

VariableEjemploDescripción
HOST0.0.0.0Host donde escucha el servidor
PORT3000Puerto HTTP
APP_NAMEcrm-apiNombre de la aplicación
APP_ENVdevelopmentEntorno (development, production, test)

Base de datos

VariableEjemploDescripción
MONGODB_URImongodb://localhost:27017/crmURI de conexión MongoDB

JWT

VariableEjemploDescripción
JWT_SECRETsupersecretClave de firma de tokens
JWT_EXPIRES_IN1dDuración del access token

Almacenamiento (S3 / MinIO)

VariableEjemploDescripción
STORAGE_ENDPOINThttp://localhost:9000Endpoint del storage (MinIO compatible)
STORAGE_ACCESS_KEYminioadminAccess key
STORAGE_SECRET_KEYminioadminSecret key
STORAGE_BUCKETcrm-filesNombre del bucket
STORAGE_REGIONus-east-1Región

Testing

VariableEjemploDescripción
TESTINGfalseSi true, ejecuta la suite de tests antes de levantar el servidor

Cómo se carga

// src/bootstrap/load-env.ts
// Carga el archivo .env antes de que NestJS inicialice los módulos

// src/config/env.validation.ts
// Joi schema que valida presencia y formato de cada variable
// Si falta alguna requerida, la app no arranca y muestra el error

Archivos de config tipados

Cada grupo de variables tiene su propio archivo en src/config/:

ArchivoVariables que agrupa
app.config.tsHOST, PORT, APP_NAME, APP_ENV
database.config.tsMONGODB_URI
jwt.config.tsJWT_SECRET, JWT_EXPIRES_IN
storage.config.tsSTORAGE_ENDPOINT, STORAGE_ACCESS_KEY, STORAGE_SECRET_KEY, STORAGE_BUCKET, STORAGE_REGION