n8n Self-Hosting Requirements Guide (2026)
Planning to self-host n8n? Here's what you actually need.
The official docs give minimum specs, but real-world deployments need more context. This guide covers what works for different workload sizes based on production experience.
Quick answer: What do I need?
For most users starting out:
| Spec | Minimum | Recommended |
|---|---|---|
| CPU | 1 core | 2 cores |
| RAM | 1 GB | 2-4 GB |
| Storage | 10 GB | 20 GB SSD |
| Database | SQLite (default) | PostgreSQL |
This handles 50-100 workflows running a few times per hour. Most small teams never need more.
Sizing by workload
Light workload (hobby/testing)
Profile: Personal projects, learning, development
- 10-20 workflows
- Runs a few times per day
- Simple integrations (webhooks, HTTP requests, basic transforms)
Specs:
- 1 vCPU
- 1 GB RAM
- 10 GB storage
- SQLite database
Monthly cost: $4-6 (Hetzner CAX11, DigitalOcean basic droplet)
Medium workload (small business)
Profile: Production use, multiple team members
- 50-100 workflows
- Runs hourly or more frequently
- Mix of simple and complex workflows
- Some AI/LLM integrations
Specs:
- 2 vCPU
- 4 GB RAM
- 40 GB SSD
- PostgreSQL database (external or local)
Monthly cost: $12-20 (Hetzner CAX21, DigitalOcean $18 droplet)
Heavy workload (scale)
Profile: High-volume production, enterprise
- 200+ workflows
- Concurrent executions
- Heavy data processing
- Multiple AI/LLM calls per workflow
Specs:
- 4+ vCPU
- 8-16 GB RAM
- 80+ GB SSD
- PostgreSQL (managed, external)
- Redis for queue mode
- Consider n8n queue mode with separate workers
Monthly cost: $40-100+
RAM: The real bottleneck
RAM matters more than CPU for most n8n deployments. Here's why:
Each workflow execution loads into memory. Complex workflows with large payloads eat RAM fast.
Concurrent executions multiply RAM needs. If you have 10 workflows running at the same time, each needs its own memory space.
RAM guidelines
| Concurrent Executions | Minimum RAM |
|---|---|
| 1-5 | 1 GB |
| 5-10 | 2 GB |
| 10-20 | 4 GB |
| 20-50 | 8 GB |
| 50+ | 16 GB + queue mode |
Signs you need more RAM
- Workflows failing with "out of memory" errors
- n8n becoming unresponsive during peak times
- Executions timing out unexpectedly
- Container/process being killed by the OS
Quick fix: Set EXECUTIONS_PROCESS to own (default in newer versions) so each execution runs in its own process.
CPU considerations
CPU matters less than RAM for typical workflows. But certain operations are CPU-intensive:
CPU-heavy operations
- AI/ML workflows: LLM calls are I/O bound, but processing responses uses CPU
- Data transformation: Large JSON transforms, regex on big strings
- Image processing: Resize, convert, manipulate images
- PDF generation: Building complex documents
- Encryption/decryption: Processing lots of encrypted data
CPU guidelines
| Workload Type | Recommended vCPU |
|---|---|
| Simple integrations | 1 |
| Mixed workloads | 2 |
| AI/ML heavy | 2-4 |
| Data processing | 4+ |
ARM vs x86: ARM instances (like Hetzner CAX, AWS Graviton) offer better price/performance for n8n. The Docker images support both architectures.
Database: SQLite vs PostgreSQL
n8n defaults to SQLite. It works fine until it doesn't.
When SQLite is fine
- Single user or small team
- Under 50 active workflows
- Execution history isn't critical
When to use PostgreSQL
- Multiple users accessing n8n simultaneously
- Over 50 workflows
- Need reliable execution history
- Running in production
- Using queue mode
PostgreSQL sizing
| Workload | Database Size | Notes |
|---|---|---|
| Light | Shared/smallest tier | 1 GB storage |
| Medium | 1-2 GB RAM dedicated | 10 GB storage |
| Heavy | 4+ GB RAM dedicated | 50+ GB storage |
Managed vs self-hosted: For production, use managed PostgreSQL (Neon, Supabase, AWS RDS, DigitalOcean).
Recommended VPS providers
Based on price/performance for n8n:
Budget-friendly
| Provider | Instance | Specs | Monthly |
|---|---|---|---|
| Hetzner | CAX11 | 2 ARM vCPU, 4 GB RAM | €4.51 |
| Hetzner | CAX21 | 4 ARM vCPU, 8 GB RAM | €8.21 |
| Netcup | VPS 1000 | 4 vCPU, 4 GB RAM | €8.50 |
Mid-range
| Provider | Instance | Specs | Monthly |
|---|---|---|---|
| DigitalOcean | Basic | 2 vCPU, 4 GB RAM | $24 |
| Vultr | Cloud | 2 vCPU, 4 GB RAM | $24 |
| Linode | Shared | 2 vCPU, 4 GB RAM | $24 |
My recommendation: Start with Hetzner CAX21 (€8.21/mo). You get €20 free credit with that link.
Quick start recommendation
For most teams starting with self-hosted n8n:
Setup:
- Hetzner CAX21 (4 ARM vCPU, 8 GB RAM) - €8.21/mo + €20 free credit
- PostgreSQL via Neon free tier
- Caddy for automatic SSL
- Docker deployment
Total cost: Under $10/month to start
Three live calls a week. Bring your hardest build.
Every week we get on three 30-minute calls to work through real Claude Code builds, live. Bring the thing you're stuck on. Can't make it? Every call is recorded, so nothing's lost.
Free to join. Real people. No spam.
Related Posts

Claude Fable 5 lasted three days: why the US government pulled Anthropic's most powerful model
Anthropic's first public Mythos-class model launched June 9, then a US export-control order pulled it offline three days later. A clear look at what Claude Fable 5 does, what it costs vs Opus 4.8, why it was suspended, and what comes next.

How to install Open Design with Claude Code in 10 minutes
Step-by-step Open Design setup driven by Claude Code. Node 24, Corepack, pnpm, the daemon, first generation, plus troubleshooting for the #1 install issue: PATH-based CLI detection failures.

Claude Opus 4.8 and dynamic workflows: what actually shipped
Claude Opus 4.8 brings dynamic workflows to Claude Code and a model that flags its own mistakes. What actually changed, the latest Claude Code version, and what it means for n8n users.
