Comment installer n8n avec Docker : Guide complet de configuration VPS
TUTORIAL 15 min read fordnox

Comment installer n8n avec Docker : Guide complet de configuration VPS

Guide étape par étape pour auto-héberger n8n sur un VPS avec Docker. Inclut la configuration SSL, la base de données PostgreSQL, les sauvegardes automatiques et une configuration prête pour la production.


Comment installer n8n avec Docker : Guide complet de configuration VPS

Guide étape par étape pour auto-héberger n8n sur un VPS avec Docker. Pour des recommandations de VPS, consultez notre guide meilleur VPS pour n8n. Cette configuration prête pour la production inclut les certificats SSL, la base de données PostgreSQL, le reverse proxy Nginx et les sauvegardes automatiques.

Ce que vous allez configurer

Temps nécessaire : 15-20 minutes

Prérequis

Étape 1 : Configuration initiale du serveur

Connectez-vous en SSH à votre VPS :

ssh root@your-server-ip

Mettez à jour le système :

apt update && apt upgrade -y

Étape 2 : Installer Docker

# 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

Étape 3 : Créer la structure du projet

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

Créez le fichier Docker Compose :

nano docker-compose.yml

Collez :

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:

Important : Remplacez :

Générez une clé de chiffrement :

openssl rand -hex 16

Étape 4 : Installer Nginx

apt install nginx -y

Créez la configuration Nginx :

nano /etc/nginx/sites-available/n8n

Collez :

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;
    }
}

Activez le site :

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

Étape 5 : Configurer SSL avec Let’s Encrypt

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

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

Suivez les instructions. Certbot configurera automatiquement Nginx pour HTTPS.

Étape 6 : Démarrer n8n

cd /opt/n8n
docker compose up -d

Vérifiez qu’il fonctionne :

docker compose ps
docker compose logs -f n8n

Accédez à n8n sur : https://n8n.yourdomain.com

Étape 7 : Configurer le pare-feu

Suivez notre guide de sécurité VPS pour une liste complète de renforcement. Au minimum :

ufw allow ssh
ufw allow 'Nginx Full'
ufw enable

Étape 8 : Configurer les sauvegardes automatiques

Créez le script de sauvegarde :

nano /opt/n8n/backup.sh

Collez :

#!/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"

Rendez-le exécutable et planifiez-le :

chmod +x /opt/n8n/backup.sh

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

Ajoutez :

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

Étape 9 : Activer le démarrage automatique au boot

Les conteneurs Docker avec restart: always redémarreront automatiquement. Vérifiez que Docker est activé :

systemctl enable docker

Mettre à jour n8n

Pour mettre à jour vers la dernière version :

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

Dépannage

n8n ne démarre pas

docker compose logs n8n

Vérifiez les erreurs de connexion à la base de données ou les variables d’environnement manquantes.

Problèmes de certificat SSL

certbot renew --dry-run

Échec de connexion à la base de données

Assurez-vous que PostgreSQL est fonctionnel :

docker compose exec postgres pg_isready -U n8n

Mémoire insuffisante

Mettez à niveau votre VPS ou optimisez n8n :

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

Optimisation des performances

1. Purge des exécutions

Supprimez automatiquement les anciennes exécutions pour économiser de l’espace. Dans les paramètres de n8n :

2. Augmenter les workers

Pour les charges de travail intensives :

environment:
  - EXECUTIONS_MODE=queue
  - EXECUTIONS_PROCESS=own

3. Utiliser Redis pour le mode file d’attente

Ajoutez le service Redis pour les workflows à haut volume :

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

Spécifications VPS recommandées

Charge de travailRAMCPUVPS
Légère2 Go1 vCPUHostinger KVM 1
Moyenne4 Go2 vCPUHostinger KVM 2
Intensive8 Go4 vCPUContabo VPS S

Conclusion

Vous disposez maintenant d’une installation n8n prête pour la production avec :

✅ Base de données PostgreSQL pour la fiabilité ✅ Reverse proxy Nginx pour les performances ✅ Chiffrement SSL pour la sécurité ✅ Sauvegardes automatiques pour la tranquillité d’esprit ✅ Redémarrage automatique pour une disponibilité 24h/24

Votre n8n auto-hébergé est prêt pour des automatisations illimitées ! Vous vous demandez comment n8n se compare aux alternatives payantes ? Consultez notre comparaison n8n vs Zapier.

~/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 configuration docker auto-héberger n8n n8n installation vps n8n configuration ssl 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.