Home / Servers / n8n VPS

Self-host n8n on your own VPS

n8n is the open-source workflow automation tool that everyone is using to wire up AI agents, scrapers, CRMs and APIs without vendor lock-in. Self-hosting it on a VPS skips the n8n Cloud subscription, keeps your workflows private, and gives you unlimited executions. Servury is built for it: anonymous signup, crypto payments, full root, 7 locations.

n8n runs comfortably on a 2 GB plan. Starting at $15.59/mo.

Why self-host n8n

Unlimited workflows. n8n Cloud caps you on executions and active workflows. Self-hosted has no cap, just whatever your VPS can handle.
API keys stay on your box. If your workflow chains OpenAI, Anthropic, Slack, GitHub, Notion, etc., those credentials never leave your VPS.
Webhooks need a stable host. n8n is most useful when it can receive webhooks. A VPS gives you a real public IP that doesn't change.
Anonymous infra. Sign up with no email, pay with crypto. Your automation stack is operationally separated from your real identity.

Quick start: n8n on Servury via Docker

Tested on Ubuntu 24. Pick a 2 GB+ plan, deploy, SSH in.

# 1. Install Docker
curl -fsSL https://get.docker.com | sh

# 2. Run n8n with persistent storage
docker volume create n8n_data
docker run -d --name n8n --restart unless-stopped \
  -p 5678:5678 \
  -v n8n_data:/home/node/.n8n \
  -e N8N_HOST=$(curl -s ifconfig.me) \
  -e WEBHOOK_URL=http://$(curl -s ifconfig.me):5678/ \
  n8nio/n8n

# 3. Open http://YOUR_SERVER_IP:5678 and finish onboarding
# 4. Recommended: put nginx + Let's Encrypt or Caddy in front for HTTPS

What people run on self-hosted n8n

AI agent orchestration

Chain OpenAI/Anthropic calls with vector DBs, scraping, and downstream actions. Most popular n8n use case in 2026.

Lead enrichment pipelines

Webhook in → enrich via APIs → LLM classification → CRM out. Replaces $200/mo SaaS with a $5 VPS.

Slack / Discord bots

Reply triggers, scheduled summaries, AI-powered replies. n8n's HTTP nodes make it trivial.

Scheduled scraping & ingestion

Cron-style scrapers feeding databases, search indexes, and AI training data sets.

Internal tools glue

Connect Notion, Linear, GitHub, Stripe, anything with a REST API. The "Zapier alternative" everyone wanted.

Personal automation

Email parsing, calendar sync, RSS to Telegram, document workflows. Anything you'd normally pay for monthly.

Frequently asked questions

Why self-host n8n instead of using n8n Cloud?

n8n Cloud bills per active workflow and execution. A self-hosted instance on a $5 VPS gives you unlimited workflows and unlimited executions. You also keep all credentials and workflow data on a host you control.

Will a 2 GB VPS handle n8n?

Yes for personal use and light production workloads (a few thousand executions per day). For heavier loads with PostgreSQL backend and Redis queue mode, jump to a 4 GB plan.

Do I need to use Docker?

Not strictly. n8n can also be installed via npm. Docker is the recommended path because the official image is maintained and updates are one-command. Both work fine on Servury.

How do I expose n8n over HTTPS?

Put Caddy or nginx in front. Caddy is the simplest: one line of Caddyfile and Lets Encrypt certs are automatic. We have full root, you can install whatever reverse proxy you like.

Can I run n8n with a real database instead of SQLite?

Yes. n8n supports PostgreSQL and MySQL via env vars. For production we recommend Postgres (run it locally on the same VPS or as a separate Docker container with a shared network).

Can I run AI workflows that hit OpenAI/Anthropic from n8n?

Yes. n8n has built-in nodes for OpenAI, Anthropic, OpenRouter, and any HTTP-based LLM API. Your API keys stay encrypted in your n8n instance, never sent anywhere else.

Does Servury log my n8n traffic?

No. Servury runs no application-level logging on customer servers. With anonymous signup and crypto payment, the entire stack stays private.

Where should I deploy for best webhook latency?

Pick the location closest to the services that will hit your webhooks. New York and Frankfurt are the most common picks for global webhook traffic.