Small businesses often spend more on automation subscriptions than they realize. A small or medium enterprise running 15-20 automated workflows can pay anywhere from a few dollars to several hundred dollars per month depending on the platform and task volume. Learning how to deploy n8n on a VPS for small business is one way to convert that variable, usage-based cost into a flat, predictable server fee — typically in the range of $6-$20 per month.

This guide draws on widely documented self-hosting practices from the n8n community and general DevOps conventions. The pattern practitioners report is consistent: businesses running high workflow volumes tend to reduce their recurring automation spend after moving from per-task pricing to a self-hosted model, while also gaining full control over where their data lives. Below is a practical, vendor-neutral playbook.

A note on figures: Pricing for cloud automation tools changes frequently. Where this article cites costs, treat them as illustrative of the structure (per-task vs. flat-fee) rather than guaranteed current numbers. Always confirm against each vendor’s live pricing page before budgeting.

Quick Summary: How to Deploy n8n on a VPS for Small Business

  • What it is: n8n is an open-source workflow automation tool you can self-host on a Virtual Private Server (VPS) instead of paying per-task fees to managed services like Zapier or Make.
  • Cost: A capable VPS commonly runs $6-$20/month. Managed automation plans are usually priced per task or per execution, so heavy-usage businesses often pay substantially more at the same volume.
  • Setup time: A working, SSL-secured n8n instance can typically be stood up in 30-60 minutes using Docker Compose and a reverse proxy such as Caddy.
  • Best for: SMEs running 10+ recurring workflows who want data ownership, unlimited executions, and no per-operation pricing.
  • What you need: A VPS (from ~$6/month), a domain name, basic terminal access, and Docker.
  • Tradeoff: Self-hosting means you own maintenance, backups, and security — or you hire someone who does.

Published: June 2025. Last reviewed: June 2025.

What Is n8n and Why Self-Host It on a VPS?

n8n is an open-source, node-based workflow automation platform that connects apps, APIs, and databases. Self-hosting n8n on a VPS gives small businesses control over execution volume, complete data ownership, and a flat monthly server cost instead of usage-based subscription fees.

n8n (pronounced “n-eight-n”) is a fair-code workflow automation tool that has become one of the most widely used open-source alternatives to managed services like Zapier and Make. The core difference is the pricing model. Per-task platforms bill for every action a workflow performs — run a workflow 10,000 times a month and the bill scales with that volume. A self-hosted n8n instance does not bill per execution; you pay only for the server it runs on, plus any third-party APIs your workflows call.

For a high-volume small business, the structural difference favors self-hosting. The savings depend entirely on your task volume: a business running a few hundred operations a month may see little difference, while one running tens of thousands of operations may see a large gap. Because cloud automation pricing tiers change often, verify the current cost of any plan you are comparing — for example, on the vendor’s published pricing page — before estimating your own savings.

Beyond cost, self-hosting changes who controls your data. When customer records, invoices, and lead data flow through a third-party cloud, that data is processed on vendor infrastructure. Self-hosting keeps it on infrastructure you control, which can simplify reasoning about data residency and regulatory obligations such as the EU’s General Data Protection Regulation (GDPR). It is not automatically more compliant — that depends on how you configure and secure the server — but it does put the decisions in your hands.

How to Deploy n8n on a VPS for Small Business: Step-by-Step

Deploying n8n on a VPS for small business requires four stages: provision a VPS, install Docker, configure n8n with Docker Compose, and secure it with HTTPS through a reverse proxy. A practitioner comfortable with the command line can typically complete the full process in 30-60 minutes.

A common, dependable stack is a 2 vCPU / 4GB RAM VPS (roughly $12-24/month), Docker with the Docker Compose plugin, n8n’s official container image, and Caddy or Traefik as the reverse proxy for automatic SSL certificates. This configuration handles several concurrent workflows reliably for most small businesses. A lighter 1 vCPU / 2GB instance (around $6/month) is enough for smaller deployments running fewer than ~50 active workflows.

The most common failure point in self-hosted setups is not the installation itself — it is skipping HTTPS and webhook URL configuration. Practitioners generally find that webhook triggers fail silently when the WEBHOOK_URL environment variable is not set to the public HTTPS domain before launch. Set it first to avoid debugging “invisible” failures later.

