How to self-host n8n in 2026: the complete guide

n8n Cloud is $24–$60/month with execution caps. Self-hosted is free with unlimited executions — you pay only for the server. Three ways to do it, including a 3-minute deploy to livemy.app at $20/month flat with custom domain.

Dmytro Chervonyi

Dmytro Chervonyi

Co-founder & CMO, livemy.app

Last updated

10

min.

Reading time

TABLE OF CONTENTS

item

How to self-host n8n in 2026 (complete guide)

AI Summary

n8n is the open-source Zapier alternative — 90,000+ GitHub stars, full workflow automation, free Community Edition with unlimited executions. The catch with n8n Cloud is the execution caps (2,500/month on $24 Starter, 10,000 on $60 Pro), plus per-pack overages once you exceed them. Self-hosting flips the math: $3–20/month for a server, no execution limits, full data ownership. Three paths exist — Docker Compose on a VPS for full DIY, a managed Docker host for less DevOps work, or livemy.app for a one-click deploy with custom domain, SSL, and backups at $20/month flat. This guide covers all three, the essential environment variables (N8N_HOST, WEBHOOK_URL, database choice), the five things that quietly break self-hosted n8n in production, and the math that explains why self-hosting saves most teams $200–700/year.

What n8n is and why people self-host it

n8n is open-source workflow automation — the closest equivalent to Zapier or Make, but with the source code on GitHub and a free Community Edition you can run on your own server. Over 90,000 GitHub stars as of mid-2026, hundreds of node integrations, full visual editor.

Three reasons people self-host instead of using n8n Cloud.

Execution caps on Cloud. n8n Cloud Starter is $24/month for 2,500 executions. Pro is $60/month for 10,000. Self-hosted Community Edition has unlimited executions. The moment your workflows fire more than ~2,500 times a month, self-hosting starts paying for itself.

Data sovereignty. Customer data flowing through your workflows touches your server, not n8n's. Useful if you're handling PII, healthcare data, or anything subject to GDPR / HIPAA / SOC 2 considerations.

The cost math at any meaningful scale. Self-hosting on a $3–20/month server replaces $24–800/month on Cloud. Most teams save $200–700/year by switching once their workflow count grows past a handful.

If any of that applies, the rest of this guide is the setup.

Three ways to self-host n8n

Path A: Docker Compose on your own VPS (most DIY)

The path n8n's docs walk you through. Spin up a VPS (DigitalOcean, Hetzner, Linode — $5–10/month). Install Docker. Drop a docker-compose.yml that runs n8n + Postgres. Configure environment variables. Set up nginx as a reverse proxy. Configure automated SSL for SSL. Point your domain at the VPS.

The good. Cheapest possible setup. Full control. Cleanest data ownership story.

The catches. You're now your own DevOps team. Backups, security patches, n8n version upgrades, SSL cert renewal, nginx config, Postgres maintenance — all on you. Realistic time-to-first-deploy for someone who's never done this: 2–6 hours. Plus ongoing maintenance.

When this works. You're technically comfortable with Docker and Linux, you've done a self-host before, and the time cost is fine.

Path B: Managed Docker host (Coolify, Dokploy, Caprover)

Same VPS, but with a UI on top that handles the Docker, reverse proxy, SSL, and backups for you. Coolify and Dokploy both ship n8n as a one-click template. You install Coolify on your VPS, click "Deploy n8n", paste a domain, click Deploy.

The good. Most of the DIY benefits (low cost, full control) without writing your own Docker Compose. UI-driven SSL provisioning, environment variables, backup configuration.

The catches. Still your VPS, still your responsibility for keeping the host OS patched. Coolify itself needs occasional updates.

When this works. You want self-hosted economics but don't want to write a docker-compose.yml by hand.

Path C: livemy.app one-click deploy (least DevOps)

