How to Self-Host n8n on a Contabo VPS (2026): 1-Click Add-On or Docker Compose

Affiliate disclosure: this post contains affiliate links (CJ) to Contabo. If you order through them, SiftGuide may earn a commission at no extra cost to you; it does not change your price or terms. Plans, prices and add-on details come from Contabo’s official pages and the installation steps come from the official n8n documentation, both checked on October 17, 2026 (Europe/Bucharest). We have not benchmarked these servers ourselves.

n8n is a workflow automation tool you can host yourself: you connect apps and services with a visual editor, add your own code where you need it, and run the workflows on a server you control. There are two practical ways to get it onto a Contabo VPS: order a Cloud VPS with Contabo’s free n8n add-on pre-installed, or install it yourself with the official Docker Compose setup from the n8n docs. This guide covers both, plus which plan to pick, what it really costs and what to lock down afterwards.

Host n8n on a Contabo VPS: SiftGuide setup guide

A fair warning first. n8n’s own documentation says self-hosting requires technical knowledge (setting up servers and containers, managing resources, securing servers and applications), recommends it for expert users, and points people without server experience to n8n Cloud instead. A Contabo VPS is unmanaged by default, so updates, backups and security are your job either way.

Which Contabo plan for n8n?

Contabo’s n8n hosting page recommends four Cloud VPS sizes. Prices are EUR before VAT in the EU location; the monthly-term price is what you pay on a 1-month contract, and the 24-month rate is the effective monthly price Contabo shows for a 24-month subscription.

Plan: Cloud VPS 4

  • Resources: 4 vCPU, 8 GB RAM, 100 GB SSD
  • Monthly term: €5.50/mo (US$6.60)
  • 24-month rate: €4.40/mo
  • Contabo’s label: Simple Tasks
  • Contabo suggests it for: personal reminders, social media posting, and data backups

Plan: Cloud VPS 6

  • Resources: 6 vCPU, 12 GB RAM, 200 GB SSD
  • Monthly term: €7.50/mo (US$9.00)
  • 24-month rate: €6.00/mo
  • Contabo’s label: Basic Workloads
  • Contabo suggests it for: web scraping, social media reporting, and data analytics

Plan: Cloud VPS 12

  • Resources: 12 vCPU, 48 GB RAM, 400 GB SSD
  • Monthly term: €25.00/mo (US$30.00)
  • 24-month rate: €20.00/mo
  • Contabo’s label: Small Business Needs
  • Contabo suggests it for: syncing CRM data, processing orders, and marketing automation

Plan: Cloud VPS 18

  • Resources: 18 vCPU, 96 GB RAM, 600 GB SSD
  • Monthly term: €49.00/mo (US$58.80)
  • 24-month rate: €39.20/mo
  • Contabo’s label: Complex Workflows
  • Contabo suggests it for: complex systems and data-intensive automations

Cloud VPS 6, 12 and 18 are listed “Now with NVMe” on that page, and Contabo also lets you install n8n on any existing VPS or VDS. Its page doesn’t publish minimum requirements for n8n, and neither does the Docker Compose guide we followed, so the labels above are Contabo’s suggestions, not measured limits. For one person running a handful of scheduled workflows, the entry plan is the obvious place to start; you can upgrade a Core VPS in place later.

See current Contabo Cloud VPS prices

Option 1: the free n8n add-on (fastest)

  1. Order a Cloud VPS. Open the Contabo Cloud VPS page, pick a plan and region, and in the order options choose the n8n Server application, which Contabo’s price data lists as a free add-on.
  2. Wait for two-stage provisioning. Contabo says the whole process can take up to 30 minutes: first the server is provisioned and you get the login details by email (usually within a few minutes), then the n8n instance is installed and activated in the remaining time.
  3. Open the editor. According to Contabo’s FAQ, you reach n8n’s workflow editor through your server’s hostname or IP address once it’s deployed. Create the owner account straight away, before anyone else finds the login page.
  4. Invite teammates by link. Users are added under Settings > Users in n8n. Contabo notes that, because of server-side restrictions, invited users won’t receive an email, so copy the invite link and send it yourself.

Already have a Contabo VPS? Contabo says you can install n8n on an existing VPS or VDS free of charge from the Customer Control Panel. Contabo supports the server, network, hardware and the initial setup of the add-on; questions about building workflows go to the n8n docs and community forum.

Option 2: the official Docker Compose setup (more control)

