Dans le monde d’aujourd’hui, l’automatisation est essentielle pour améliorer la productivité, et n8n est un excellent outil d’automatisation de flux de travail open-source qui vous permet de connecter différentes applications et services sans avoir besoin d’écrire du code. L’auto-hébergement de n8n sur un serveur privé virtuel (VPS) est une bonne option pour les développeurs cherchant à contrôler et à personnaliser leurs flux de données. Ce guide couvre les étapes pour installer et configurer n8n en utilisant Docker sur un VPS.
Prérequis
- Choisissez un fournisseur de VPS : Sélectionnez un fournisseur de VPS qui répond à vos besoins. Voici une comparaison de quelques options populaires :
| Fournisseur | Prix (par mois) | RAM | Stockage |
|---|---|---|---|
| Contabo VPS | 5,99 EUR | 4 Go | 200 Go SSD |
| Hetzner Cloud | 5,49 EUR | 4 Go | 40 Go NVMe |
| DigitalOcean | 6 USD | 1 Go | 25 Go SSD |
| Vultr | 5 USD | 1 Go | 25 Go SSD |
| Linode (Akamai) | 5 USD | 2 Go | 50 Go SSD |
-
Installer Docker : Assurez-vous que Docker et Docker Compose sont installés sur votre VPS. S’ils ne sont pas installés, vous pouvez suivre le guide d’installation officiel de Docker.
-
Sécurisez votre serveur : Une configuration de pare-feu de base avec
ufw(Uncomplicated Firewall) est recommandée. Cela doit inclure l’autorisation de SSH et des ports nécessaires pour n8n.
Étape 1 : Configurer Docker
Après vous être connecté à votre VPS via SSH, vérifiez que Docker est installé en exécutant :
docker --version
Si Docker n’est pas installé, vous pouvez l’installer avec :
sudo apt update
sudo apt install docker.io docker-compose-v2
Activez et démarrez Docker :
sudo systemctl enable docker
sudo systemctl start docker
Étape 2 : Créer un répertoire n8n
Créez un répertoire pour n8n et naviguez-y :
mkdir ~/n8n
cd ~/n8n
Étape 3 : Créer le fichier Docker Compose
Créez un nouveau fichier docker-compose.yml avec votre éditeur de texte préféré :
nano docker-compose.yml
Ajoutez la configuration suivante :
version: '3'
services:
n8n:
image: n8nio/n8n
environment:
- N8N_API_BASIC_AUTH_ACTIVE=true
- N8N_API_BASIC_AUTH_USER=user
- N8N_API_BASIC_AUTH_PASSWORD=your_password
- N8N_HOST=your_domain_or_ip
- N8N_PORT=5678
- N8N_PROTOCOL=https
- N8N_SSL_CERT=your_ssl_cert_path
- N8N_SSL_KEY=your_ssl_key_path
volumes:
- ~/.n8n:/home/node/.n8n
ports:
- "5678:5678"
restart: always
Remplacez your_domain_or_ip, your_ssl_cert_path, et your_ssl_key_path par vos informations. Vous pouvez utiliser Let’s Encrypt pour SSL (plus d’infos à ce sujet plus tard).
Étape 4 : Exécuter n8n
Démarrez n8n en utilisant Docker Compose :
docker compose up -d
Vérifiez que n8n fonctionne en vérifiant si le conteneur est actif :
docker ps
Étape 5 : Accéder à n8n
Vous pouvez accéder à votre instance n8n en utilisant l’adresse IP de votre VPS ou le nom de domaine :
http://your_domain_or_ip:5678
Connectez-vous avec les identifiants que vous avez spécifiés dans le docker-compose.yml.
Étape 6 : Configurer SSL (Optionnel mais Recommandé)
Pour une sécurité renforcée, il est recommandé de configurer SSL. Vous pouvez utiliser Let’s Encrypt :
-
Installer Certbot :
sudo apt install certbot -
Obtenir des certificats :
sudo certbot certonly --standalone -d your_domain.com -
Mettre à jour le fichier
docker-compose.ymlpour inclure les bons chemins de certificat SSL comme indiqué dans l’étape 3.
Après la mise à jour, redémarrez les services n8n :
docker compose down
docker compose up -d
Déployer n8n avec Coolify
Les étapes ci-dessus vous laissent la charge du fichier Compose. Coolify, un PaaS open source auto-hébergé, propose n8n dans son catalogue de services et prend en charge le reverse proxy, le certificat TLS et le redémarrage des conteneurs.
Installez-le sur un VPS vierge :
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | sudo bash
Le tableau de bord écoute sur le port 8000. De là, Add New Resource → Service → n8n déploie le modèle Coolify, qui sur la branche v4.x lance n8nio/n8n:2.10.2 aux côtés d’un conteneur task-runners distinct chargé d’exécuter les nœuds Code en bac à sable. Faites pointer un sous-domaine vers le serveur et renseignez-y SERVICE_FQDN_N8N : Coolify en déduit WEBHOOK_URL et N8N_EDITOR_BASE_URL, et les webhooks échouent sans message d’erreur si cette valeur est incorrecte.
Deux points à peser avant de choisir cette voie :
- Le modèle stocke les workflows dans SQLite, pas dans PostgreSQL. Il définit
DB_SQLITE_POOL_SIZEau lieu d’ajouter un conteneur de base de données : cela suffit pour une instance unique, mais mieux vaut le changer avant d’y faire passer de nombreuses exécutions simultanées. - Coolify réclame à lui seul 2 cœurs, 2 Go de RAM et 30 Go de disque avant même que n8n ne démarre. Les offres à 4 Go du tableau ci-dessus l’absorbent sans peine ; un VPS de 2 Go qui fait tourner n8n en Docker simple n’y suffira pas.
Les sauvegardes restent à votre charge dans les deux cas. Coolify gère le conteneur, pas le contenu de votre volume ~/.n8n.
FAQ
1. Quels sont les avantages de l’auto-hébergement de n8n par rapport à l’utilisation de la version cloud ?
L’auto-hébergement de n8n offre de nombreux avantages, notamment un contrôle total sur les données, des fonctionnalités personnalisables selon des besoins spécifiques, et des possibilités d’automatisation plus flexibles en connectant d’autres services auto-hébergés. Vous pouvez garantir que les données sensibles restent privées et respecter les réglementations sur la protection des données, car vous dictez comment et où les données sont traitées. En fin de compte, l’auto-hébergement permet également d’expérimenter davantage d’intégrations sans limites d’utilisation potentielles généralement imposées sur les versions cloud.
2. Puis-je exécuter n8n sur un VPS de bas niveau ?
Oui, n8n peut fonctionner sur un VPS de bas niveau, mais les performances peuvent varier en fonction de la complexité des flux de travail que vous envisagez de réaliser. Pour des automatisations simples, des options comme Hetzner Cloud ou DigitalOcean avec au moins 1-2 Go de RAM devraient suffire. Cependant, pour des flux de travail plus lourds nécessitant le stockage de plus grands ensembles de données ou l’exécution de nombreuses exécutions simultanées, vous pourriez avoir besoin d’une configuration de VPS plus robuste, possiblement avec plus de RAM et de CPU.
3. Comment sauvegarder les configurations et les données de n8n ?
La sauvegarde des configurations et des données de n8n est essentielle pour assurer la continuité de vos flux de travail. Étant donné que n8n stocke ses données dans le volume que vous avez monté (comme spécifié dans le docker-compose.yml), vous devez régulièrement sauvegarder le répertoire ~/.n8n. Cela peut être réalisé en le copiant dans un autre emplacement, programmé via des tâches cron, ou en utilisant des services de sauvegarde. Automatiser les sauvegardes de ce répertoire vers un stockage cloud ou un autre serveur physique aide à minimiser la perte de données et à maintenir la résilience du système.
En suivant ce guide complet, vous serez bien préparé pour auto-héberger n8n sur votre VPS, exploitant son potentiel pour automatiser efficacement vos flux de travail. Pour des comparaisons des meilleurs fournisseurs de VPS, visitez notre comparaison complète de VPS. Bon auto-hébergement !