Pricing Docs Blog Apps Tools Support Start Free
Automation

Install n8n in 60 Seconds

n8n is the open-source, self-hosted alternative to Zapier and Make, with 400+ integrations and full control over your data. InstaPods runs it on a real Linux server with a working webhook URL, auto SSL, and persistent storage, so you skip the entire Docker-plus-reverse-proxy setup and get a live editor in under a minute.

Install n8n $7/mo - $10 credit when you add a card

The usual way to self-host n8n

  1. Provision a VPS, harden SSH, and install Node 20 plus n8n globally before you can even open the editor - n8n runs on the nodejs runtime and listens on port 5678, which you then have to expose.
  2. Run n8n as a long-lived process with a systemd unit (or babysit a `docker run -p 5678:5678 -v ~/.n8n:/home/node/.n8n n8nio/n8n`), then keep it restarting after reboots and crashes.
  3. Stand up nginx or Caddy in front of port 5678, get a TLS cert from Let's Encrypt, and renew it - n8n's editor and OAuth callbacks will not work over plain HTTP.
  4. Set WEBHOOK_URL correctly or every webhook-triggered workflow breaks: n8n bakes the public host into the trigger URLs it hands to Slack, Stripe, GitHub and friends, and a wrong value means inbound calls 404 silently.
  5. Persist the `.n8n` data directory (encryption key, credentials, saved workflows) across updates, then handle `npm update -g n8n` without losing it - lose the encryption key and every stored credential is unrecoverable.

That is a full evening of YAML, certbot, and systemd before a single workflow runs - and you own every breakage and every n8n upgrade after that.

Or install it in one click

$ instapods pods create my-n8n --app n8n
-> Provisioning server...
-> Installing n8n...
-> Wiring webhook URL + auto SSL...
✓ Live at https://my-n8n.instapods.app

What you get

Recommended plan for n8n

Build Plan
$7/mo
  • 2 vCPU
  • 2 GB RAM
  • 25 GB storage
  • HTTPS included
  • Custom domain support
  • SSH & web terminal access
Install n8n

n8n requirements

Resource requirements

n8n is heavier than a static app: it runs a persistent Node process plus a workflow engine, so it needs the Build plan ($7/mo) as the floor. That gives it enough memory headroom to execute multi-step workflows and hold the editor open. Workflows that fan out to many parallel HTTP calls or process large payloads run smoother on Grow ($15/mo) - you can resize a running pod without rebuilding it.

Config and environment

We deploy n8n on the nodejs runtime as a managed systemd service on port 5678 and set WEBHOOK_URL to your pod's public HTTPS URL automatically, so webhook and OAuth-callback triggers work out of the box. WEBHOOK_URL is the one env var that actually matters for n8n, and it is pre-wired. If you later attach a custom domain, update it to the new host so external services post to the right place.

Data persistence and custom domain

Your `.n8n` data directory - the encryption key, saved credentials, and all workflows - lives on the pod's persistent disk and survives restarts, redeploys, and `npm update -g n8n` upgrades. Every pod ships with a free `*.instapods.app` HTTPS subdomain; point a custom domain at it from the dashboard and we issue the cert. Back up the encryption key, because it cannot be regenerated from the stored credentials.

n8n install FAQ

Will webhook-triggered workflows work, or do I have to configure the public URL myself?

They work out of the box. n8n needs to know its own public address so it can hand correct trigger URLs to services like Slack, Stripe, and GitHub. We set WEBHOOK_URL to your pod's HTTPS address (e.g. https://my-n8n.instapods.app) at deploy time, so inbound webhooks resolve immediately. If you attach a custom domain later, update WEBHOOK_URL to the new host so external callbacks keep hitting the right URL.

Are my workflows and credentials saved if the pod restarts or I update n8n?

Yes. n8n stores everything - saved workflows, credentials, and its encryption key - in the `.n8n` data directory, which lives on the pod's persistent disk. That survives restarts, redeploys, and `npm update -g n8n` upgrades. Just keep a copy of the encryption key somewhere safe, because stored credentials are encrypted with it and cannot be recovered if it is lost.

Why does n8n need the Build plan instead of the cheapest one?

Unlike a static site, n8n runs a persistent Node process and a workflow execution engine that holds state in memory. The Build plan ($7/mo) is the floor because it gives that engine enough memory to run multi-step workflows and keep the editor responsive. If you run heavy parallel HTTP fan-out or large payloads, resize the running pod up to Grow ($15/mo) from the dashboard - no rebuild needed.

How is this different from running the n8n Docker image on my own VPS?

Same n8n, none of the ops. Self-hosting means provisioning a VPS, installing the Node runtime, running n8n as a service that survives reboots, putting nginx plus a Let's Encrypt cert in front of port 5678, and setting WEBHOOK_URL by hand. We do all of that automatically and run it on a real Linux server, so you get a live editor with HTTPS and working webhooks in under a minute, and we own the upgrades and the SSL renewals.

Does self-hosted n8n have all the integrations that n8n Cloud has?

Yes - the self-hosted edition ships the same 400+ integrations and the full node library, plus the ability to run custom code nodes and your own community nodes. The difference versus n8n Cloud is that your data, credentials, and execution logs stay on your own pod instead of a third party's servers, which is the whole reason most teams self-host instead of paying per-execution to Zapier or Make.

Install n8n in 60 seconds

One click. Real server. HTTPS included. No Docker, no nginx, no DevOps degree required.

Install n8n