Minimum requirements: a registered domain, a VPS provider (Hetzner, DigitalOcean, Linode, or Vultr are all popular choices), and basic command-line access. A practical and deterministic stack is Ubuntu 22.04 LTS, Docker, Docker Compose, and Caddy for automatic SSL. “Boring” infrastructure choices are a feature here — well-trodden, well-documented components fail in predictable, recoverable ways.

Step 1: Provision Your VPS

VPS provisioning for n8n self-hosting starts with selecting a provider and launching a basic instance. For small businesses running fewer than 50 active workflows, a 2GB RAM / 1 vCPU server handles the load reliably. Several providers compete in this tier — Hetzner, DigitalOcean, and Vultr all offer entry plans around $5-$7/month. Hetzner Cloud, headquartered in Germany, is frequently cited in self-hosting communities for strong price-to-performance; confirm the exact current plan price on the provider’s own site before committing, as these change.

Memory tends to be the primary constraint before CPU in workflow automation, since n8n keeps active workflows in RAM and PostgreSQL caches working data. A common rule of thumb practitioners use: 2GB of RAM is a reasonable starting point for light-to-moderate execution rates, with 4GB recommended if you run AI nodes, large payloads, or high concurrency.

When provisioning, select Ubuntu 22.04 LTS as your operating system and choose a data center region closest to your users to minimize latency. Once the server is created, you will receive an IP address and root SSH credentials.

Step 2: Point Your Domain and Secure SSH Access

Domain configuration and SSH hardening are the two security foundations of any production VPS deployment. An A record maps a subdomain (for example, automation.yourbusiness.com) to your VPS IP address, which is what enables automated SSL certificate issuance — certificate authorities like Let’s Encrypt require a valid domain, not a bare IP. Create this record in your DNS provider’s settings; propagation typically completes within 5 to 30 minutes, though it can occasionally take longer.

Next, harden SSH access. Log in via SSH, create a non-root user with sudo privileges, then disable both root login and password authentication in /etc/ssh/sshd_config, relying on SSH keys instead. Internet-facing servers receive a constant stream of automated brute-force login attempts, and password-based authentication is a frequent entry point for those attacks. Key-based authentication with passwords disabled effectively removes the brute-force attack surface for SSH. Restart the SSH service to apply the changes.

Finally, enable a basic firewall (UFW on Ubuntu) allowing only ports 22 (SSH), 80 (HTTP), and 443 (HTTPS). Key-based authentication and a minimal open-port footprint are baseline defenses widely recommended in server-hardening guidance, including from the U.S. Cybersecurity and Infrastructure Security Agency (CISA). Together, DNS mapping and SSH hardening secure your server before any application goes live.

Step 3: Install Docker and Docker Compose

Docker and Docker Compose are containerization tools that package n8n and its dependencies into isolated containers, eliminating most “works on my machine” inconsistencies across environments. Containerization isolates the application from host system variations, which makes deployments more reproducible and rollbacks cleaner.

Install Docker Engine using the official convenience script, which supports Ubuntu, Debian, CentOS, and Fedora:

  1. Run curl -fsSL https://get.docker.com | sh to install Docker Engine.
  2. Add your user to the docker group so you can run Docker without sudo: sudo usermod -aG docker $USER. Log out and back in for the change to take effect.
  3. Verify both installs with docker --version and docker compose version.

Docker Compose ships as a plugin bundled with Docker Engine 20.10 and later, so a separate Compose install is rarely needed on a current system. A standard n8n container is lightweight — on the order of a few hundred megabytes of disk and RAM at idle — which is why the full stack fits comfortably on an inexpensive VPS.

Step 4: Configure n8n with Docker Compose and Caddy

A production-grade Docker Compose setup for n8n typically defines three services: n8n (the workflow engine), PostgreSQL (for persistent workflow storage), and Caddy (the reverse proxy). PostgreSQL is recommended over the default SQLite for any real business workload: SQLite can lock or corrupt under concurrent writes, whereas PostgreSQL handles simultaneous executions reliably. Practitioners who skip this step and run SQLite under load frequently report difficult-to-recover workflow history — a classic, avoidable mistake.

Caddy automatically provisions and renews Let’s Encrypt SSL certificates. Let’s Encrypt certificates are valid for 90 days; Caddy renews them automatically well before expiry, giving you zero-downtime TLS with no cron jobs or manual certificate management.

