n8n is het soort tool dat je licht begint te gebruiken en dan stilletjes de helft van je operaties doorheen routeert. Op dat punt begint "het draait op iemands cloud-seat, gemeterd per executie, met mijn API-keys op hun servers" minder geweldig te voelen. Zelf-hosten fixt alle drie — vlakke kost, geen executie-limiet, en je keys blijven op een box die je bezit. Met Docker is het een klus van vijftien minuten.
Hoeveel server het werkelijk nodig heeft
Eerlijke cijfers eerst, zodat je niet over- of onderkoopt:
- ~2 GB RAM is de sweet spot — n8n plus zijn Postgres-database plus normale workflows zitten hier comfortabel.
- 1 GB werkt als je workflows licht zijn, maar je merkt het op grotere runs.
- 4 GB als je zware parallelle executies doet of grote payloads doorheen duwt.
n8n is niet CPU-hongerig in rust; het piekt tijdens runs. Een 2-core box is prima voor de meeste setups. (Meer over specs matchen aan workload in de sizing-gids.)
De Docker-setup
Op een verse Ubuntu/Debian-box, installeer Docker:
curl -fsSL https://get.docker.com | sudo sh
Maak een map en een docker-compose.yml — n8n met een persistent volume en Postgres:
services:
n8n:
image: docker.n8n.io/n8nio/n8n
restart: always
ports:
- "127.0.0.1:5678:5678"
environment:
- N8N_HOST=n8n.yourdomain.com
- N8N_PROTOCOL=https
- WEBHOOK_URL=https://n8n.yourdomain.com/
- DB_TYPE=postgresdb
- DB_POSTGRESDB_HOST=db
- DB_POSTGRESDB_PASSWORD=change-me
volumes:
- ./n8n-data:/home/node/.n8n
depends_on: [db]
db:
image: postgres:16
restart: always
environment:
- POSTGRES_PASSWORD=change-me
- POSTGRES_DB=n8n
volumes:
- ./db-data:/var/lib/postgresql/data
sudo docker compose up -d
Twee dingen het waard om aan te wijzen: de volumes (n8n-data, db-data) zijn wat je workflows in leven houden over herstarts en upgrades — sla ze niet over. En n8n is gebonden aan 127.0.0.1, niet 0.0.0.0 — het is niet direct blootgesteld aan het internet. Dat is bewust; de volgende stap handelt toegang veilig af.
Toegang: HTTPS of een tunnel
- Publieke URL (nodig voor OAuth-nodes en webhooks): richt een subdomein op de server en draai een reverse proxy (Caddy is de minste moeite — automatische HTTPS) vóór
127.0.0.1:5678. Dit is waar een dedicated-IP-plan past, omdat je poorten en DNS beheert. - Alleen voor jezelf, geen domein: sla de proxy over en bereik het over een SSH-tunnel —
ssh -L 5678:127.0.0.1:5678 user@server, open danlocalhost:5678. Werkt prima op een NAT-VPS.
Zet het op slot en houd het draaiend
n8n houdt je API-keys en credentials, dus de box moet strak zijn: doe de beveiligingschecklist (SSH-keys, firewall, geen wachtwoord-login) voordat je echte credentials erin zet. restart: always in het compose-bestand betekent al dat Docker n8n terugbrengt na een crash of reboot — dat is je uptime afgehandeld.
Is het de moeite waard?
Wees eerlijk tegen jezelf over volume. Als je constant automatiseringen draait, wint zelf-hosten op kost (vlak vs per-executie) en verwijdert het alle workflow/run-limieten. Als je een paar flows per maand triggert, is een hosted seat minder gedoe. Maar het controle-argument staat ongeacht: je workflows, je data, je keys — op je server, niet gehuurd. Voor de meeste mensen die serieus werden over n8n, is dat de doorslaggevende factor.
Een 2 GB-box, een compose-bestand, een domein (of een tunnel), en je draait je eigen automatiserings-hub — betaalbaar in crypto zonder KYC, live in minuten.
Kant-en-klare setup: zie VPS voor n8n — het aanbevolen plan en een crypto-deploy van één minuut.
Reacties
Nog geen reacties. Wees de eerste.