Self-hosted vs. n8n Cloud: what really changes
The cloud version of n8n limits the number of active workflows, monthly executions, and connections on its lower plans. Self-hosting removes all these limits: as many workflows as you want, as many executions as your VPS can handle. The cost is that of the VPS — predictable and fixed.
What self-hosting brings you
- Unlimited workflows — no artificial restrictions
- Unlimited executions — only your server resources matter
- Data that never leaves your infrastructure
- Access to all integrations, including community nodes
- Customization of the execution environment (variables, secrets, network access)
Prerequisites
A VPS with at least 2 GB of RAM (4 GB recommended for intensive workflows), Docker installed, and a domain name pointing to your server. n8n uses an SQLite database by default — for production, configure PostgreSQL for better performance and reliability.
Installation with Docker
Create the Docker network and volume
Create a dedicated Docker network for n8n and its services. Create a volume to persist data across restarts and updates.
Launch the n8n container
Start n8n with the essential environment variables: N8N_HOST (your domain), N8N_PROTOCOL (https), WEBHOOK_URL (the public URL for incoming webhooks). Mount the data volume.
Configure the reverse proxy
Nginx at the front is essential for HTTPS. Configure a virtual host that proxies to port 5678. Enable WebSocket support (proxy_set_header Upgrade and Connection) — n8n needs it for the real-time interface.
Obtain the SSL certificate
Certbot + Let's Encrypt. The certbot --nginx -d votre-domaine.com command obtains and configures the certificate automatically. Enable automatic renewal.
Set up automatic updates
Use Watchtower to keep n8n up to date automatically, or schedule a cron job for docker pull n8nio/n8n && docker compose up -d. Regular updates are important for security.
n8n can communicate with other services on the same VPS via the internal Docker network. If you also have Dify or Open WebUI on the same server, n8n can call them directly without going over the internet.