Zelf n8n hosten (gids 2026)
Zelf n8n hosten geeft je het volledige workflow-automatiseringsplatform, zonder uitvoeringslimieten en met volledig eigendom van je data. Deze gids loopt eerlijk door de echte Docker-, Docker Compose- en PostgreSQL-installatie heen, en laat daarna de snelle route van 30 seconden zien als je de serverbeheer liever helemaal overslaat.
Wat betekent “n8n zelf hosten”?
n8n is een source-available workflow-automatiseringstool. Anders dan n8n Cloud, de gehoste SaaS die door het n8n-team wordt gedraaid, betekent zelf hosten dat jij de n8n-applicatie draait op infrastructuur die je beheert. De software zelf is gratis onder een fair-code-licentie, maar de compute, database, opslag en bandbreedte om hem 24/7 draaiend te houden niet. Zelf hosten is de juiste keuze wanneer je geen uitvoeringslimieten wilt, volledige controle over credentials en data, onbeperkte workflows, en de mogelijkheid om community-nodes en eigen code te gebruiken zonder dat een SaaS-laag ze afschermt.
n8n-systeemeisen
n8n is licht om te starten, maar schaalt mee met hoe zwaar je workflows zijn. Een realistische basis:
- CPU: 1 vCPU is prima voor licht gebruik; 2+ vCPU voor veel gelijktijdige uitvoeringen.
- RAM: 1–2GB voor n8n. Workflows die grote payloads verwerken (bestanden, afbeeldingen, grote JSON) hebben meer nodig.
- Database: PostgreSQL wordt sterk aanbevolen voor productie. De standaard SQLite werkt voor testen, maar gaat niet goed om met gelijktijdigheid en is lastiger veilig te back-uppen.
- Opslag: Enkele GB is genoeg om te starten; uitvoeringsgeschiedenis en binaire data groeien in de loop van de tijd.
- Netwerk: Een openbaar HTTPS-eindpunt (poort 443) zodat inkomende webhooks en OAuth-callbacks werken.
Voor een diepere uitsplitsing per abonnementsgrootte, zie onze Gids met de eisen voor de n8n-server.
Optie 1: deploy n8n met Docker
De snelste manier om n8n op je eigen machine of VPS te draaien is de officiële Docker-image. Dit is geweldig voor een lokale proef, maar let op: het gebruikt SQLite en heeft geen TLS, dus dat wil je niet in productie:
docker volume create n8n_data
docker run -it --rm \
--name n8n \
-p 5678:5678 \
-v n8n_data:/home/node/.n8n \
docker.n8n.io/n8nio/n8nOpen http://localhost:5678, maak het eigenaarsaccount aan, en je hebt een werkende n8n. Voor alles wat echt is, ga je over naar Docker Compose met PostgreSQL.
Optie 2: Docker Compose met PostgreSQL
Een productieopzet koppelt n8n aan een dedicated PostgreSQL-database, een versleutelingssleutel, en de juiste host- en webhook-URL's. Sla dit op als docker-compose.yml:
services:
postgres:
image: postgres:16
restart: always
environment:
POSTGRES_USER: n8n
POSTGRES_PASSWORD: change-me
POSTGRES_DB: n8n
volumes:
- pgdata:/var/lib/postgresql/data
n8n:
image: docker.n8n.io/n8nio/n8n
restart: always
ports:
- "5678:5678"
environment:
DB_TYPE: postgresdb
DB_POSTGRESDB_HOST: postgres
DB_POSTGRESDB_DATABASE: n8n
DB_POSTGRESDB_USER: n8n
DB_POSTGRESDB_PASSWORD: change-me
N8N_HOST: n8n.example.com
N8N_PROTOCOL: https
WEBHOOK_URL: https://n8n.example.com/
N8N_ENCRYPTION_KEY: a-long-random-string
depends_on:
- postgres
volumes:
- n8ndata:/home/node/.n8n
volumes:
pgdata:
n8ndata:Voer daarna docker compose up -d uit. Een paar dingen zijn belangrijk: stel een sterke N8N_ENCRYPTION_KEY in (die versleutelt je opgeslagen credentials; als je hem kwijtraakt, moet je elke credential opnieuw invoeren), wijs WEBHOOK_URL naar je echte openbare HTTPS-domein, en stel poort 5678 nooit rechtstreeks bloot aan het internet zonder reverse proxy ervoor.
De onderdelen die zelf-hostingtutorials overslaan
n8n laten draaien is het makkelijke deel, de eerste 20%. Het veilig laten draaien is de andere 80%, en daar bijt een kale VPS je:
- TLS-certificaten: Je hebt HTTPS nodig voor webhooks en OAuth. Dat betekent Caddy, Traefik of Nginx plus Let’s Encrypt, en certificaatvernieuwing die niet mag mislukken.
- Webhooks & reverse proxy: Inkomende webhooks vereisen een stabiele openbare URL en correcte proxy-headers, anders breken triggers stilletjes.
- Back-ups: Je workflows, credentials en uitvoeringsgeschiedenis staan in PostgreSQL. Je hebt geautomatiseerde, geteste database-back-ups nodig; een niet-geteste back-up is geen back-up.
- Updates: n8n brengt vaak nieuwe versies uit. Jij bent verantwoordelijk voor het ophalen van nieuwe images, het lezen van notities over breaking changes, en het migreren van de database.
- Uptime: Eén VPS is een single point of failure. Als de host om 2 uur 's nachts herstart, staan je geplande workflows en webhooks stil tot je het merkt.
Of sla dit allemaal over: deploy n8n op Flux in 30 seconden
Als je de voordelen van zelf hosten wilt (geen uitvoeringslimieten, je eigen instantie, volledige dataeigendom) zonder parttime sysadmin te worden, deploy n8n dan op de gedecentraliseerde Flux-cloud. Je krijgt een dedicated instantie met een 3-node high-availability PostgreSQL-cluster, automatische failover, HTTPS, werkende webhooks en DDoS-bescherming, allemaal voor je ingericht.
Veelgestelde vragen
Is self-hosting n8n free?
The n8n software is free to self-host, but the server, database, storage, and bandwidth to run it 24/7 are not. On Flux you rent that server from $6.99/month with n8n preinstalled and an HA PostgreSQL cluster already set up.
Do I need PostgreSQL to self-host n8n?
For testing, n8n’s default SQLite works. For production you should use PostgreSQL — it handles concurrent executions safely and is far easier to back up and restore reliably.
How do I make n8n webhooks work when self-hosting?
Webhooks need a stable public HTTPS URL. Set WEBHOOK_URL and N8N_HOST to your real domain and put a reverse proxy with a valid TLS certificate in front of n8n. On Flux this HTTPS endpoint is provisioned automatically.
Can I migrate my existing workflows?
Yes. n8n workflows are portable JSON — export them from any existing instance and import them into your new one. Credentials are re-entered for security.