How to set up cluster nodes on n8n
Setting up n8n cluster nodes requires configuring multiple n8n instances to share workload through Redis as a message broker. You'll need to configure environment variables for clustering, set up Redis connection, and deploy multiple worker nodes.
Prerequisites
- Redis server running
- Multiple server instances with n8n installed
- Docker or npm installation
- Basic understanding of load balancing
Step-by-Step Instructions
Configure Redis for clustering
redis-server --port 6379 --bind 0.0.0.0Ensure Redis is accessible from all n8n instances and note the connection string for later use.
Set up the main n8n instance
.env file or set environment variables:N8N_EXECUTIONS_MODE=queue
QUEUE_BULL_REDIS_HOST=your-redis-host
QUEUE_BULL_REDIS_PORT=6379
QUEUE_BULL_REDIS_PASSWORD=your-redis-password
N8N_SKIP_WEBHOOK_DEREGISTRATION_SHUTDOWN=trueConfigure worker node instances
N8N_EXECUTIONS_MODE=queue
QUEUE_BULL_REDIS_HOST=your-redis-host
QUEUE_BULL_REDIS_PORT=6379
N8N_EXECUTIONS_PROCESS=main
WEBHOOKS_ENABLED=false
N8N_DISABLE_UI=trueStart each worker node with:
n8n workerConfigure database connection
DB_TYPE=postgresdb
DB_POSTGRESDB_HOST=your-db-host
DB_POSTGRESDB_PORT=5432
DB_POSTGRESDB_DATABASE=n8n
DB_POSTGRESDB_USER=n8n_user
DB_POSTGRESDB_PASSWORD=your-passwordSet up load balancer
upstream n8n_backend {
server n8n-main-1:5678;
server n8n-main-2:5678;
}
server {
location / {
proxy_pass http://n8n_backend;
proxy_set_header Host $host;
}
}Start and verify cluster
redis-cli monitorCreate a test workflow and verify it executes on worker nodes.
Common Issues & Troubleshooting
Worker nodes not picking up jobs
Check Redis connectivity and ensure N8N_EXECUTIONS_MODE=queue is set on all instances. Verify Redis queues using redis-cli and check for firewall issues.
Database connection errors across nodes
Ensure all nodes use the same database connection string and the database allows multiple connections. Check DB_POSTGRESDB_POOL_SIZE settings and connection limits.
Webhooks not working in cluster mode
Ensure WEBHOOKS_ENABLED=false on worker nodes and N8N_SKIP_WEBHOOK_DEREGISTRATION_SHUTDOWN=true on main instances. Configure webhook URLs to point to the load balancer.
Memory issues with Redis
Configure Redis maxmemory and maxmemory-policy settings. Monitor queue sizes and consider using Redis persistence options like AOF or RDB for data durability.