Skip to content

What it really costs to run n8n self-hosted in production

Quick verdict

Self-host if you already run a server and don't mind owning incidents. Pick n8n Cloud if you'd rather pay a fixed price and never touch the server.

EUR 5-6/month in server bills (four real Hetzner invoices) vs EUR 20/month for n8n Cloud Starter billed annually, checked October 11, 2026.

See n8n Cloud pricing

Self-hosting n8n costs roughly EUR 5 to 6 a month in server bills. That range comes from four real Hetzner invoices, not a guess: EUR 9.18 (February 5, 2026), EUR 15.22 (May 7), EUR 12.08 (July 7), and EUR 12.08 (September 7), seen on a bank statement on October 11, 2026. Across those roughly eight months that's EUR 48.56 total, which averages to about EUR 6 a month, the upper end of that range.

Treat that as an upper bound, not a clean number to copy for your own setup. It covers the whole server, and it isn't confirmed whether any other service shares that box or exactly which server type it is. Every "n8n self-hosted vs cloud" article we checked for this term puts a real cloud price next to an estimated server price, usually a range like "$6 to $20 a month." This number is real on one side and still an upper bound on the other, which is one estimate fewer, not zero.

What a server bill alone doesn't show

The server runs a customer follow-up workflow that's been live since October 2025: a lead comes in, gets a first message within a minute, answers three qualification questions one at a time, gets a scheduling link, receives reminders on working days, and gets escalated to a call list if nobody responds. Built in n8n, it grew to 91 nodes and 5 schedule triggers, with state split between Google Sheets and a history log in Supabase. An hourly trigger alone works out to roughly 720 runs a month on its own, before the other four schedulers add anything. There's no exported execution count from this instance to give a more exact figure, so that 720 is an order of magnitude, not a logged number.

Running it is Docker, on a Hetzner VPS, behind a subpath of an existing domain. It wasn't always on Hetzner either: an earlier version ran on a DigitalOcean droplet with Portainer and Nginx Proxy Manager managing it, and 4 GB of swap added to keep it from running out of memory under load.

None of that shows up in a server price. Neither does what happened in October 2026: runs started failing intermittently with "DNS server returned an error" on calls to Google Sheets. The obvious read was an expired OAuth connection, since that's the usual cause for that kind of failure. The real cause was the hosting provider's own DNS. The fix was pointing the container's DNS at 1.1.1.1 and 8.8.8.8 and restarting it. The costly part came after: a retry that lands on top of the next scheduled run can process the same record twice, so recovering from an incident like this means checking for duplicate records, not just fixing DNS and moving on. That's the actual shape of "maintenance," and none of the three competing articles we checked puts a number or even a real scenario on it, including the one that uses the word.

On the stability side: a container restart leaves workflows, credentials, and history intact, and the workflow has run for over a year without a single node-level failure. The 91 nodes and 5 schedulers aren't a sign that n8n struggled, they're what it took to build waiting, reminders, and an escalation path with no-code tools.

Installing it

This isn't a fresh install walkthrough. The server already existed and has run n8n for over a year, so the steps below come from n8n's own Docker documentation (docs.n8n.io/hosting/installation/docker, checked October 11, 2026), not from an installation done for this article. The official guide creates a named volume mounted at /home/node/.n8n, since that directory holds encryption keys, instance logs, and other state n8n needs across restarts, then runs the official image against it. A Postgres setup adds a few environment variables for the database connection on top of that; SQLite is the default without them. n8n's own docs stop there and don't cover a reverse proxy or a custom domain, that part is left to whatever already serves other things from the same server.

n8n Cloud's published price

n8n Cloud's Starter plan is EUR 20 a month billed annually, for 2,500 executions a month, unlimited workflows and users, and 5 concurrent executions, according to n8n's own pricing page, checked October 11, 2026. The page says annual billing saves 17% over monthly without printing the monthly figure, so the comparison below uses the annual rate, which is the cheaper of the two. We have not run n8n Cloud ourselves, so this side of the comparison is the published tier, not a bill. The one point worth flagging: we don't have a logged monthly execution count from the self-hosted instance either, so we can't say definitively whether this specific workflow would clear or blow through the 2,500/month Starter cap. The hourly trigger alone gets partway there before the other four schedulers are even counted.

When self-hosting actually comes out cheaper

If you only count the invoice, self-hosting wins outright: EUR 5 to 6 a month beats EUR 20. That comparison skips your own time, which is the part n8n Cloud is actually selling you out of.

The only maintenance event actually on record for this workflow is the October 2026 DNS incident: pointing the container's DNS at 1.1.1.1 and 8.8.8.8, restarting it, and checking for duplicate records afterward, since a retry landing on top of the next scheduled run can process the same record twice. No time was clocked on that incident, so this isn't turning it into an hourly figure to net against the server bill. The honest comparison stays EUR 5 to 6 a month in server bills against n8n Cloud's EUR 20 Starter price, with your own time as the one factor in that comparison we haven't measured, and the one most likely to tip it the other way once there's more than one workflow to look after.

That math changes fast with more workflows or less tolerance for a 2am alert. One stable workflow on one server, with someone who's already comfortable running Docker, tips toward self-hosting. Several workflows, a team that would rather not own an incident, or a server that still needs its first setup, tips toward paying n8n Cloud the EUR 20 and letting them carry the server.

Who should use which

Self-host if you already run a server for something else, or you don't mind being the one who gets paged when DNS breaks at an inconvenient hour, since the execution ceiling disappears and the extra cost on top of an existing server is close to nothing. Pick n8n Cloud if you'd rather pay a fixed EUR 20 a month and never think about the server at all, as long as 2,500 executions a month covers what you're running.

Sources

  • Hetzner invoice amounts and dates (EUR 9.18, Feb 5 2026; EUR 15.22, May 7; EUR 12.08, Jul 7; EUR 12.08, Sep 7): the author's own bank statement, read on October 11, 2026.
  • Production workflow details (91 nodes, 5 schedule triggers, live since October 2025, state in Google Sheets and Supabase, earlier DigitalOcean/Portainer/Nginx Proxy Manager setup with 4 GB swap): the author's own notes on running this instance, written down on October 11, 2026.
  • October 2026 DNS incident and the retry-collision risk: the same notes. No time was clocked on the incident, so this article puts no hourly figure on it.
  • n8n Docker installation steps (persistent volume at /home/node/.n8n, optional Postgres environment variables, no reverse proxy guidance): docs.n8n.io/hosting/installation/docker, checked October 11, 2026.
  • n8n Cloud Starter pricing (EUR 20/month billed annually, 2,500 executions/month, unlimited workflows and users, 5 concurrent executions, annual billing listed as 17% cheaper than monthly with no monthly figure printed): n8n.io/pricing, checked October 11, 2026.

At a glance

n8n self-hosted vs n8n Cloud Starter. Checked on October 11, 2026.

Self-hosted (Hetzner)

Price / month
EUR 5-6
Executions / month
Unlimited
Concurrent executions
Limited by server

n8n Cloud Starter

See pricing
Price / month
EUR 20 (billed annually)
Executions / month
2,500
Concurrent executions
5

Walkthrough

Written by Guido Croon, AI-assisted, reviewed and tested by a person before publishing.

Published 2026-10-11, updated 2026-10-11