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
- ✅ n8n fonctionnant dans Docker
- ✅ Base de données PostgreSQL (prête pour la production)
- ✅ Reverse proxy Nginx
- ✅ SSL avec Let’s Encrypt
- ✅ Sauvegardes automatiques
- ✅ Redémarrage automatique au reboot
Temps nécessaire : 15-20 minutes
Prérequis
- Un VPS avec 2 Go+ de RAM (nous recommandons Hostinger KVM 1)
- Un nom de domaine pointant vers votre serveur
- Connaissances de base du terminal
É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 :
n8n.yourdomain.compar votre domaine réelyour-secure-passwordpar un mot de passe fortyour-32-char-encryption-keypar une chaîne aléatoire de 32+ caractères
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 :
- Paramètres → Paramètres de workflow → Sauvegarder les exécutions en erreur : 30 derniers jours
- Sauvegarder les exécutions réussies : 7 derniers jours
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 travail | RAM | CPU | VPS |
|---|---|---|---|
| Légère | 2 Go | 1 vCPU | Hostinger KVM 1 |
| Moyenne | 4 Go | 2 vCPU | Hostinger KVM 2 |
| Intensive | 8 Go | 4 vCPU | Contabo 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.
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
// related guides
$1 VPS Hosting 2026: Cheapest VPS Servers Starting at $1/Month
Looking for $1 VPS hosting? Compare the cheapest VPS providers starting from $1-3/month. Real specs, no hidden fees, honest reviews of budget VPS options.
tutorialCaddy Reverse Proxy Guide 2026: Automatic HTTPS Made Easy
Set up Caddy as a reverse proxy with automatic HTTPS, zero-config SSL, and simple Caddyfile syntax. Complete VPS deployment guide.
tutorialCloudflare Tunnel VPS Guide 2026: Expose Services Without Opening Ports
Set up Cloudflare Tunnel on your VPS to expose web apps securely without opening ports or revealing your server IP. Complete guide with Docker and DNS config.
tutorialCoolify VPS Setup Guide 2026: Self-Hosted Vercel Alternative
Deploy Coolify on your VPS for a self-hosted Vercel/Netlify experience. Complete setup guide with Docker, SSL, and app deployments.
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.