Set these critical environment variables before first launch:

  • N8N_HOST — your subdomain (e.g. automation.yourbusiness.com).
  • N8N_PROTOCOL=https and WEBHOOK_URL set to your full HTTPS address — required for webhook triggers to function. Omitting WEBHOOK_URL is the single most common configuration error in self-hosted n8n.
  • N8N_ENCRYPTION_KEY — a random 32-character string used to encrypt stored credentials. Store it in a password manager; if you lose it, your saved credentials become unrecoverable.
  • DB_TYPE=postgresdb plus matching database credentials.

Run docker compose up -d, wait about 60 seconds, and visit your subdomain. You should land on the n8n setup screen, served over HTTPS. The three-service stack typically uses under 1GB of RAM at idle, which is why it deploys comfortably on a low-cost instance.

What Does It Cost to Deploy n8n on a VPS vs. Managed Automation?

Deploying n8n on a VPS for small business typically costs $6-$20 per month in server fees. Managed automation services are usually priced per task or per execution, so the comparison depends heavily on volume: at low volume the difference can be minor, while at high volume self-hosting’s flat fee is usually far cheaper.

The fundamental tradeoff is that self-hosting exchanges subscription dollars for operational responsibility. You own updates, backups, monitoring, and security. For a technically capable team, that tradeoff often favors self-hosting. For a non-technical owner, the calculation is more nuanced, because the “savings” assume someone is available to maintain the server.

FactorSelf-Hosted n8n (VPS)n8n CloudManaged per-task tools (e.g. Zapier)
Cost modelFlat server fee (~$6-$20/mo)Tiered subscriptionPer-task / per-execution
Execution limitsBounded by your server, not billingTieredPer-task billing
Data ownershipFull (your infrastructure)Vendor-hostedVendor-hosted
Maintenance burdenYou / a partnerManagedManaged
Setup difficultyModerate (CLI required)EasyEasy
Best for10+ heavy workflows, data controlLight technical teamsNon-technical, low volume

A worked example illustrates the structure. Suppose a small business runs an order-confirmation workflow that fires 8,000 times a month, each execution performing three actions. On a per-task plan that bills each action, that is 24,000 billable tasks monthly — pushing the business into higher-priced tiers. On a self-hosted instance, the same workload incurs no per-execution charge; the only marginal cost is whatever third-party APIs the workflow calls. Run the same comparison for your real workflow counts and current vendor pricing to decide whether the operational overhead of self-hosting is worth it for you.

How Do You Secure and Maintain a Self-Hosted n8n Instance?

How to deploy n8n on a VPS for small business is only half the job; keeping it secure is the other half. Securing a self-hosted n8n instance requires HTTPS via a reverse proxy, encrypted credentials, automated database backups, a firewall, and timely version updates. Maintenance is light but non-optional — budget roughly 1-2 hours monthly for a small business deployment.

Security here is not paranoia. n8n typically connects to your CRM, email, payment systems, and customer data, so a compromised instance can act as a master key to your operations. Treat it as a high-value target.

  • HTTPS everywhere: Never expose n8n over plain HTTP. Caddy or Traefik handle automatic SSL renewal.
  • Encryption key: Set N8N_ENCRYPTION_KEY before first launch and store it in a password manager. Lose it and your stored credentials become unrecoverable.
  • Database backups: Schedule nightly pg_dump exports of your PostgreSQL container to offsite storage such as Backblaze B2 or an S3-compatible bucket.
  • Updates: n8n ships frequent releases. Pull new Docker images on a schedule and review the changelog for breaking changes before upgrading.
  • Access control: Enable user management, require strong passwords, and restrict the admin panel to known IPs where feasible.

The Open Worldwide Application Security Project (OWASP) consistently ranks broken access control and security misconfiguration among the most exploited web application risks. That makes a hardened reverse proxy and a locked-down firewall more important than any single application feature. These defaults should be part of every deployment, not an afterthought.

For backups specifically, automate them — a backup you have to remember to run is a backup you do not really have. Set a cron job, and test a restore periodically (quarterly is a reasonable cadence) so you know the backup actually works before you need it.

What Workflows Should a Small Business Automate First?

