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
8 avril 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.ymlfonctionne 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
| Variable | Description | Exemple |
|---|---|---|
| N8N_HOST | Domaine de votre instance | n8n.mondomaine.com |
| WEBHOOK_URL | URL complète pour les webhooks | https://n8n.mondomaine.com/ |
| GENERIC_TIMEZONE | Fuseau horaire des exécutions | Europe/Paris |
| N8N_LOG_LEVEL | Niveau de logs | info ou debug |
| EXECUTIONS_DATA_MAX_AGE | Durée de rétention des logs (heures) | 168 (7 jours) |
| N8N_ENCRYPTION_KEY | Clé de chiffrement des credentials | Gé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.