Drop the n8n Docker image (or use livemy.app's n8n template), configure a couple of environment variables, point your domain, ship. livemy.app handles the SSL, the database provisioning, the backups, and the patch management.

The good. Three-minute deploy, flat $20/month with custom domain and free SSL, no Docker file required, no VPS to manage. Backups available as a $5/month add-on for n8n's persistent data.

The catches. More expensive per month than a $5 VPS — you're paying for the managed convenience. Still much cheaper than n8n Cloud for any team using more than a few thousand executions per month.

When this works. You're a non-developer or you'd rather pay $20/month to skip the DevOps work entirely.

From zero to a live n8n on livemy.app (about 3 minutes)

Step 1: Sign up at livemy.app

Go to livemy.app, click Start free. No credit card. You land in my.livemy.app — the dashboard.

For production n8n with real workflows running 24/7, pick Maker ($20/month) before deploying. Free-tier projects sleep after 60 minutes of inactivity — which means your scheduled cron workflows would miss executions.

Step 2: Create a new project from the n8n template

In the dashboard, click New projectTemplaten8n. livemy.app pulls the official n8n Docker image, provisions a Postgres database, sets up volume storage for credentials and workflow data.

If you're coming from a raw Docker setup, you can instead choose Upload Docker and bring your existing docker-compose.yml.

Step 3: Set the essential environment variables

Under Project Settings → Environment Variables, set the four variables every self-hosted n8n needs:

  • N8N_HOST — the domain n8n will run on (e.g., n8n.yourdomain.com)

  • N8N_PROTOCOL — set to https (always, in production)

  • WEBHOOK_URL — the full public URL n8n webhooks will use (e.g., https://n8n.yourdomain.com/)

  • GENERIC_TIMEZONE — your timezone (e.g., Europe/Berlin or America/New_York), so cron nodes fire at the right times

Plus credentials for your Postgres database if you brought your own (the livemy.app n8n template handles this automatically if you accepted the provisioned Postgres in Step 2).

Step 4: Deploy and check the live URL

livemy.app spins up the n8n container, connects it to the Postgres instance, configures persistent storage for credentials. Typical time: 2 to 4 minutes. The dashboard streams the build log.

When status flips to Live, you get a URL on your-app.livemy.site. Open it, complete the n8n setup wizard (create the owner account), and you're in.

Step 5: Point your domain at it

Click Add custom domain, paste n8n.yourdomain.com, update one DNS record at your registrar. Within 1–10 minutes, DNS propagates, automated SSL SSL fires automatically. Update the N8N_HOST and WEBHOOK_URL environment variables to use the custom domain, then redeploy — webhooks won't work until these match the public URL.

Step 6: Turn on backups (recommended)

n8n stores workflow definitions, credentials, and execution history. Lose that and you lose your automations. Enable the $5/month backups add-on in Project Settings. Daily automatic snapshots of the n8n volume + Postgres database, retained for 30 days, one-click restore.

That's the whole deploy. Your n8n instance is live, your domain works, your workflows have unlimited executions, your bill is $25/month flat ($20 Maker + $5 backups).

Five things that quietly break self-hosted n8n

1. WEBHOOK_URL doesn't match the public URL

The most common self-hosted n8n problem. n8n generates webhook URLs using WEBHOOK_URL, not the URL you visit in the browser. If WEBHOOK_URL still says http://localhost:5678 when your n8n is live at https://n8n.yourdomain.com, every webhook you register at Stripe, Calendly, or Zapier will point to the wrong place.

Fix. Set WEBHOOK_URL to the full public URL with trailing slash, e.g., https://n8n.yourdomain.com/. Redeploy. Re-test one webhook end to end.

2. SQLite by default is fine for testing, not for production

n8n's default database is SQLite. Works for personal use, breaks the moment you have concurrent executions or large workflow data. SQLite locks the whole file on write — multiple workflows firing at the same time cause lock errors.

Fix. Use PostgreSQL. The livemy.app n8n template provisions Postgres automatically. For a manual Docker setup, add the Postgres environment variables (DB_TYPE=postgresdb, DB_POSTGRESDB_HOST, etc.) and a Postgres service to docker-compose.yml.

3. Credentials get encrypted with a key you can't lose

n8n encrypts stored credentials (API keys, OAuth tokens, passwords) using a key set via N8N_ENCRYPTION_KEY. If you don't set this explicitly, n8n auto-generates one and stores it in the data folder. Restore from a backup to a different server without the same key, and every credential is unreadable.

Fix. Set N8N_ENCRYPTION_KEY explicitly to a 32-character random string. Write it down somewhere secure. Use the same key on any restore.

4. Cron nodes fire at the wrong time without GENERIC_TIMEZONE

By default n8n runs cron evaluations in UTC. Set your timezone via GENERIC_TIMEZONE to make "every weekday at 9 AM" mean 9 AM in your local time, not UTC.

Fix. Set GENERIC_TIMEZONE to a valid IANA timezone (e.g., Europe/Berlin, America/New_York, Asia/Tokyo). Redeploy.

5. The free tier sleep behavior kills scheduled workflows

If you deployed n8n on a free-tier host that sleeps on inactivity (livemy.app Free, Render Free, etc.), scheduled workflows quietly miss their slots. The container is asleep when the cron should fire; nothing happens.

Fix. Run n8n on a tier with always-on behavior. livemy.app Maker is $20/month flat, always-on. Render Starter is $7/month plus the Pro workspace. Railway works for n8n but bills usage — a scheduled workflow that fires hourly still bills compute.

Cost: n8n Cloud vs self-hosted on livemy.app

Real numbers for the typical small-team setup.

n8n Cloud Starter: $24/month, 2,500 executions, single user-tier features. A team running automations daily can blow through 2,500 executions in a week.

n8n Cloud Pro: $60/month, 10,000 executions. Better for active teams but still capped. Extra execution packs run $10–20 for each additional 2,500 executions.

Self-hosted on a $5 VPS (Path A): $5/month for the VPS plus your time managing it.

Self-hosted on livemy.app (Path C): $25/month flat ($20 Maker + $5 backups add-on). Unlimited executions. Custom domain included. SSL included. Backups included. No DevOps work.

For most teams: self-hosting saves $200–700/year vs n8n Cloud once execution counts cross a few thousand per month, even paying livemy.app's $25 flat for the managed convenience.

FAQ

Is self-hosted n8n really free?

The software is free — n8n Community Edition is open source under the Sustainable Use License. You pay for the server you run it on. That ranges from $3–5/month on a raw VPS to $20–25/month on a managed platform like livemy.app. Either way, unlimited executions are included — unlike n8n Cloud, which caps and charges per execution.

Why not just use n8n Cloud?

For low execution counts (under 2,500/month), n8n Cloud Starter at $24/month is genuinely simpler. The math flips once you cross that threshold or want execution-count predictability. Most teams running daily automations hit the cap quickly. Self-hosting also keeps customer data on your server, which matters for compliance.

Is n8n a real alternative to Zapier?

Yes. n8n covers most of Zapier's core use cases (workflow automation, app integrations, scheduled tasks) with 400+ built-in node integrations. Where Zapier still wins: ease of use for completely non-technical users, larger integration catalog (1,000+). Where n8n wins: self-hosting, unlimited executions, full data ownership, much cheaper at scale.

Can I migrate from n8n Cloud to self-hosted?

Yes. Export your workflows from n8n Cloud (settings → export), spin up self-hosted n8n, import the workflows, re-enter credentials. Plan for a few hours of work for a small team's worth of automations.

What's the cheapest way to self-host n8n?

A $3–5/month VPS (Hetzner, Vultr, DigitalOcean) running Docker Compose. Realistic monthly bill: $5–10 including basic backups. The trade-off is your time — expect 2–6 hours of initial setup and ongoing maintenance. livemy.app at $20/month flat skips all that for the managed convenience.

Will my self-hosted n8n auto-update?

Depends on the path. Docker Compose on a VPS — you update manually by pulling a new image. Coolify / Dokploy — click to update. livemy.app — auto-updates available, or pin to a specific version. n8n updates frequently (often weekly), so a self-host without an update strategy gets stale fast.

Self-host n8n today — unlimited executions, $25/month flat

If you're hitting n8n Cloud's execution caps or just don't want to pay $24–60/month for capacity you'll outgrow, self-hosting is the answer. The cheapest path is a $5 VPS and an afternoon of work. The fastest path is a livemy.app deploy.

→ Start free on livemy.app · No credit card · Free tier forever · n8n template, custom domain, SSL, backups, all on Maker at $20/month flat.

Hitting one of the five gotchas above, or migrating from n8n Cloud? Email hello@livemy.app with the workflow count and execution volume. Replies inside one business day.

Read next

Dmytro Chervonyi

Dmytro Chervonyi

,

Co-founder & CMO, livemy.app

Co-founder & CMO at livemy.app. 12 years as a CMO scaling SaaS from $0 to $10M+ ARR across marketing, sales, and infra products and tools. Now building the missing step between AI-built code and a live URL — for non-developers who’d rather ship than learn DevOps.

Build something.
We'll make it live.

Free to start. 2 minutes to deploy. One click to cancel.

No credit card · No commitment · Free tier forever