Hi everyone,
I’ve been running an n8n instance successfully for a long time on an AWS EC2 instance using Docker, launched inside a tmux session. The setup includes ngrok (free tier) as a reverse proxy to expose my local port (5678) over HTTPS so that I can use the n8n UI securely from anywhere.
Here’s how I set it up:
- EC2 instance (
t2.micro) - n8n running via Docker inside a
tmuxsession - Exposed using ngrok (
ngrok http 5678) - Base URL correctly set to the ngrok HTTPS domain
- Environment variables (including
WEBHOOK_URL,N8N_HOST, etc.) were configured and it worked beautifully
What Was Working Until Now
- I could sign in to the n8n UI
- Create and run workflows manually
- Activate/deactivate workflows
- WebSockets and PATCH requests worked fine
- Everything was stable for months
Current Issue
Suddenly, I’m now seeing:
- Lost connection to server message constantly
- WebSocket connection errors (e.g.,
wss://<ngrok>.ngrok-free.app/rest/push?...fails) - PATCH requests to update workflows or triggers fail with 401s or timeouts
- Even accessing via public IP (
http://<EC2-IP>:5678) shows same issue - I can still log in and create workflows, but cannot deactivate or test them due to these failures
My Thoughts So Far
- Could ngrok’s WebSocket support have changed recently on the free tier?
- Could the Docker container be running with stale or invalid environment variables?
- Is this a timeout/session/auth issue internally with n8n when it can’t fully sync via WebSocket?
I would appreciate any advice or even workarounds to make my n8n instance usable again without fully restarting or losing data.