---
title: "The Cheapest Way to Self-Host n8n in 2026 (Honest Cost Comparison)"
description: "Real total-cost-of-ownership for DIY n8n: VPS + Docker + SSL + backups + AI API keys. Compare honest costs before you spin up that $6 droplet."
canonical: https://agentroost.app/en/blog/cheapest-way-to-self-host-n8n
date: 2026-05-19T20:00:00Z
---

[Canonical URL](https://agentroost.app/en/blog/cheapest-way-to-self-host-n8n)

n8n is one of the best workflow automation tools available today. It's open-source, runs entirely on your own infrastructure, and the AI/LLM nodes are genuinely useful. The "just self-host it" path looks irresistible at a glance: a $6 VPS, pull the Docker image, done.

Except it's rarely $6. And it's rarely done.

This post builds an honest total-cost-of-ownership (TCO) model for DIY n8n in 2026, counts the time cost that tutorials never mention, then compares it to the alternative: a one-click instance where compute, AI credits, SSL, and backups ship as a single flat price.

---

## What "self-hosting n8n" actually means in practice

Self-hosting n8n means you're responsible for:

- **A server** (VPS, dedicated box, or cloud VM) with enough RAM for n8n's Node.js process and your active workflows
- **Docker + Docker Compose** (or a bare Node install) to run the service
- **A domain and SSL certificate** — n8n's editor and webhooks need HTTPS; self-signed certs break webhook receivers
- **A reverse proxy** (Nginx, Caddy, or Traefik) to terminate TLS and route traffic
- **A proper database** — the default SQLite works but breaks under concurrent executions; production setups migrate to PostgreSQL
- **Persistent storage and backups** — if the volume disappears, so do your workflows
- **Monitoring and restarts** — n8n crashes occasionally; you need a process supervisor or systemd unit to bring it back up automatically
- **Upgrades** — new n8n releases ship frequently; each one can require pulling a new image, running migrations, and verifying nothing broke

None of these tasks are impossible. But each one costs time, and some cost money on top of the base VPS fee.

---

## The real cost breakdown (DIY path)

Here's a realistic monthly TCO for a solo developer or small team running n8n on a VPS:

| Line item | Typical monthly cost |
|---|---|
| VPS (2 vCPU, 4 GB RAM — minimum comfortable) | $10–18 |
| Domain + DNS | ~$1 |
| SSL cert (Let's Encrypt is free, but Certbot renewal attention) | $0 cash, ~1–2 hrs/yr |
| Postgres (managed) or extra VPS storage | $5–15 |
| Offsite backup service or S3 | $2–5 |
| **Infrastructure subtotal** | **$18–39/mo** |

Now add AI costs. n8n's AI nodes — the **LLM Chain**, **AI Agent**, **Embeddings**, **Vector Store** nodes — all need an API key pointed at a provider. You pay that provider separately:

| AI usage pattern | Approximate monthly bill |
|---|---|
| Light (a few summarization workflows, < 500k tokens/mo) | $5–10 |
| Medium (daily digests, multi-step agents, RAG pipelines) | $20–50+ |

So a realistic "cheap" DIY setup sits at **$23–49/mo before you count your time**. For anything beyond the simplest workflow, that number rises quickly.

### The time cost nobody budgets

The hidden line item is your own hours. These are the most common time sinks reported in the n8n community:

- **Initial setup**: Docker Compose + Nginx + Certbot + PostgreSQL wiring = 2–5 hours for someone new to it
- **SSL renewal surprises**: Let's Encrypt certs expire every 90 days; auto-renewal breaks when port 80 is blocked or the Certbot cron is misconfigured
- **Webhook debugging**: n8n's webhook receiver needs the correct public URL configured (`WEBHOOK_URL` env var), and many tutorials get this wrong
- **Docker version drift**: a `docker compose pull && docker compose up -d` after a major n8n version can silently run database migrations that break older workflow exports
- **Downtime you don't notice**: without active monitoring (Uptime Kuma, Better Uptime, etc.) your n8n instance can be down for days before a failed workflow surfaces it

Conservative estimate: **4–8 hours of initial setup** and **1–2 hours per month** of ongoing maintenance once things are humming. At any professional hourly rate, that's the biggest cost of all.

---

## What n8n Cloud costs

n8n's own hosted service offers paid plans starting in the $20–30/mo range for a basic tier (check [n8n.io](https://n8n.io/pricing) for current pricing — plans change). Execution limits apply, and AI/LLM credits are still not included — you bring your own OpenAI, Anthropic, or other API key.

That's a fair deal if you want zero DevOps and your workflows are lightweight. The per-execution ceiling becomes a constraint once automations scale.

---

## The alternative: a single flat price with AI included

AgentRoost runs **your own n8n instance** — not a shared one, not a managed abstraction — on dedicated hardware. You get your own editor at `https://<your-id>.agentroost.app`, your own login, your own workflow data. You own it. The difference is that you skipped Docker, SSL, Nginx, Postgres wiring, and the API key negotiation entirely.

More importantly: **AI/LLM credits are included in the subscription**. The n8n AI nodes — LLM Chain, AI Agent, Embeddings, Vector Store — are pre-wired and already funded. You open the editor, drop in an AI node, and it works. No OpenAI account, no Anthropic console, no credit card at a second provider.

[Compare plans](/en/pricing)

---

## How to get your own n8n instance on AgentRoost

1. Sign up at [agentroost.app](/en/agents/n8n) with email/password or Google, Microsoft, or Discord.
2. Pick the **n8n** framework from the workspace creation screen.
3. Name your instance. Hit create.
4. Your private n8n editor opens at `https://<your-id>.agentroost.app` — typically within two minutes.
5. Build a workflow. Drop an **AI Agent** or **LLM Chain** node in. It has credits already. No API key prompt.

Webhooks get a public HTTPS URL automatically — no Certbot, no reverse proxy config, nothing to set up. The Schedule Trigger works the same way it does locally.

**Pricing starts at $19.99/mo** — all-in, monthly billing, cancel anytime, 14-day money-back guarantee.

---

## Honest side-by-side comparison

| | DIY VPS | n8n Cloud | AgentRoost |
|---|---|---|---|
| Monthly base cost | $10–18 VPS | Varies by plan | $19.99 |
| AI/LLM usage cost | Separate (provider API) | Separate (provider API) | **Included** |
| Setup time | 4–8 hours | ~0 | ~2 minutes |
| SSL/TLS | You manage | Included | Included |
| Backups | You manage | Included | Included |
| Your own instance (not shared) | Yes | Yes | **Yes** |
| Execution limits | None | By plan | By plan |
| Data portability | Full | Full | Full — export workflows anytime |

The DIY path is genuinely cheapest if: you already run a VPS for other things (marginal cost is low), you never use AI nodes, and your time is worth zero. Those conditions are rarely all true at once.

For everyone else — freelancers, small teams, founders who want automation working rather than maintained — the all-in price with AI credits already funded beats the piecemeal stack once you add up the real numbers.

---

## Tips if you do go DIY anyway

If you still want to self-host from scratch, here are the decisions that avoid the most pain:

- **Use Caddy instead of Nginx** for the reverse proxy. Caddy handles Let's Encrypt automatically via its `Caddyfile` — far fewer renewal surprises.
- **Set `WEBHOOK_URL` correctly from day one.** n8n uses this to construct webhook paths. If it's wrong, every HTTP-triggered workflow silently breaks. It must match your public domain exactly, including `https://`.
- **Pin your n8n Docker image tag** (e.g., `n8nio/n8n:1.48.2`), not `latest`. Pulling `latest` on a Monday morning can break your running workflows by Tuesday.
- **Use PostgreSQL from the start**, not SQLite. The migration from SQLite to Postgres later is painful and not officially supported.
- **Monitor with something.** Even a free Uptime Kuma instance on the same VPS is better than finding out your workflows have been silent for a week.

---

## Bottom line

The cheapest way to self-host n8n in 2026 depends entirely on whether you count time, AI API costs, and the operational overhead of keeping a Docker stack healthy. Counted honestly, DIY lands at $23–50+/mo with 4–8 hours of one-time setup and ongoing maintenance — before a single AI token is purchased.

A one-click instance with AI credits bundled in costs $19.99/mo, takes two minutes, and removes the entire operational surface. That's not the right call for every situation, but it's the right arithmetic to work with before you spin up that $6 droplet.

[Get started with your own n8n instance →](/en/agents/n8n)
