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

Quick Comparison: Cloud vs Self-Hosted
| Factor | n8n Cloud | Self-Hosted |
|---|---|---|
| Starting cost | $20/month | $5-10/month (VPS only) |
| Execution limits | 2,500-40,000/month | Unlimited |
| Setup time | Minutes | 1-4 hours |
| Maintenance | Zero | You manage updates and backups |
| Data location | Azure (Frankfurt) | Your choice |
| Best for | Small teams, quick start | Technical 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.
| Plan | Monthly Price | Executions | Key Features |
|---|---|---|---|
| Starter | $20 | 2,500 | 5 concurrent executions |
| Pro | $50 | 10,000 | Shared projects, global variables, RBAC |
| Business | $800 | 40,000 | Version control, advanced security |
| Enterprise | Custom | Custom | SSO, 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 Executions | n8n Cloud | Self-Hosted (VPS) | Self-Hosted (Enterprise) |
|---|---|---|---|
| 2,500 | $20 | $7 + time | Overkill |
| 10,000 | $50 | $15 + time | Overkill |
| 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-hereGenerate a secure key with:
openssl rand -hex 16Start n8n:
docker compose up -dAccess 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=n8nAdding 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 -dAlways 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 n8nProduction 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:
- Purchase a VPS plan
- Select Ubuntu 24.04 with n8n template
- 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
- Set the encryption key before first use. This encrypts credentials at rest. Losing it means losing access to all stored credentials.
- Use HTTPS always. n8n requires secure cookies by default. Use Let's Encrypt for free SSL certificates.
- Keep n8n updated. Security patches are released regularly. Set up a monthly update schedule.
- Restrict network access. Only expose port 443. Keep PostgreSQL on internal networks only.
- 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.
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.
