There is no single “best” place to host n8n. The right answer depends on how much you want to manage yourself, how much memory your workflows need, and what you are willing to pay. This guide gives you a way to decide, the facts I could verify from each provider’s own pages, and the setup mistakes that cause most self-hosting problems.
Updated October 2026: the original version of this post (July 2025) ranked nine providers with detailed price tables. Provider prices and free tiers change constantly, and several figures in it had gone stale: Oracle’s free Arm allowance is now half what the post said, AWS no longer offers the 12-month free micro instance to new accounts, Hostinger’s advertised price was a promotional rate that renews much higher, and the security advice recommended a basic-authentication setting that n8n removed in version 1.0. I rewrote it around decisions rather than a price list, kept only figures I re-checked against official pages in October 2026, and dated them. Anything price-related here will change, so treat the linked pricing pages as the source of truth.
Step Zero: Do You Need to Self-Host at All?
n8n’s documentation frames the first decision as Cloud or self-hosted. Self-hosting gives you control and, with the Community edition, no licence fee. It also makes you responsible for updates, backups, security and uptime. n8n itself says it recommends self-hosting for experienced users, because mistakes can mean data loss, security problems and downtime.
n8n Cloud, per its pricing page, starts at €20 per month (Starter, 2,500 executions) and €50 per month (Pro, 10,000 executions) when billed monthly, and all plans include unlimited users and workflows. If you value your time at more than the difference between that and a small VPS, and your volume fits, Cloud is the simple answer. Self-host when you need control over where data lives, have high execution volumes, or want to learn the platform.
How to Choose a Host: The Criteria That Matter
- Memory first. n8n’s docs don’t publish a minimum for a basic install, but their Hetzner guide says a CPX11 server is enough for a standard deployment and that adding the n8n Assistant needs at least 4 GB of RAM and 2 vCPUs. As a rule of thumb, 1 GB is hobby territory (see my Google Cloud e2-micro guide for its limits), 2 GB suits light production, and 4 GB or more is comfortable.
- Real monthly cost, not the headline price. Include the public IP address, backups or snapshots, bandwidth overage, and the renewal price when a first-term discount ends.
- Your skills. A VPS with Docker Compose needs basic Linux and DNS knowledge. Managed Kubernetes needs a lot more.
- Region and data rules. Where the server is matters for latency and for data-protection requirements.
- Backups and recovery. Decide how you will back up before you need to restore. Provider snapshots help, but they are not a substitute for backing up n8n’s own data.
- The exit plan. Choose a setup you can move. A Docker Compose file and a backup of n8n’s data directory work on any host.
The Main Options, With What I Could Verify
n8n documents deployment guides for DigitalOcean, Hetzner and Heroku (Docker Compose), Google Cloud Run (serverless containers), AWS, Azure and Google Kubernetes Engine (Kubernetes), plus a generic Docker Compose guide for any other Linux server. The table summarises what I could confirm from official pages in October 2026.
| Option | What is verified | Watch out for |
|---|---|---|
| Budget VPS (Hetzner) | n8n’s guide uses Docker Compose with Caddy and SQLite, and says a CPX11 is enough for a standard install. Hetzner (hetzner.com/cloud) lists data centres in Germany, Finland, Singapore and the USA. | I did not capture current prices from the page, so check them yourself. No managed database. |
| VPS marketplace (DigitalOcean) | Basic Droplets listed at $4 (512 MiB), $6 (1 GiB), $12 (1 vCPU, 2 GiB) and $18 (2 vCPU, 2 GiB) per month. n8n has an official Docker Compose guide for it. | Backups and managed databases cost extra. |
| n8n-ready VPS (Hostinger) | Plans with n8n preinstalled: KVM 1 (1 vCPU, 4 GB) at $6.49 per month and KVM 2 (2 vCPU, 8 GB) at $8.99, both promotional, renewing at $11.99 and $14.99, with a 30-day money-back guarantee. | Promotional price rises at renewal. Confirm the term you are buying. |
| Oracle Cloud Always Free | Oracle’s docs now give Always Free tenancies the equivalent of 2 Arm OCPUs and 12 GB of memory (1,500 OCPU hours and 9,000 GB hours a month), up to two AMD micro VMs, and 200 GB of block storage. | Oracle can reclaim “idle” Always Free instances (the docs define idle as under 20% CPU, network and, for Arm, memory over seven days). The old post’s 4 OCPU and 24 GB figure is out of date. |
| Google Cloud free tier | One e2-micro (2 shared vCPUs, 1 GB) free per month in three US regions, per Google. | The external IPv4 address costs $0.005 per hour (about $3.65 a month) and egress over 1 GB is billed. 1 GB RAM is tight. |
| AWS | AWS’s free tier page now describes up to $200 in credits for new customers and an account that closes after 6 months or when credits run out. I did not find the old 12-month free micro instance. | Pricing complexity. Pick it for existing AWS commitments and compliance, not for cheapest hosting. |
| Azure, Vultr, Linode/Akamai | Not re-verified for this update. | Compare current prices on their own pages using the criteria above. |
Sources: n8n Hetzner guide, Hetzner Cloud, DigitalOcean Droplet pricing, Hostinger n8n hosting, Oracle Always Free resources, Google Cloud Always Free and network pricing, and AWS Free Tier. I am not comparing performance, because I did not benchmark any of them.
My Practical Recommendations
- Learning or a few light workflows: a small VPS with 2 GB of RAM (for example the $12 DigitalOcean Droplet size, or a comparable plan from Hetzner or Hostinger) is a better first server than a 1 GB free tier. Oracle’s free Arm instance can work if you can tolerate account-verification friction and the reclamation rule.
- Business workflows that must stay up: 4 GB or more, PostgreSQL instead of SQLite, tested backups, and monitoring. n8n’s own Docker Compose docs recommend PostgreSQL for production use.
- You mostly want to avoid server work: n8n Cloud.
- You already live in a major cloud: use n8n’s Cloud Run or Kubernetes guides for that provider rather than a VPS, and budget for the extra engineering.
Security Basics (Corrected)
The original security section recommended enabling “N8N_BASIC_AUTH”. That option was removed in n8n 1.0; current versions use built-in user management instead. The essentials today:
- Create the owner account immediately after first start and use a strong unique password with two-factor authentication.
- Do not expose n8n’s port directly. Bind it to localhost (
127.0.0.1:5678) or use your provider’s firewall, and put a reverse proxy with HTTPS in front. n8n’s reverse-proxy guide says to set the public webhook URL (N8N_WEBHOOK_URL, which replacedWEBHOOK_URLin n8n 2.35.0) andN8N_PROXY_HOPS=1. - Open only what you need in the firewall: 80 and 443, with SSH limited to your own address where possible.
- Protect the encryption key. n8n encrypts stored credentials with a key kept in its
.n8nfolder (orN8N_ENCRYPTION_KEY). Without it a restored database can’t be decrypted. - Pin versions and update regularly. n8n’s update guidance is to update at least monthly after reading the release notes. Don’t run
latestunattended. - Treat webhooks as public endpoints. Validate their input and use authentication on them where possible. See n8n’s security documentation.
Backups
n8n’s backup documentation says a complete backup includes the .n8n folder (which holds the encryption key and, with the default SQLite database, the database itself) plus your external database if you use PostgreSQL. With SQLite, stop n8n before copying, since copying a database file while it is being written can give an inconsistent backup. CLI exports of workflows and credentials are useful for moving between servers but do not include users, execution history or the encryption key. Store backups off the server, and test a restore at least once. For the exact commands on Docker Compose, see the step-by-step Google Cloud guide, which applies to any Debian server.
When You Outgrow One Server
n8n’s queue mode splits the work: a main instance handles triggers and webhooks and places executions on a Redis queue, and worker instances pick them up and run them, so you can add workers as load grows. It needs PostgreSQL (n8n says running queue mode with SQLite isn’t recommended), the same encryption key on every instance, and S3-style external storage if workflows must keep binary data, because queue mode doesn’t support filesystem binary storage. That is a bigger operational commitment, so move there only when one well-sized server is no longer enough.
What is the cheapest way to host n8n?
A small VPS or a free-tier VM is cheapest, but “free” tiers have hidden costs and limits: Google’s e2-micro still pays for its IPv4 address, and Oracle can reclaim idle Always Free instances. For reliable hosting, a 2 GB VPS at roughly $5 to $15 per month is a more realistic starting point, and n8n Cloud starts at €20 per month.
How much RAM does n8n need?
n8n does not publish a minimum for a basic install. Its Hetzner guide says a CPX11 is enough for a standard deployment, and its guide with the n8n Assistant asks for at least 4 GB of RAM and 2 vCPUs. In practice, 1 GB is hobby-level, 2 GB suits light production, and 4 GB or more is comfortable.
Should I use SQLite or PostgreSQL?
SQLite is the default and fine for trying n8n out. n8n recommends PostgreSQL for production use that must run around the clock or serve more than a few users, and queue mode requires it in practice.
Does n8n still support basic authentication?
No. N8N_BASIC_AUTH was removed in n8n 1.0. Use n8n’s built-in user accounts with a strong password and two-factor authentication.
How do I update a self-hosted n8n?
Back up first, read the release notes, then update the pinned version and restart (for Docker Compose: pull the new image, run docker compose down, then docker compose up -d). n8n suggests updating at least once a month.