I'm Emil Hjorth. I run em8, a founder-led AI studio in Mora, Sweden. People search n8n self hosted when they already know the tool and want the ops decision: Docker, reverse proxy, queue mode, backups, and whether owning the box beats n8n Cloud.
This page is that decision. Product list prices (Cloud € / Business) live on n8n pricing. Solo hire rates live on hire an n8n expert. Studio shape lives on n8n agency. Still picking the tool? Start with Make vs Zapier vs n8n.
Quick Answer
n8n self-hosted means you run the Community Edition (free software on GitHub) — or a paid Business/Enterprise self-host license — on infra you control. You pay for the VPS/cluster, TLS, backups, upgrades, and someone's time when a volume dies on Sunday. n8n Cloud means n8n hosts it; you pay the plan and skip Docker babysitting.
Self-host wins when the data is the business (deal DBs, rate cards, PII) or execution volume makes Cloud ceilings painful. Cloud wins when the team is small, sensitivity is low, and nobody wants an on-call pager for workflow tooling.
Need a studio to harden the box and ship the flows? That is n8n automation or book the call — not a tutorial dump.
What “n8n self hosted” actually means
Three different things get mashed into one search.
- Community Edition on your metal — free software, unlimited executions on your hardware, you own ops.
- Business / Enterprise self-host — paid license, still on your infra, with SSO/governance features.
- “Self-host” as a vibe — people who mean “not Zapier SaaS” and have not opened Docker yet.
This post is about (1) and when (2) enters the chat. It is not a rewrite of n8n pricing.
When self-host wins
Own the box when most of these are true:
- Data control. CRM deals, proposal PDFs, PII — the dump is the business, not a shared tenant experiment.
- Execution volume chewing Cloud ceilings. Community has no n8n execution cap. Your cap is CPU, disk, and whether anyone is watching logs.
- Latency / residency you own. The box sits where you put it. Frankfurt-on-Cloud is a vendor choice, not yours.
- Custom networking. Private VPC, VPN to ERP, nodes that must not phone home through a public SaaS.
Proof, not a slide: Case 01 — ~4,000-row deal database, cadence live in about three weeks, on infra the client owned.
When Cloud wins
Pay n8n to host when most of these are true:
- Solo or tiny team, low sensitivity
- No ops bench — nobody who should SSH on a Sunday
- You want vendor-run upgrades this quarter
- You are still validating n8n — buy Cloud first, migrate later
Forced self-host for a three-step Slack ping is devops theater. I put clients on Cloud when the workflow is internal ops and nobody on their side should own Docker. Conscious choice. Not a default I hide.
Baseline stack
This is the mid-market box. Not a homelab. Not a Kubernetes manifesto.
| Layer | What to run | Why |
|---|---|---|
| Runtime | Docker Compose | Pin versions. Stage upgrades. Enough until you already have a cluster. |
| App | n8n main + workers | Queue mode when executions pile up. One process is a demo. |
| DB | Postgres (not SQLite) | SQLite plus “we’ll back it up later” is how you lose the week. |
| Queue | Redis | Workers need a broker. Skip it and you skip queue mode. |
| Edge | Caddy / Traefik / nginx + TLS | Terminate HTTPS. Do not hang the Docker socket on the internet. |
| Secrets | env + a secret manager | Credentials in the client’s tenant. Not a .env in Slack. |
| Backups | Postgres dump + volume snapshots | A dump you have never restored is a wish, not a backup. |
Ops checklist
If you cannot name an owner for each of these, you are not self-hosting. You are renting a future outage.
- Nightly Postgres dump + a monthly restore drill
- Pin image versions; stage upgrades before production
- Uptime, disk, and failed-execution alerts
- SSO discipline once more than one human can publish
- Minimize the public webhook surface
- Cap log retention so the disk does not fill on a quiet Friday
Hours math lives on the ROI calculator. Broader build cost lives on how much does automation cost.
TCO buckets
Do not invent fake VPS dollar quotes. The buckets are the point.
| Bucket | What you pay | What you get |
|---|---|---|
| License | €0 on Community Edition | The software. Unlimited executions on your hardware. |
| Infra | VPS → cluster as load grows | CPU, disk, snapshots. Size the box to the queue, not the screenshot. |
| Ops time | the real bill | Upgrades, restore drills, 2am restart. Cheap if you already run Docker. Expensive if this is your first container. |
| SSO / Git / scale | Business (or Enterprise) license | Governance on your infra. See n8n pricing for the product list — not this page. |
| Data control | included in owning the box | Deal DBs, rate cards, PII stay where you put them. |
A quiet internal instance can land under Cloud Starter’s annual bill. A neglected instance is more expensive than Pro by the second outage. That is why high-volume teams leave Cloud: not ideology. Math.
Fit / not-fit
Fit. You can own Docker, Postgres, and a restore drill. Sensitivity or volume is off Cloud. You want a studio on your instance → n8n agency or n8n automation.
Not-fit. You want product € plans → n8n pricing. You want solo builder rates → hire an n8n expert. You want set-and-forget → Cloud. You are still tool shopping → Make vs Zapier vs n8n.
Red flags
SQLite and no backups. You will learn this on a Monday.
Docker socket on the internet. That is not self-host. That is an incident.
No staging. Pin versions or enjoy surprise breaking changes in production.
Single tribal-knowledge engineer. One holiday and the queue is folklore.
Self-host only to dodge a 20€ Cloud plan with nobody owning upgrades. That is not TCO. That is a dare.
FAQ
Is Community Edition free to self-host?
The software is free. The VPS, TLS, backups, upgrades, and the person who answers when a volume dies on Sunday are not. That ops line is the real self-host price.
Is self-host cheaper than n8n Cloud?
Sometimes. Count infra plus the hours you will actually spend. Quiet volume on a box you already operate can beat Cloud ceilings. A neglected instance with nobody on-call is more expensive than a Cloud plan by the second outage.
Do I need Kubernetes to self-host n8n?
No. Docker Compose plus Postgres plus Redis covers mid-market. Kubernetes enters when you already run a cluster, not because n8n asked for one.
Can em8 set up self-hosted n8n?
Yes when the job is implementation-shaped — harden the box and ship the flows. Start at book the 30-minute call. This page is the ops decision, not a tutorial dump.
Where are n8n Cloud plan prices?
Product list prices (Cloud € / Business) live on n8n pricing. This page is own-the-box vs vendor-host, not the tariff board.
Own the box — or don’t. Then ship the flows.
30 minutes. Free. No pitch. Tell me the workflow, the data, and whether anyone on your side should SSH. I will say Cloud vs self-host out loud before anyone talks retainers.