Skip to main content

    n8n VPS Hosting on KVM and NVMe

    Devoster's n8n VPS hosting is an unmanaged KVM server with NVMe storage in Utah, USA, where you run n8n, PostgreSQL and a reverse proxy with full root access. The recommended Starter plan (2 vCPU, 4 GB RAM, 75 GB NVMe) costs a flat $7.99/mo, for people comfortable in a Linux shell who have outgrown per-execution pricing.

    • Starter: 2 vCPU / 4 GB / 75 GB NVMe
    • $7.99/mo flat, no per-execution billing
    • KVM with full root, Docker-ready
    • Free 3-day backups + 1 snapshot
    • Utah, USA · 1 Gbps · unlimited bandwidth

    Prices verified

    Recommended plans

    • Recommended

      Starter

      $7.99/mo
      • 2 vCPU
      • 4 GB RAM
      • 75 GB NVMe
      • 1 IPv4
    • Basic

      $10.99/mo
      • 3 vCPU
      • 6 GB RAM
      • 100 GB NVMe
      • 1 IPv4
    • Advanced

      $13.99/mo
      • 4 vCPU
      • 8 GB RAM
      • 125 GB NVMe
      • 1 IPv4
    • Pro

      $19.99/mo
      • 6 vCPU
      • 12 GB RAM
      • 150 GB NVMe
      • 1 IPv4

    Compare all 8 VPS plans

    Why n8n needs a VPS, not shared hosting

    n8n is a long-running Node.js application. It has to stay up between requests so its schedule triggers fire on time, it needs a stable public HTTPS address so services like Stripe, GitHub or Typeform can deliver webhooks to it, and the standard way to run it is Docker with a database alongside. Shared hosting is built around the opposite model: short PHP requests, no root, no Docker, and background processes that get killed when they run too long or use too much memory.

    n8n's memory use is also bursty. An instance can sit idle for an hour and then pull thousands of rows into memory in one execution, especially with a Code node or binary files. On a VPS that burst lands on RAM you control. On shared hosting it lands on a process limit you don't.

    The other reason is cost shape. n8n Cloud bills by workflow executions; a VPS bills by the month. A single workflow on a five-minute schedule is about 8,640 executions in a 30-day month before you build anything else. On a VPS that number does not change the bill. Our n8n self-hosting tutorial walks through the arithmetic.

    How much VPS does n8n need? Sizing by workflow volume

    The number of workflows matters less than three things: how many executions run at the same time, how big the data each one carries is, and whether you use the Code node, binary files or a headless browser. n8n's own documentation names JSON volume, binary data size, node count and the Code node as the drivers of memory use, and manual runs from the editor cost extra because the data is copied for the UI. For reference, n8n's Docker Compose guide asks for at least 2 vCPUs and 4 GB of RAM.

    Your n8n workloadPlanWhy
    Learning, testing, a few personal schedulesMicro (1 vCPU / 2 GB)The realistic floor for n8n plus Postgres. Add a swap file.
    Production instance a team relies on: webhooks, hourly syncs, PostgresStarter (2 vCPU / 4 GB)Room for Postgres, execution history and the occasional heavy run.
    Larger payloads, several executions overlapping, longer historyBasic (3 vCPU / 6 GB)A third core and 2 GB more headroom for bursts.
    Queue mode on one server: main process, Redis, one or two workersAdvanced (4 vCPU / 8 GB)Each worker is its own Node.js process with its own memory.
    Several workers, or workflows that drive ChromiumPro (6 vCPU / 12 GB)Headless browsers are heavy guests.

    Disk is the other thing that grows. n8n saves execution data by default, so a busy instance adds Postgres rows every day. Set EXECUTIONS_DATA_MAX_AGE and EXECUTIONS_DATA_PRUNE_MAX_COUNT, and consider EXECUTIONS_DATA_SAVE_ON_SUCCESS=none if you only need failed runs. You can upgrade a Devoster VPS to a larger plan from the panel later, so start where the table puts you rather than two sizes up.

    Postgres or SQLite for self-hosted n8n?

    Out of the box n8n stores everything in a SQLite file inside its data directory. That is fine for a test instance. For anything you depend on, use PostgreSQL from day one, for three reasons:

    • Switching later is not an in-place migration. Moving an existing instance from SQLite to Postgres means exporting and re-importing workflows and credentials, not flipping a setting.
    • Queue mode needs Postgres. n8n does not support queue mode on SQLite, so the database choice decides whether you can scale out on the same server later.
    • Execution history is write-heavy. A busy instance writes a row for every run. Postgres on NVMe handles that steady stream of small writes well, and its default memory settings are modest enough to share a 4 GB server with n8n.

    Whichever you choose, keep persisting the n8n data volume. It holds the encryption key that protects every stored credential, and a database restored without that key gives you workflows with unreadable credentials.

    When should you switch n8n to queue mode?

    In the default mode, one n8n process receives webhooks, serves the editor and runs every execution. Queue mode (EXECUTIONS_MODE=queue) splits that: the main process accepts triggers and puts executions on a Redis queue, and separate worker processes pick them up.

    It is worth the extra moving parts when long executions hold up others, when bursts of webhooks arrive faster than one process clears them, or when one heavy workflow should not be able to stall the editor. It is not worth it for an instance that runs a few dozen workflows on schedules; scale up the plan first.

    Two things to plan for. Queue mode multiplies memory, not just CPU, because every worker is a full Node.js process, and you add Redis. That is why the Advanced plan (4 vCPU / 8 GB) is where running main, Redis and one or two workers on one server starts to make sense. And every worker needs the identical N8N_ENCRYPTION_KEY as the main process, or workers cannot decrypt credentials.

    What setting up n8n on a Devoster VPS involves

    Devoster VPS plans are unmanaged: we provide the KVM server, the network and the backups, and you install and run n8n. The full walkthrough, with the Compose file and every environment variable explained, is in How to self-host n8n on a VPS. The short version:

    • Deploy Ubuntu 24.04 or Debian 12 and harden it first: SSH keys, a firewall that allows only 80, 443 and SSH, automatic security updates. Our VPS hardening checklist covers it.
    • Point a subdomain such as n8n.example.com at the server's IP and install Docker Engine with the Compose plugin from Docker's repository.
    • Run n8n, Postgres and a reverse proxy such as Caddy that handles TLS. Never publish port 5678 to the internet.
    • Set N8N_ENCRYPTION_KEY yourself before the first boot and store a copy off the server. Set N8N_WEBHOOK_URL and N8N_PROXY_HOPS=1, or webhooks will register with the wrong URL.
    • Pin the n8n image to a version tag instead of latest, and read the release notes before you bump it.

    Every Devoster VPS includes nightly backups kept for 3 days and one snapshot slot. Take a snapshot right before an n8n upgrade, so a failed database migration costs you a rollback instead of an evening. Panel snapshots are removed automatically after 7 days. Keep your own pg_dump and a copy of the data volume off the server too; a backup that lives only with your host covers fewer failure modes.

    The n8n licence: what you can run on your own VPS

    n8n is source-available, not open source. It ships under the Sustainable Use License, and n8n's documentation summarises it this way: you may use and modify it for your own internal business purposes or for non-commercial or personal use; you may distribute it only free of charge for non-commercial purposes; and you may not remove its licensing notices.

    In practice that means running n8n on a VPS to automate your own company's work is allowed, and so is charging for consulting or support around n8n. What n8n lists as not allowed without a separate commercial agreement is hosting n8n and charging people to access it, or white-labelling it for your customers. Renting a server from Devoster doesn't change any of that: we sell you the machine, not an n8n licence. This is a plain-language summary, not legal advice; if your use case sits near the line, read the licence and ask n8n.

    When an n8n VPS isn't the right choice

    • Nobody on the team works in a Linux shell. OS patches, Docker and n8n upgrades, TLS and backups are yours on an unmanaged VPS. If that work won't happen, n8n Cloud is the safer buy.
    • Your volume is low. A few hundred executions a month rarely justifies a server plus your time.
    • You need SSO, projects or shared credentials across a team. Those are paid n8n features, so you pay n8n either way and the hosting question becomes secondary.
    • You want to resell n8n access. That needs a commercial agreement with n8n first, whatever server it runs on.
    • Your data has to stay outside the US. Devoster VPS servers are in Utah, USA. For automation the distance rarely matters to performance, but it may matter to your compliance requirements.

    If none of those apply, compare the full Devoster VPS plans and start with Starter.

    Frequently Asked Questions

    For n8n with Postgres, 1 vCPU and 2 GB of RAM (Devoster's Micro plan) is the realistic floor, with a swap file. 1 GB runs n8n alone but leaves no room for a database or a Code node. For an instance you rely on, start at 2 vCPU and 4 GB (Starter, $7.99/mo).

    Yes, for a single n8n instance with Postgres and a reverse proxy, including the occasional heavy execution. n8n's own Docker Compose guide asks for at least 4 GB and 2 vCPUs. Move to 6 or 8 GB when you see out-of-memory restarts, run many executions in parallel, or switch to queue mode.

    Not reliably. n8n is a persistent Node.js process that needs to stay running for schedules and webhooks, and it is normally deployed with Docker and a database. Shared hosting is built for short PHP requests and usually kills long-running processes. A VPS with root access is the practical minimum.

    No. Devoster VPS plans are unmanaged: you get a KVM server with full root, and installing, upgrading and backing up n8n is your job. Our step-by-step tutorial takes most people about 45 minutes the first time.

    Postgres for anything in production. SQLite is the default and fine for testing, but moving off it later means exporting and re-importing workflows and credentials, and n8n's queue mode does not support SQLite.

    Workflow count is rarely the limit. Hundreds of light scheduled workflows fit on a 4 GB server. What exhausts memory is concurrency and payload size: several large executions at once, big binary files, Code nodes over thousands of items, or headless browsers.

    Not under the Sustainable Use License alone. n8n lists hosting n8n and charging people to access it, and white-labelling it, as uses that need a separate commercial agreement. Building automations for your own business, or charging for consulting around n8n, is allowed.

    Yes. You can move up to any larger plan from the Devoster panel; the disk grows and the VPS reboots to pick up the new resources. Plans can't be shrunk in place, so start at the size you need now and grow when the memory graphs tell you to.

    In Devoster's datacenter in Utah, USA, on a 1 Gbps port with unlimited bandwidth. For webhooks and scheduled automations the location rarely affects performance; it matters mainly if your data must stay in a specific country.
    n8n VPS

    Start with Starter at $7.99/mo

    We value your privacy

    We use essential cookies to make our site work, and optional analytics cookies to understand how you use Devoster and improve our services. You can accept all cookies, or adjust your preferences.

    Read more in our Cookie Policy and Privacy Policy. You can change your choices at any time.