Every few weeks someone on a sales call asks whether we use the n8n cloud plan or self-host. It’s a better question than it sounds.
We self-host. Our n8n runs in Docker on an Ubuntu VM on Elestio (a managed-Linux provider in Germany), alongside Postgres, Redis and nginx. Four containers. We pay about $30/month for the box plus traffic.
That’s the setup. Here’s why we chose it, and why you probably shouldn’t.
What you actually buy by self-hosting
Data residency. The box is in Nuremberg. Client data never leaves the EU. For regulated UK clients (legal, healthcare, anything touching personal data) this is the difference between “can we use this” and “talk to legal first”.
Cost at scale. n8n’s paid tiers charge per workflow execution. We run hundreds of thousands of executions a month across tenants. On the Cloud plan that’s a five-figure annual bill. On our own box it’s $30 plus our time. Break-even was somewhere around workflow 8.
Control over the version. We pin n8n to specific releases, test upgrades in staging before touching production, and patch dependencies on our schedule. When the Claude API changed response formats in February, we rolled out the fix in 20 minutes across every tenant. On managed Cloud you wait.
What it actually costs
We’re now an ops team. Every Sunday evening one of us checks disk usage, Docker memory, backup integrity, SSH key rotation, and nginx cert renewal. It takes 15 minutes when nothing’s wrong. It takes half a Saturday when something is.
Downtime is yours. If the box falls over, nobody is paging themselves at 3am except us. We’ve had two incidents in 18 months. Both were resolved in under an hour. Neither was fun.
Security is yours. We watch for CVEs on every container, harden the firewall, rotate secrets, and treat the server like it’s always under attack (because it is — every public-facing box gets scanned within minutes of DNS propagation).
When you should NOT self-host
If any of these apply, go Cloud:
- You’re the only person using it and you run fewer than 50 executions/day. The maths doesn’t work.
- You don’t already have someone on the team who sleeps next to a terminal. “We’ll figure it out” is not a DevOps strategy.
- Your data can live in US datacenters without a compliance review.
- Your workflows are simple enough that a short outage is “annoying” not “incident”.
The test we use with clients: if your automations stopping for 24 hours would cost you more than what self-hosting saves you per year, pay someone else to worry about uptime.
Middle ground
There’s a third path we see working for a lot of UK practices: let a provider like us host it for you. You get the data residency and the version control without needing an ops team. We eat the 3am pages. You pay a flat managed fee.
Whether that’s us or someone else is besides the point. The point is: “self-hosted n8n” doesn’t have to mean “I’m running it myself”. It just means “it’s not on their SaaS”.
The short version
Self-hosting is a commitment, not a feature. Make it because the numbers force your hand, not because it feels more serious. If you’re unsure, you’re not ready. Talk to us if you want an honest read on your specific case.