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/n8n

Open 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.

Live binnen 30 secondenGeen Docker-, PostgreSQL- of TLS-configuratie nodig.
HA database includedGerepliceerde Postgres met automatische failover.
From $6.99/monthEerste week gratis, geen lock-in.

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.