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
environmentdel servicio o en un archivo.env - Docker run: con flags
-e VARIABLE=valor - npm: en el archivo
~/.n8n/.envo 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.


