n8n installeren met Docker: Complete VPS-installatiehandleiding
TUTORIAL 15 min read fordnox

n8n installeren met Docker: Complete VPS-installatiehandleiding

Stapsgewijze handleiding voor het zelf hosten van n8n op een VPS met Docker. Inclusief SSL-configuratie, PostgreSQL-database, automatische back-ups en productieklare configuratie.


n8n installeren met Docker: Complete VPS-installatiehandleiding

Stapsgewijze handleiding voor het zelf hosten van n8n op een VPS met Docker. Voor VPS-aanbevelingen, zie onze beste VPS voor n8n gids. Deze productieklare configuratie bevat SSL-certificaten, PostgreSQL-database, Nginx reverse proxy en automatische back-ups.

Wat je gaat opzetten

Benodigde tijd: 15-20 minuten

Vereisten

Stap 1: Initiële serverconfiguratie

Maak een SSH-verbinding met je VPS:

ssh root@your-server-ip

Werk het systeem bij:

apt update && apt upgrade -y

Stap 2: Docker installeren

# Install Docker
curl -fsSL https://get.docker.com | sh

# Install Docker Compose
apt install docker-compose-plugin -y

# Verify installation
docker --version
docker compose version

Stap 3: Projectstructuur aanmaken

mkdir -p /opt/n8n
cd /opt/n8n

Maak het Docker Compose-bestand aan:

nano docker-compose.yml

Plak het volgende:

version: '3.8'

services:
  n8n:
    image: n8nio/n8n:latest
    restart: always
    ports:
      - "5678:5678"
    environment:
      - N8N_HOST=n8n.yourdomain.com
      - N8N_PORT=5678
      - N8N_PROTOCOL=https
      - NODE_ENV=production
      - WEBHOOK_URL=https://n8n.yourdomain.com/
      - GENERIC_TIMEZONE=Europe/London
      # Database
      - DB_TYPE=postgresdb
      - DB_POSTGRESDB_HOST=postgres
      - DB_POSTGRESDB_PORT=5432
      - DB_POSTGRESDB_DATABASE=n8n
      - DB_POSTGRESDB_USER=n8n
      - DB_POSTGRESDB_PASSWORD=your-secure-password
      # Encryption
      - N8N_ENCRYPTION_KEY=your-32-char-encryption-key
    volumes:
      - n8n_data:/home/node/.n8n
    depends_on:
      - postgres
    networks:
      - n8n-network

  postgres:
    image: postgres:15
    restart: always
    environment:
      - POSTGRES_USER=n8n
      - POSTGRES_PASSWORD=your-secure-password
      - POSTGRES_DB=n8n
    volumes:
      - postgres_data:/var/lib/postgresql/data
    networks:
      - n8n-network
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U n8n"]
      interval: 5s
      timeout: 5s
      retries: 5

volumes:
  n8n_data:
  postgres_data:

networks:
  n8n-network:

Belangrijk: Vervang:

Genereer een encryptiesleutel:

openssl rand -hex 16

Stap 4: Nginx installeren

apt install nginx -y

Maak de Nginx-configuratie aan:

nano /etc/nginx/sites-available/n8n

Plak het volgende:

server {
    listen 80;
    server_name n8n.yourdomain.com;

    location / {
        proxy_pass http://localhost:5678;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_read_timeout 86400;
        proxy_buffering off;
    }
}

Activeer de site:

ln -s /etc/nginx/sites-available/n8n /etc/nginx/sites-enabled/
nginx -t
systemctl reload nginx

Stap 5: SSL instellen met Let’s Encrypt

# Install Certbot
apt install certbot python3-certbot-nginx -y

# Get SSL certificate
certbot --nginx -d n8n.yourdomain.com

Volg de instructies. Certbot configureert Nginx automatisch voor HTTPS.

Stap 6: n8n starten

cd /opt/n8n
docker compose up -d

Controleer of alles draait:

docker compose ps
docker compose logs -f n8n

Ga naar n8n via: https://n8n.yourdomain.com

Stap 7: Firewall configureren

Volg onze VPS-beveiligingsgids voor een volledige beveiligingschecklist. Configureer minimaal:

