BOVO Digital
BOVO Digital
Tutoriels9 min de lecture

n8n Docker : Guide Complet d'Installation et Configuration (2026)

Installer n8n avec Docker est la façon la plus rapide de déployer votre propre instance d'automatisation. Ce guide pas-à-pas couvre Docker, Docker Compose, HTTPS et les variables d'environnement essentielles.

William Aklamavo

William Aklamavo

8 avril 2026

n8n Docker : Guide Complet d'Installation et Configuration (2026)

n8n Docker : Guide Complet d'Installation et Configuration (2026)

n8n Docker est la méthode de déploiement préférée des équipes qui veulent garder le contrôle total de leurs données. En 15 minutes, vous pouvez avoir votre propre instance n8n prête à automatiser vos processus métier — sans payer l'abonnement cloud.

Ce guide couvre l'installation complète avec Docker Compose, la configuration HTTPS, et les bonnes pratiques de sécurité pour 2026.

Pourquoi installer n8n avec Docker ?

Avant de commencer, voyons pourquoi Docker est le choix privilégié pour déployer n8n :

  • Isolation complète : n8n tourne dans son propre conteneur, sans conflit avec votre système
  • Mise à jour en une commande : docker pull n8nio/n8n:latest
  • Données persistantes : Les volumes Docker conservent vos workflows même après redémarrage
  • Reproductible : Le même docker-compose.yml fonctionne sur n'importe quel serveur
  • Gratuit : L'édition Community de n8n est open source et sans limite de workflows

Prérequis

Avant de commencer, assurez-vous d'avoir :

  • Un VPS Linux (Ubuntu 22.04 recommandé) avec au minimum 1 Go de RAM
  • Docker Engine 24.x ou supérieur
  • Docker Compose V2
  • Un nom de domaine pointé sur votre serveur (pour HTTPS)

Pour vérifier vos versions :

docker --version
docker compose version

Installation de n8n avec Docker Compose

Étape 1 : Créer la structure de dossiers

mkdir -p ~/n8n/data
cd ~/n8n

Étape 2 : Créer le fichier docker-compose.yml

version: '3.8'

services:
  n8n:
    image: n8nio/n8n:latest
    container_name: n8n
    restart: unless-stopped
    ports:
      - "5678:5678"
    environment:
      - N8N_HOST=n8n.votre-domaine.com
      - N8N_PORT=5678
      - N8N_PROTOCOL=https
      - WEBHOOK_URL=https://n8n.votre-domaine.com/
      - GENERIC_TIMEZONE=Europe/Paris
      - N8N_BASIC_AUTH_ACTIVE=true
      - N8N_BASIC_AUTH_USER=admin
      - N8N_BASIC_AUTH_PASSWORD=votre-mot-de-passe-fort
      - DB_TYPE=postgresdb
      - DB_POSTGRESDB_HOST=postgres
      - DB_POSTGRESDB_PORT=5432
      - DB_POSTGRESDB_DATABASE=n8n
      - DB_POSTGRESDB_USER=n8n_user
      - DB_POSTGRESDB_PASSWORD=votre-password-db
    volumes:
      - ./data:/home/node/.n8n
    depends_on:
      - postgres

  postgres:
    image: postgres:16-alpine
    container_name: n8n_postgres
    restart: unless-stopped
    environment:
      - POSTGRES_DB=n8n
      - POSTGRES_USER=n8n_user
      - POSTGRES_PASSWORD=votre-password-db
    volumes:
      - postgres_data:/var/lib/postgresql/data

volumes:
  postgres_data:

Étape 3 : Lancer n8n

docker compose up -d

Vérifiez que les conteneurs tournent :

docker compose ps
docker compose logs n8n

Configuration HTTPS avec Nginx

Pour exposer n8n en HTTPS, configurez Nginx comme reverse proxy :

server {
    listen 443 ssl;
    server_name n8n.votre-domaine.com;

    ssl_certificate /etc/letsencrypt/live/n8n.votre-domaine.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/n8n.votre-domaine.com/privkey.pem;

    location / {
        proxy_pass http://localhost:5678;
        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_buffering off;

        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}

Obtenez votre certificat SSL avec Certbot :

certbot --nginx -d n8n.votre-domaine.com

Variables d'environnement essentielles

VariableDescriptionExemple
N8N_HOSTDomaine de votre instancen8n.mondomaine.com
WEBHOOK_URLURL complète pour les webhookshttps://n8n.mondomaine.com/
GENERIC_TIMEZONEFuseau horaire des exécutionsEurope/Paris
N8N_LOG_LEVELNiveau de logsinfo ou debug
EXECUTIONS_DATA_MAX_AGEDurée de rétention des logs (heures)168 (7 jours)
N8N_ENCRYPTION_KEYClé de chiffrement des credentialsGénérer avec openssl rand -hex 32

Mise à jour de n8n

Pour mettre à jour n8n vers la dernière version :

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

n8n applique automatiquement les migrations de base de données lors du démarrage.

Sauvegardes automatiques

Protégez vos workflows avec une sauvegarde quotidienne :

#!/bin/bash
DATE=$(date +%Y%m%d)
docker exec n8n_postgres pg_dump -U n8n_user n8n > ~/backups/n8n_backup_$DATE.sql
find ~/backups -name "n8n_backup_*.sql" -mtime +30 -delete

Ajoutez ce script en cron :

0 3 * * * /bin/bash ~/backup-n8n.sh

Conclusion

En suivant ce guide, vous avez une instance n8n Docker opérationnelle, sécurisée en HTTPS et sauvegardée automatiquement. Si vous souhaitez construire des agents IA autonomes sur votre instance n8n, consultez notre service d'automatisation n8n & Make.

Étiquettes

#n8n#Docker#Self-hosted#DevOps#Automatisation#VPS
William Aklamavo

William Aklamavo

Expert en développement web et automatisation, passionné par l'innovation technologique et l'entrepreneuriat digital.

Articles similaires