This is the n8n team’s own guide for running n8n on a Linux server with Docker Compose. It starts two containers: n8n itself and Traefik, a reverse proxy that gets a free TLS certificate and serves n8n over HTTPS on your own subdomain. The commands and files below are copied from the n8n docs as they were on October 17, 2026 (Europe/Bucharest); check the official page before you start, because n8n ships a new minor version most weeks (the docs listed 2.43.7 as the current stable release that day).

Before you start: a Cloud VPS running a Linux distribution (order a plain OS image, not the n8n add-on, if you want to do this yourself), SSH access, and a domain where you can add DNS records.

1. Install Docker and Docker Compose

Follow Docker’s official install instructions for your distribution (Docker Engine and the Compose plugin), then check both are available:

docker --version
docker compose version

2. Optional: run Docker without sudo

To let your current (sudo-capable) user run Docker directly:

sudo usermod -aG docker ${USER}
# Register the `docker` group membership with current session without changing your primary group
exec sg docker newgrp

Run groups to confirm your session now includes docker.

3. Point a subdomain at the server

In your DNS, add an A record named n8n (or any subdomain you like) pointing to your VPS’s IP address. Traefik needs this to obtain the certificate.

4. Create the project folder and .env file

mkdir n8n-compose
cd n8n-compose

Inside n8n-compose, create a file called .env with your own domain, timezone and email (this is n8n’s example; change every value):

# DOMAIN_NAME and SUBDOMAIN together determine where n8n will be reachable from
# The top level domain to serve from
DOMAIN_NAME=example.com

# The subdomain to serve from
SUBDOMAIN=n8n

# The above example serve n8n at: https://n8n.example.com

# Optional timezone to set which gets used by Cron and other scheduling nodes
# New York is the default value if not set
GENERIC_TIMEZONE=Europe/Berlin

# The email address to use for the TLS/SSL certificate creation
SSL_EMAIL=user@example.com

5. Create the shared files folder

mkdir local-files

n8n can read and write files here through the /files path (for example with the Read/Write Files from Disk node).

6. Create compose.yaml

Paste n8n’s official file into compose.yaml:

services:
  traefik:
    image: "traefik"
    restart: always
    command:
      - "--api.insecure=true"
      - "--providers.docker=true"
      - "--providers.docker.exposedbydefault=false"
      - "--entrypoints.web.address=:80"
      - "--entrypoints.web.http.redirections.entryPoint.to=websecure"
      - "--entrypoints.web.http.redirections.entrypoint.scheme=https"
      - "--entrypoints.websecure.address=:443"
      - "--certificatesresolvers.mytlschallenge.acme.tlschallenge=true"
      - "--certificatesresolvers.mytlschallenge.acme.email=${SSL_EMAIL}"
      - "--certificatesresolvers.mytlschallenge.acme.storage=/letsencrypt/acme.json"
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - traefik_data:/letsencrypt
      - /var/run/docker.sock:/var/run/docker.sock:ro

  n8n:
    image: n8nio/n8n
    restart: always
    ports:
      - "127.0.0.1:5678:5678"
    labels:
      - traefik.enable=true
      - traefik.http.routers.n8n.rule=Host(`${SUBDOMAIN}.${DOMAIN_NAME}`)
      - traefik.http.routers.n8n.tls=true
      - traefik.http.routers.n8n.entrypoints=web,websecure
      - traefik.http.routers.n8n.tls.certresolver=mytlschallenge
      - traefik.http.middlewares.n8n.headers.SSLRedirect=true
      - traefik.http.middlewares.n8n.headers.STSSeconds=315360000
      - traefik.http.middlewares.n8n.headers.browserXSSFilter=true
      - traefik.http.middlewares.n8n.headers.contentTypeNosniff=true
      - traefik.http.middlewares.n8n.headers.forceSTSHeader=true
      - traefik.http.middlewares.n8n.headers.SSLHost=${DOMAIN_NAME}
      - traefik.http.middlewares.n8n.headers.STSIncludeSubdomains=true
      - traefik.http.middlewares.n8n.headers.STSPreload=true
      - traefik.http.routers.n8n.middlewares=n8n@docker
    environment:
      - N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true
      - N8N_HOST=${SUBDOMAIN}.${DOMAIN_NAME}
      - N8N_PORT=5678
      - N8N_PROTOCOL=https
      - NODE_ENV=production
      - N8N_WEBHOOK_URL=https://${SUBDOMAIN}.${DOMAIN_NAME}/
      - GENERIC_TIMEZONE=${GENERIC_TIMEZONE}
      - TZ=${GENERIC_TIMEZONE}
      - N8N_RESTRICT_FILE_ACCESS_TO=/files
    volumes:
      - n8n_data:/home/node/.n8n
      - ./local-files:/files

