October Infrastructure Sale · code OCTOBER15 — until 1 Nov See the offer →
n8n · Docker · Self-hosted automation

n8n on your own VPS — no execution caps, ever.

n8n Cloud bills per execution; a VPS bills per month. Self-host on Docker and the workflow that fires 10,000 times costs the same as the one that fires ten.

n8n’s hosted tiers charge by execution — fine until a polling workflow checks a feed every minute and your "automation is saving money" math inverts. Self-hosting n8n is a Docker container, a Postgres database, and a domain — the whole thing fits in a $2.59–$4.99 VPS.

The other half of the argument is data. Self-hosted n8n means your API keys, webhook payloads and customer data never leave a machine you control — which is the entire point for Indian businesses handling client data.

India hosting matters here too: if your workflows call Indian APIs (GST portals, Indian payment gateways, local SaaS), executing from Mumbai or Delhi shaves the round-trip every single node in the chain.

Set up in 5 steps.

  • 1. Deploy a Linux VPS — Hut (1GB) for light workflows, Cabin (2GB) recommended with Postgres.
  • 2. Install Docker + docker compose (apt install docker.io docker-compose-v2 or the convenience script).
  • 3. Run the official n8n compose stack — n8n + Postgres + Traefik/Caddy for TLS.
  • 4. Point a subdomain at the VPS IP, set WEBHOOK_URL and encryption key env vars.
  • 5. Import your workflows, set n8n to restart on boot — done.

Recommended tiers

Hut — ₹246/mo
1GB — n8n + SQLite, light personal workflows
Deploy →

Cabin — ₹361/mo
2GB — n8n + Postgres comfortably, the recommended start
Deploy →

Common mistakes

  • • Running n8n on SQLite under heavy workflows — switch to Postgres before the queue backs up.
  • • Forgetting N8N_ENCRYPTION_KEY — lose it and every stored credential is unreadable.
  • • Exposing the editor without auth/TLS — put it behind the proxy’s TLS and basic auth or SSO.
  • • Running on the cheapest cloud tier that swaps — webhook latency spikes are how you notice.

When this is NOT enough

n8n scales vertically a long way — 8–16GB handles serious production queues. When you genuinely outgrow one box, the pattern is a dedicated queue-mode worker fleet; at that point talk to us about multiple VPSs behind a load balancer rather than one giant VM.

Real questions

n8n VPS FAQ

Sizing, security and running n8n on a VPS.

Ask on Discord ↗
The container idles around 300–500MB; 1GB total works for light use, 2GB is the comfortable recommendation once Postgres is alongside.
If you want zero maintenance and run few executions, Cloud is honest value. Self-hosting wins on cost once workflows fire thousands of times, and on data residency always.
A subdomain pointing at the VPS is the clean setup — TLS via Caddy/Traefik is automatic. IP-only works for internal webhooks.
Ubuntu 24.04 or Debian 12 — the n8n docs and community assume Debian-family.
Yes — it’s a VPS. Postgres, Redis, a status page and a few cron jobs fit alongside on 2GB+.
If your workflows call Indian APIs and gateways, yes — executing from Mumbai/Delhi removes an international round-trip from every node.