n8n Self-Hosting Guide: Docker, Cloud, and Everything In Between

Last Updated: Jan 27, 2026

No items found.
No items found.
14 min read

This article is part of a larger content collection. Start with our ultimate guide.

Quick Comparison: Cloud vs Self-Hosted

Factorn8n CloudSelf-Hosted
Starting cost$20/month$5-10/month (VPS only)
Execution limits2,500-40,000/monthUnlimited
Setup timeMinutes1-4 hours
MaintenanceZeroYou manage updates and backups
Data locationAzure (Frankfurt)Your choice
Best forSmall teams, quick startTechnical teams, high volume, compliance

Is n8n Free?

Yes and no. It depends on how you use it.

The self-hosted Community Edition is completely free. You can download n8n from GitHub, run it on your own server, and automate unlimited workflows without paying n8n a penny. There are no hidden limits, no execution caps, and no feature restrictions on the core platform.

The catch is licensing, not cost. n8n uses the Sustainable Use License, a fair-code model that permits:

  • Internal business automation (automate your own company's processes)
  • Personal projects and learning
  • Non-commercial use
  • Consulting and support services (building workflows for clients)

What you cannot do without a commercial licence:

  • Sell a product where n8n is a core value proposition
  • Host n8n and charge users for access
  • Embed n8n into a paid SaaS offering

For most businesses, self-hosted n8n is genuinely free. You are using it internally to automate your operations. The licence explicitly allows this. You only need a commercial agreement if you plan to monetise n8n itself.

n8n Cloud is a paid service starting at $20/month. You get managed infrastructure, automatic updates, and zero maintenance burden in exchange for usage limits and monthly fees.

n8n Pricing Breakdown

n8n Cloud Pricing (January 2026)

All cloud plans include unlimited workflows, unlimited steps per workflow, and unlimited users. The billing unit is executions, where one execution equals one complete workflow run regardless of complexity.

PlanMonthly PriceExecutionsKey Features
Starter$202,5005 concurrent executions
Pro$5010,000Shared projects, global variables, RBAC
Business$80040,000Version control, advanced security
EnterpriseCustomCustomSSO, SAML, LDAP, dedicated support

Annual billing saves 20% across all plans.

How execution-based billing works: Unlike Zapier (per task) or Make (per operation), n8n charges per complete workflow run. A 50-step workflow processing 1,000 records costs the same as a 2-step workflow sending one email. This makes n8n dramatically cheaper for complex automations.

Self-Hosted Costs: The Real Numbers

Self-hosting is free but not zero-cost. You pay for infrastructure instead of a subscription.

Minimum viable setup (hobby/testing):

  • Basic VPS: $5-7/month
  • Total: ~$5-7/month for unlimited executions

Production setup (small team):

  • VPS with 2 vCPU, 4GB RAM: $12-20/month
  • Managed database (optional): $15/month
  • SSL certificate: Free (Let's Encrypt)
  • Total: ~$12-35/month

Enterprise setup (high availability):

  • Multiple application servers: $50-100/month
  • Managed PostgreSQL: $50-100/month
  • Load balancer: $10-20/month
  • Redis for queue mode: $15-30/month
  • Monitoring/logging: $20-50/month
  • Total: ~$150-300/month

The hidden cost: your time. Managing servers, applying updates, handling backups, and troubleshooting issues takes engineering hours. At $75/hour, 4 hours of monthly maintenance equals $300 of hidden cost. Factor this into your decision.

Total Cost of Ownership Comparison

Monthly Executionsn8n CloudSelf-Hosted (VPS)Self-Hosted (Enterprise)
2,500$20$7 + timeOverkill
10,000$50$15 + timeOverkill
50,000$800+$25 + time$200 + time
100,000+Enterprise$40 + time$300 + time

When cloud makes sense: Low execution volume, no DevOps resources, need to start immediately.

When self-hosting wins: High execution volume, strict data residency requirements, existing infrastructure team.

Docker Deployment: Step by Step

Docker is the recommended approach for self-hosting n8n. It provides isolation, easy updates, and consistent environments.

Prerequisites

  • A Linux server (Ubuntu 24.04 LTS recommended)
  • Docker and Docker Compose installed
  • At least 2GB RAM (4GB recommended for production)
  • A domain name pointing to your server (for HTTPS)

Basic Docker Compose Setup

Create a project directory and add this docker-compose.yml:

services:
  n8n:
    image: n8nio/n8n:latest
    container_name: n8n
    restart: unless-stopped
    ports:
      - "5678:5678"
    environment:
      - GENERIC_TIMEZONE=Europe/London
      - TZ=Europe/London
      - N8N_HOST=n8n.yourdomain.com
      - N8N_PORT=5678
      - N8N_PROTOCOL=https
      - WEBHOOK_URL=https://n8n.yourdomain.com/
      - N8N_ENCRYPTION_KEY=${N8N_ENCRYPTION_KEY}
    volumes:
      - n8n_data:/home/node/.n8n

volumes:
  n8n_data:

Create a .env file with your encryption key:

N8N_ENCRYPTION_KEY=your-32-character-random-string-here

Generate a secure key with:

openssl rand -hex 16

Start n8n:

docker compose up -d

Access n8n at http://your-server-ip:5678 and create your first user account.

Production Docker Compose with PostgreSQL

SQLite (the default) works for testing but PostgreSQL is essential for production. Here is a complete production-ready configuration:

services:
  postgres:
    image: postgres:16
    container_name: n8n-postgres
    restart: unless-stopped
    environment:
      POSTGRES_USER: ${POSTGRES_USER}
      POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
      POSTGRES_DB: ${POSTGRES_DB}
    volumes:
      - postgres_data:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DB}"]
      interval: 10s
      timeout: 5s
      retries: 5

  n8n:
    image: n8nio/n8n:latest
    container_name: n8n
    restart: unless-stopped
    depends_on:
      postgres:
        condition: service_healthy
    ports:
      - "5678:5678"
    environment:
      - GENERIC_TIMEZONE=Europe/London
      - TZ=Europe/London
      - N8N_HOST=${N8N_HOST}
      - N8N_PORT=5678
      - N8N_PROTOCOL=https
      - WEBHOOK_URL=https://${N8N_HOST}/
      - N8N_ENCRYPTION_KEY=${N8N_ENCRYPTION_KEY}
      - DB_TYPE=postgresdb
      - DB_POSTGRESDB_HOST=postgres
      - DB_POSTGRESDB_PORT=5432
      - DB_POSTGRESDB_DATABASE=${POSTGRES_DB}
      - DB_POSTGRESDB_USER=${POSTGRES_USER}
      - DB_POSTGRESDB_PASSWORD=${POSTGRES_PASSWORD}
      - N8N_METRICS=true
    volumes:
      - n8n_data:/home/node/.n8n
    deploy:
      resources:
        limits:
          cpus: "2"
          memory: 4G
        reservations:
          cpus: "0.5"
          memory: 1G

volumes:
  postgres_data:
  n8n_data:

The corresponding .env file:

N8N_HOST=n8n.yourdomain.com
N8N_ENCRYPTION_KEY=your-32-character-random-string
POSTGRES_USER=n8n
POSTGRES_PASSWORD=your-secure-database-password
POSTGRES_DB=n8n

Adding SSL with Traefik

For production, you need HTTPS. Traefik provides automatic SSL certificate management with Let's Encrypt. See the full configuration in our software integration documentation.

Updating n8n

To update to the latest version:

docker compose pull
docker compose down
docker compose up -d

Always backup your database before updating.

Kubernetes Deployment

Kubernetes makes sense when you need horizontal scaling, high availability, or already run a Kubernetes cluster.

Using the Helm Chart

The community maintains a well-supported Helm chart. Install it:

# Add the repository
helm repo add community-charts https://community-charts.github.io/helm-charts
helm repo update

# Create namespace
kubectl create namespace n8n

# Install with default values
helm install n8n community-charts/n8n --namespace n8n

Production Helm Values

For production, create a values.yaml file with PostgreSQL, queue mode with Redis, ingress configuration, resource limits, and persistence enabled. The chart supports separate deployments for main app, workers, and webhook processors.

Queue Mode for Scaling

Queue mode separates workflow execution from the main application, allowing you to scale workers independently:

  • Main application: Handles the UI and workflow management
  • Workers: Execute workflow steps
  • Webhook processors: Handle incoming webhook triggers

This architecture means you can add more workers during peak load without affecting the UI responsiveness.

Hosting Platform Options

Hostinger (Best Value for Beginners)

Hostinger offers a pre-configured n8n VPS template that simplifies setup dramatically.

Pricing: Starting at $1.99/month, recommended KVM 2 plan at $5.99/month (2 vCPU, 8GB RAM, 100GB NVMe)

Setup process:

  1. Purchase a VPS plan
  2. Select Ubuntu 24.04 with n8n template
  3. Access n8n through hPanel dashboard

Pros: One-click installation, pre-configured Docker environment, affordable pricing, good documentation

Cons: Basic support on lower tiers, less flexibility than raw VPS

DigitalOcean

A solid choice for teams comfortable with server management.

Pricing: $6/month (1GB RAM), $12/month recommended (2GB RAM)

Pros: Excellent documentation, strong community, managed database option ($15/month), predictable pricing

Hetzner (Best Value in Europe)

The most cost-effective option, particularly for European data residency requirements.

Pricing: Starting at 4 EUR/month for a capable VPS

Pros: Exceptional value, German data centres (GDPR-friendly), fast hardware, dedicated server options available

Cons: Less beginner-friendly interface, support in English can be slower

Railway (Best for Prototypes)

Railway offers rapid deployment with minimal configuration.

Pricing: $5/month base plus usage costs

Pros: Deploy in minutes, Git integration, automatic HTTPS, modern interface

Cons: 1GB disk limit, costs can be unpredictable at scale, not ideal for production workloads

Render

A managed platform option with predictable pricing.

Pricing: ~$25/month (web service) plus $19/month (PostgreSQL)

Pros: Easy deployment, managed services, good reliability

Cons: Higher cost than VPS, ephemeral filesystem without add-ons

Security and Compliance

Authentication Options

Self-hosted authentication:

  • Username and password (default)
  • Multi-factor authentication (optional)
  • SSO, SAML, and LDAP (requires Enterprise licence)

Recommendation: At minimum, enable MFA for all admin accounts. Consider SSO integration if you have more than 5 users.

n8n Cloud Compliance

n8n Cloud maintains strong compliance credentials:

  • SOC 2 Type 2: Annual third-party security audits
  • GDPR: Compliant with DPA included in Terms of Service
  • ISO 27001: Available on Enterprise plan
  • Data location: Microsoft Azure, Frankfurt (Germany West Central)
  • Encryption: AES256 at rest, TLS in transit

Self-Hosted Compliance

Self-hosting gives you complete control over compliance:

GDPR: Data never leaves your infrastructure, you control retention policies, easier to handle data subject requests

HIPAA: Possible with proper configuration, ensure your infrastructure is HIPAA-compliant, document your security controls

Internal policies: Air-gapped deployments possible, full audit trail control, custom backup and retention

Security Best Practices

  1. Set the encryption key before first use. This encrypts credentials at rest. Losing it means losing access to all stored credentials.
  2. Use HTTPS always. n8n requires secure cookies by default. Use Let's Encrypt for free SSL certificates.
  3. Keep n8n updated. Security patches are released regularly. Set up a monthly update schedule.
  4. Restrict network access. Only expose port 443. Keep PostgreSQL on internal networks only.
  5. Backup regularly. Database backups should run daily. Test restores quarterly.

When to Get Help

Self-hosting n8n is straightforward for experienced engineers but can become complex as requirements grow. Consider getting help when:

  • You need high availability but lack Kubernetes experience
  • Compliance requirements demand documented architecture
  • Your team is spending more time on infrastructure than automation
  • Migrations from cloud to self-hosted (or vice versa) are needed
  • Custom integrations require deep n8n expertise

Our n8n experts have deployed n8n for organisations ranging from startups to enterprises. We handle the infrastructure complexity so you can focus on building automations that matter.

Whether you need a one-time setup, ongoing managed hosting, or workflow development, we can help you get more value from n8n faster.

Talk to our n8n specialists

FAQ

Is n8n completely free to self-host?

The n8n software is free under the Sustainable Use License for internal business use. You pay only for your server infrastructure, typically $5-30/month depending on requirements. There are no execution limits or feature restrictions on the self-hosted Community Edition.

What are the minimum server requirements for n8n?

Minimum: 1 vCPU, 2GB RAM, 20GB storage. Recommended for production: 2 vCPU, 4GB RAM, 40GB storage. For high-volume workloads (50,000+ monthly executions), consider 4 vCPU, 8GB RAM with a dedicated PostgreSQL database.

Should I use SQLite or PostgreSQL?

Use SQLite only for testing or very light workloads. PostgreSQL is essential for production because it handles concurrent operations better, supports proper backups, and is required for queue mode (scaling with workers).

How do I update self-hosted n8n?

With Docker: run docker compose pull, then docker compose down, then docker compose up -d. With Kubernetes: update your Helm values and run helm upgrade. Always backup your database before updating.

Can I migrate from n8n Cloud to self-hosted?

Yes. Export your workflows from Cloud, set up your self-hosted instance, and import them. Credentials need to be re-entered as they cannot be exported for security reasons. We recommend running both in parallel during migration.

What is queue mode and when do I need it?

Queue mode separates workflow execution into workers, allowing horizontal scaling. You need it when: workflows frequently time out, you need high availability, or you process more than 50,000 monthly executions. It requires Redis and PostgreSQL.

Is self-hosted n8n GDPR compliant?

Self-hosting makes GDPR compliance easier because data never leaves your infrastructure. You control where data is stored, how long it is retained, and can respond to data subject requests directly. Document your security measures for audit purposes.

Which hosting provider is best for n8n?

It depends on your priorities:

  • Cheapest: Hetzner (from 4 EUR/month)
  • Easiest setup: Hostinger (pre-configured templates)
  • Best documentation: DigitalOcean
  • Quickest deployment: Railway (not for production)

Pricing and specifications current as of January 2026. Verify current pricing on each platform before making infrastructure decisions.

Work smarter with AI & automation that fits perfectly

Join 975+ businesses saving 20+ hours weekly with proven automation systems.