Small businesses generally get the fastest return automating high-frequency, error-prone manual tasks: lead capture, CRM synchronization, invoice generation, and customer notifications. The right first workflow is whichever repetitive task your team complains about most — momentum builds from a single visible win.

Avoid trying to automate everything on day one. Pick one painful, repeatable process, automate it well, measure the time it saves, and expand from there.

High-impact starter workflows include:

  1. Lead capture to CRM: A form submission triggers a new contact in your CRM or database, with automatic deduplication.
  2. Invoice automation: A closed deal generates and emails an invoice (via Stripe, QuickBooks, or similar) without manual data entry.
  3. Messaging notifications: Order confirmations and appointment reminders pushed via email, SMS, or the WhatsApp Business API.
  4. Data sync: Keep Google Sheets, Airtable, and your CRM aligned so staff stop copy-pasting between tools.
  5. AI-enriched routing: Use n8n’s native AI nodes to classify inbound emails and route them to the right department.

The general principle is that capturing even a portion of routine, rules-based work frees your most skilled people for higher-value tasks. The goal is practical and incremental — measurable hours returned to the team — rather than wholesale replacement of human judgment.

Key Takeaways: Your Action Plan

Ready to deploy n8n on a VPS for your small business? Here is the condensed action plan:

  1. Provision a low-cost (~$6/month) Hetzner, DigitalOcean, or Vultr VPS running Ubuntu 22.04 LTS.
  2. Point a subdomain to it and harden SSH access with keys, disabled password login, and a UFW firewall (ports 22, 80, 443).
  3. Install Docker, then deploy n8n + PostgreSQL + Caddy via Docker Compose.
  4. Set your encryption key, enable user management, and schedule nightly backups.
  5. Automate one high-frequency workflow first — lead capture or invoicing.
  6. Measure hours saved, then expand from there.

The stack itself is inexpensive, and for high-volume automation it often pays for itself quickly. The key is to weigh the maintenance responsibility honestly against the subscription savings for your volume.

Frequently Asked Questions

How much does it cost to deploy n8n on a VPS for a small business?

Deploying n8n on a VPS for small business use typically costs $6-$20 per month in server fees, with no per-execution charges. Managed per-task automation services bill by volume, so whether self-hosting is cheaper depends on how many tasks you run — confirm current vendor pricing before comparing.

Is self-hosting n8n hard for a non-technical business owner?

Self-hosting n8n requires basic terminal comfort and roughly 30-60 minutes for initial setup using Docker Compose. Non-technical owners can either follow a step-by-step guide carefully or engage a technical partner to handle deployment, security, and ongoing maintenance.

How much RAM does an n8n VPS need for a small business?

A 2GB RAM, 1-2 vCPU VPS handles most small business n8n deployments running fewer than 50 active workflows. Heavy AI processing or high-volume executions may warrant 4GB or more, but many SMEs run comfortably on an entry-level instance.

Is self-hosted n8n secure for handling customer data?

Self-hosted n8n can be secure when configured with HTTPS, an encryption key, a firewall, encrypted credentials, and regular updates. Because the instance runs on infrastructure you control, self-hosting gives you direct authority over data residency — but the security is only as good as your configuration and maintenance discipline.

Should I use n8n Cloud or self-host on a VPS?

Choose self-hosted n8n on a VPS if you run many workflows, want execution volume decoupled from billing, and value data ownership. Choose n8n Cloud or a managed tool if you prefer zero maintenance and run lighter automation. Self-hosting can lower recurring costs but shifts maintenance responsibility to you or a partner.

The bigger picture: The structural choice here is whether to keep renting automation capacity by the task or to own a flat-cost instance you control. For high-volume small businesses, self-hosting n8n is often the more economical path; for light, occasional use, a managed service may still be the better fit. Decide based on your real workflow volume, your team’s technical comfort, and how much you value data control.

Sources & References

This article references general, widely documented self-hosting and security practices. For terminology, the verb “deploy” — used here in its technical, infrastructure sense — is defined in standard dictionaries such as the Cambridge Dictionary and Merriam-Webster. For pricing and feature details specific to each platform (n8n Cloud, Zapier, Make) and each VPS provider (Hetzner, DigitalOcean, Vultr), always consult the vendor’s own official pricing page, as those figures change frequently and were not independently verified for this article.


Last updated: 2026-06-13

Note: This article is for general informational purposes; verify specifics against your own context.