Variables de Entorno en n8n: Configuración Completa y Segura

N8n variables de entorno configurar es uno de los usos más prácticos de n8n. Las variables de entorno en n8n controlan todo el comportamiento de tu instancia: desde la base de datos y el dominio hasta la seguridad y el correo de notificaciones. Configurarlas correctamente es esencial para tener n8n funcionando de forma estable en producción.

¿Dónde se configuran las variables de entorno en n8n?

Dependiendo de cómo hayas instalado n8n, las variables se configuran en diferentes lugares:

  • Docker Compose: en el bloque environment del servicio o en un archivo .env
  • Docker run: con flags -e VARIABLE=valor
  • npm: en el archivo ~/.n8n/.env o exportándolas en la sesión
  • Railway / Render: en la sección "Variables" del dashboard

La forma recomendada es usar un archivo .env separado para no mezclar contraseñas con la configuración de Docker.

Variables esenciales para producción

Estas son las variables de entorno de n8n que debes configurar siempre en producción:

Configuración del host

N8N_HOST=n8n.tudominio.com
N8N_PORT=5678
N8N_PROTOCOL=https
WEBHOOK_URL=https://n8n.tudominio.com/

WEBHOOK_URL es crítica: determina la URL base de todos los webhooks que crees en n8n. Si no la configuras correctamente, los webhooks generarán URLs incorrectas.

Seguridad

N8N_ENCRYPTION_KEY=clave_aleatoria_de_al_menos_32_caracteres
N8N_USER_MANAGEMENT_JWT_SECRET=otra_clave_aleatoria

N8N_ENCRYPTION_KEY cifra las credenciales almacenadas en la base de datos. Nunca la cambies después de crear credenciales, o no podrás descifrarlas.

Base de datos

Para producción, usa PostgreSQL en lugar de SQLite:

DB_TYPE=postgresdb
DB_POSTGRESDB_HOST=localhost
DB_POSTGRESDB_PORT=5432
DB_POSTGRESDB_DATABASE=n8n
DB_POSTGRESDB_USER=n8n
DB_POSTGRESDB_PASSWORD=tu_password_segura

Zona horaria

GENERIC_TIMEZONE=Europe/Madrid

Importante para que los nodos Schedule Trigger funcionen a la hora correcta. Usa el formato de zona horaria de IANA (ej: America/Mexico_City, America/Bogota).

Variables para gestión de usuarios

Desde n8n 0.198, la autenticación por usuario es la opción recomendada:

N8N_BASIC_AUTH_ACTIVE=false

Con la gestión de usuarios activada (por defecto en versiones recientes), cada usuario tiene su propia cuenta con email y contraseña. Puedes desactivar el registro público:

N8N_BLOCK_ENV_ACCESS_IN_NODE=true

Variables de email y notificaciones

Para que n8n envíe emails de invitación y recuperación de contraseña, configura el servidor SMTP:

N8N_EMAIL_MODE=smtp
N8N_SMTP_HOST=smtp.gmail.com
N8N_SMTP_PORT=465
N8N_SMTP_USER=tu@gmail.com
N8N_SMTP_PASS=tu_app_password
N8N_SMTP_SENDER=n8n@tudominio.com
N8N_SMTP_SSL=true

Variables de rendimiento

Para instancias con muchos flujos activos:

EXECUTIONS_DATA_PRUNE=true
EXECUTIONS_DATA_MAX_AGE=336
N8N_DEFAULT_BINARY_DATA_MODE=filesystem

EXECUTIONS_DATA_PRUNE=true elimina automáticamente el historial de ejecuciones antiguas, evitando que la base de datos crezca indefinidamente. EXECUTIONS_DATA_MAX_AGE=336 mantiene las últimas 336 horas (2 semanas).

Variables para logs

N8N_LOG_LEVEL=info
N8N_LOG_OUTPUT=console

En producción, info es el nivel adecuado. Usa debug solo para solucionar problemas temporalmente, ya que genera muchísimos logs.

Variables de entorno para n8n en modo queue

Si escalas n8n con múltiples workers (modo queue):

EXECUTIONS_MODE=queue
QUEUE_BULL_REDIS_HOST=localhost
QUEUE_BULL_REDIS_PORT=6379

Este modo requiere Redis y permite distribuir las ejecuciones entre varios procesos.

Conclusión

Configurar correctamente las variables de entorno de n8n es la base de una instalación estable y segura. Empieza siempre con las esenciales (host, protocolo, encryption key y base de datos), y añade el resto según tus necesidades. Recuerda guardar una copia de seguridad de tu N8N_ENCRYPTION_KEY en un lugar seguro: sin ella, no podrás recuperar tus credenciales.