
One thing I try to stay consistent with across all my personal projects: keep the stack current. Whether it’s a framework update or a small patch release, I’d rather deal with occasional upgrade friction than run into bugs that were fixed months ago. And when it comes to n8n, staying updated really matters, especially if you’re self-hosting it.
So if you’re running n8n on Railway, and wondering how to upgrade it the right way (without nuking your setup), this is for you.
Wait, What’s n8n and What’s Railway?
If you’re reading this, chances are you’re already familiar with n8n, but just to ground us:
- n8n is a powerful workflow automation platform that’s open-source and highly extendable. Think Zapier, but you control the rules and where it runs.
- Railway is a modern, developer-friendly cloud platform that abstracts away a lot of DevOps overhead. You can deploy full apps, services, and databases without touching a traditional server UI.
And when you put them together, it’s a pretty smooth combo for hosting your own automation stack.
Why Updating n8n Actually Matters
n8n ships new features, node updates, and bug fixes all the time. Whether it’s a more stable webhook listener or a new integration, it’s usually worth grabbing the latest build.
But more importantly, self-hosted n8n doesn’t update itself.
If you deployed it on Railway weeks (or months) ago and haven’t touched it since, you’re likely a few versions behind.
And in some cases, you could be missing:
- Security patches
- Fixes for flaky executions or broken integrations
- Support for new APIs (looking at you, OpenAI)
So yeah… it’s worth the two minutes it takes to update.
How to Upgrade n8n on Railway
The good news? Upgrading n8n on Railway is simple. You don’t need to SSH into anything or reconfigure Docker.
Here’s the quick version:
You just redeploy your n8n service. That’s it.
Behind the scenes, Railway will:
- Pull the latest Docker image for n8n
- Rebuild your container
- Restart your service with the latest version
Let’s break that down in steps.
Step-by-Step: Upgrade n8n on Railway
1. Open the Railway Dashboard
Head over to railway.app and log in.
Go to the project where your n8n instance lives.
2. Find Your n8n Service
Click on the service (usually labeled n8n
if you followed the defaults). This opens the deployment view.
3. Click Redeploy
- Click on the n8n service
- On the right panel, click on the Deployments tab
- Click on three dots besides View Logs button to open the menu
- You will see an option to Redeploy
That triggers Railway to fetch the latest version of the Docker image defined in your Dockerfile
or container config.
If you’re using the default
docker.io/n8nio/n8n
image, you’ll now get the latest stable version.
4. Wait for Build & Boot
Railway will rebuild the container and restart the app. This takes less than a minute in most cases.
Once it’s up, your n8n instance will be running the newest version available.
Double-Check: Are You Actually Updated?
After redeploying, visit your /healthz
or /metrics
endpoint (if enabled), or open the n8n UI.
Scroll to the bottom of the sidebar and go to Settings.
You’ll see something like:
Version 1.86.1
That’s your confirmation. You’re done.
Extra Notes (For the Curious or Cautious)
- No data loss: This process doesn’t touch your workflows or executions, assuming your DB is running separately and not wiped during deploy.
- Consider pinning versions: If you want predictable upgrades, consider setting a specific version tag instead of using
latest
. - Custom images: If you’re using a custom Dockerfile or image, make sure it’s pulling from a current base image before redeploying.
Final Thought
If you’re self-hosting tools like n8n, it’s on you to keep them updated. Luckily, with platforms like Railway, that process doesn’t have to feel like a chore.
I upgrade mine regularly, partly for the features, but mostly because I like knowing things are clean and current.
If you haven’t hit that redeploy button in a while, now’s a good time.