2 hours ago
My n8n deployment on Railway is stuck in a crash loop and I can't access the app (getting 502 / "Cannot GET /" on the public domain).
Setup: a Railway project with four services — Primary (n8n, image n8nio/n8n:stable), Worker (n8n), Redis, and Postgres. n8n runs in queue mode (EXECUTIONS_MODE=queue).
Symptoms from the Primary deploy logs:
- n8n starts and Postgres migrations complete successfully.
- Then repeatedly: "[Redis client] connect ETIMEDOUT" -> "Unable to connect to Redis after trying to connect for 10s" -> "Exiting process due to Redis connection error" -> "Last session crashed", looping every ~20 seconds.
What I've checked/tried:
- Redis private domain is redis.railway.internal and is marked IPv6-only.
- Redis connection variables on Primary point to Redis.REDISHOST, Redis.REDISPORT (6379), Redis.REDIS_PASSWORD, Redis.REDISUSER (default). QUEUE_BULL_REDIS_DUALSTACK=true is set.
- I enabled "Enable Outbound IPv6" on the Primary service and redeployed. Postgres now connects, but Redis still returns ETIMEDOUT.
- The Redis service itself has now crashed (was previously Online), and earlier showed a "Required Variables: REDISPASSWORD" warning.
Questions:
- Why does the private-network connection to Redis time out (ETIMEDOUT) even with Outbound IPv6 enabled and dualstack on?
- Is the REDISPASSWORD vs REDIS_PASSWORD variable-name mismatch on the Redis service causing it to crash?
1 Replies
2 hours ago
This thread has been opened as a bounty so the community can help solve it.
Status changed to Open Railway • about 2 hours ago
2 hours ago
Hey, REDISPASSWORD is a reference to REDIS_PASSWORD. You can check by clicking to edit it, it will show ${{REDIS_PASSWORD}}.
Do you have any logs on this Redis service? Does the Worker service connects fine to Redis or does it also timeout?