ufw allow ssh
ufw allow 'Nginx Full'
ufw enable

Stap 8: Automatische back-ups instellen

Maak een back-upscript aan:

nano /opt/n8n/backup.sh

Plak het volgende:

#!/bin/bash
BACKUP_DIR="/opt/n8n/backups"
DATE=$(date +%Y%m%d_%H%M%S)

mkdir -p $BACKUP_DIR

# Backup PostgreSQL
docker compose exec -T postgres pg_dump -U n8n n8n > $BACKUP_DIR/db_$DATE.sql

# Backup n8n data
docker compose exec -T n8n n8n export:workflow --all --output=/home/node/.n8n/backups/workflows_$DATE.json 2>/dev/null || true

# Keep only last 7 days
find $BACKUP_DIR -type f -mtime +7 -delete

echo "Backup completed: $DATE"

Maak het uitvoerbaar en plan het in:

chmod +x /opt/n8n/backup.sh

# Add to crontab (daily at 3 AM)
crontab -e

Voeg toe:

0 3 * * * /opt/n8n/backup.sh >> /var/log/n8n-backup.log 2>&1

Stap 9: Automatisch starten bij boot inschakelen

Docker-containers met restart: always starten automatisch op. Controleer of Docker is ingeschakeld:

systemctl enable docker

n8n bijwerken

Om naar de nieuwste versie bij te werken:

cd /opt/n8n
docker compose pull
docker compose up -d

Probleemoplossing

n8n start niet op

docker compose logs n8n

Controleer op databaseverbindingsfouten of ontbrekende omgevingsvariabelen.

Problemen met SSL-certificaat

certbot renew --dry-run

Databaseverbinding mislukt

Controleer of PostgreSQL correct werkt:

docker compose exec postgres pg_isready -U n8n

Onvoldoende geheugen

Upgrade je VPS of optimaliseer n8n:

# In docker-compose.yml, add under n8n service:
deploy:
  resources:
    limits:
      memory: 2G

Prestatie-optimalisatie

1. Uitvoeringen opschonen

Verwijder automatisch oude uitvoeringen om ruimte te besparen. In de n8n-instellingen:

2. Workers verhogen

Voor zware werklasten:

environment:
  - EXECUTIONS_MODE=queue
  - EXECUTIONS_PROCESS=own

3. Redis gebruiken voor wachtrijmodus

Voeg een Redis-service toe voor workflows met hoog volume:

redis:
  image: redis:alpine
  restart: always
  networks:
    - n8n-network

Aanbevolen VPS-specificaties

WerklastRAMCPUVPS
Licht2GB1 vCPUHostinger KVM 1
Gemiddeld4GB2 vCPUHostinger KVM 2
Zwaar8GB4 vCPUContabo VPS S

Conclusie

Je hebt nu een productieklare n8n-installatie met:

✅ PostgreSQL-database voor betrouwbaarheid ✅ Nginx reverse proxy voor prestaties ✅ SSL-encryptie voor beveiliging ✅ Automatische back-ups voor gemoedsrust ✅ Automatisch herstarten voor 24/7 beschikbaarheid

Je zelf gehoste n8n is klaar voor onbeperkte automatiseringen! Benieuwd hoe n8n zich verhoudt tot betaalde alternatieven? Bekijk onze n8n vs Zapier vergelijking.

~/n8n-docker-setup/get-started

Ready to get started?

Get the best VPS hosting deal today. Hostinger offers 4GB RAM VPS starting at just $4.99/mo.

Get Hostinger VPS — $4.99/mo

// up to 75% off + free domain included

// related topics

n8n docker installatie n8n zelf hosten n8n vps installatie n8n ssl configuratie n8n postgresql

// related guides

Andrius Putna

Andrius Putna

I am Andrius Putna. Geek. Since early 2000 in love tinkering with web technologies. Now AI. Bridging business and technology to drive meaningful impact. Combining expertise in customer experience, technology, and business strategy to deliver valuable insights. Father, open-source contributor, investor, 2xIronman, MBA graduate.

// last updated: February 3, 2026. Disclosure: This article may contain affiliate links.