volumes:
  n8n_data:
  traefik_data:

The docs note that N8N_WEBHOOK_URL exists from n8n 2.30.0; on older versions use WEBHOOK_URL. The file creates two Docker volumes: n8n_data (where n8n keeps its SQLite database and its encryption key) and traefik_data (certificate data). It also publishes n8n’s port 5678 only on 127.0.0.1, so the public reaches n8n through Traefik on ports 80 and 443.

7. Start n8n

sudo docker compose up -d

Open https://n8n.yourdomain.com (your subdomain plus domain) and create the owner account. n8n is only reachable over HTTPS in this setup. To stop the containers:

sudo docker compose stop

If the page doesn’t load, the n8n docs point to two usual suspects: the server’s firewall settings and your DNS record.

After install: a short checklist

  • Back up the n8n data. In the Docker setup, the n8n_data volume holds the database and the encryption key that protects your saved credentials; lose the key and stored credentials can’t be decrypted. Contabo also sells Auto Backup as an add-on (€1.65/month on Cloud VPS 4 in its order options when we checked).
  • Keep only the ports you need open. SSH plus 80/443 for the Docker setup. Use SSH keys rather than passwords where you can.
  • Update regularly. n8n releases often; read the release notes and n8n’s update docs before upgrading a production instance, and back up first.
  • Use a strong owner password and only invite the users who need access.

What it really costs

  • Term: Cloud VPS 4 is €5.50 per month on a monthly contract and €4.40 per month on a 24-month term (Contabo labels the discount “for the first 24 months”). Contabo lists a minimum initial term of 1 month and a cancellation notice of none (pre-paid) or 4 weeks (post-paid).
  • VAT: the prices above exclude VAT; Contabo adds your country’s rate (for example 19% Germany, 20% United Kingdom, 21% Romania).
  • Location: the EU location is included; UK, US, Asia and Australia add a monthly surcharge that depends on the plan. Our full Contabo price guide has the table.
  • The n8n software: the Contabo add-on is listed at €0, and without a licence key self-hosted n8n runs as the free Community edition, according to the n8n docs. Business and Enterprise editions need a licence.
  • Extras: Auto Backup, extra IPv4 addresses and monitoring are paid add-ons; see the order summary.

Add-on or Docker: which should you pick?

  • You want n8n running today and don’t want to touch Docker: the free add-on.
  • You want your own subdomain with HTTPS, a setup you can read line by line, and the same file the n8n team documents: Docker Compose.
  • You don’t want to run a server at all: n8n Cloud, which is what the n8n docs recommend for people without server experience.

Order a Contabo Cloud VPS for n8n · Contabo home page

Also want your own file cloud? Contabo offers Nextcloud as a free pre-installed image too; see our guide to self-hosting Nextcloud on a Contabo Cloud or Storage VPS.

Keeping your code on the same kind of server? Contabo also offers GitLab CE as a free 1-click app, with a CI/CD runner container included; see our guide to self-hosting GitLab CE on a Contabo VPS.

FAQ

What is the cheapest Contabo VPS that Contabo recommends for n8n?
Cloud VPS 4 (4 vCPU, 8 GB RAM, 100 GB SSD): €5.50 per month on a monthly term or €4.40 per month on a 24-month term, before VAT, EU location. Contabo labels it “Simple Tasks”.

Is the n8n add-on really free?
Contabo’s price data lists the “n8n Server” application add-on at €0. You pay for the VPS and any paid extras you choose.

How long does the 1-click install take?
Contabo says up to 30 minutes in total: the server first (login details by email, usually within minutes), then the n8n installation.

Why don’t invited n8n users get an email?
On Contabo’s n8n image, server-side restrictions stop invitation emails, according to Contabo. Copy the invite link from n8n’s Users settings and send it yourself.

Where does n8n store my data in the Docker setup?
In the n8n_data Docker volume (mounted at /home/node/.n8n), which holds the SQLite database and the encryption key. Back it up.

Does self-hosted n8n need a licence?
No for the Community edition: the n8n docs say an install without a licence key runs as the free Community edition. Business and Enterprise features need a licence key.

Sources

All checked on October 17, 2026 (Europe/Bucharest).