Comment installer n8n et l’auto-héberger sur un VPS Ubuntu

n8n est un outil d’automatisation du workflow qui permet une intégration transparente entre diverses applications et API. La possibilité de l’auto-héberger sur un VPS Ubuntu offre une meilleure confidentialité des données, des options de personnalisation et des économies par rapport aux solutions gérées.
Ce guide couvre deux méthodes d’installation : l’installation facile en un clic d’Hostinger et l’installation manuelle pour les utilisateurs qui préfèrent avoir le contrôle. À la fin de ce tutoriel, vous disposerez d’une instance n8n entièrement fonctionnelle sur votre VPS, prête à automatiser les workflows.
Sommaire
Conditions préalables
Avant d’installer n8n, assurez-vous que votre environnement d’hébergement répond aux exigences suivantes :
- Serveur privé virtuel Ubuntu (VPS)
Minimum : 1 vCPU, 1GB RAM (KVM1)
Recommandé : 2 vCPU, 2GB RAM (KVM2)
Si vous n’en avez pas encore, Hostinger propose une série d’options VPS, y compris l’hébergement VPS n8n.
- Nom de domaine/sous-domaine : Facultatif, mais recommandé pour mettre en place HTTPS et faciliter l’accès.
- Accès à votre VPS : Vous devrez vous connecter à votre VPS soit par SSH (root requis), soit en utilisant un tableau de bord d’hébergement (comme hPanel).
- Docker : Si vous suivez l’approche manuelle, assurez-vous que Docker est installé sur votre VPS (ce n’est pas nécessaire pour le template).

Comment installer n8n en utilisant le template VPS de Hostinger
Commençons par la méthode la plus simple : utiliser le template n8n en un clic de Hostinger. Cette méthode automatise la configuration du serveur Ubuntu et installe n8n et ses dépendances.
1. Accéder au tableau de bord du VPS
Tout d’abord, vous devez accéder au tableau de bord de votre VPS.
- Allez sur hPanel et connectez-vous en utilisant votre méthode préférée.
- Une fois que vous êtes connecté, naviguez vers la section VPS dans le menu de droite.
- Choisissez le VPS auquel vous souhaitez appliquer le template n8n et cliquez sur le bouton Gérer à côté.

2. Installer le template n8n
- Une fois dans le tableau de bord VPS, ouvrez le menu déroulant OS & Panel sur la gauche et sélectionnez Système d’exploitation.

C’est ici que vous trouverez les systèmes d’exploitation et leurs templates disponibles pour votre serveur VPS.
- Dans la section Changer l’OS, tapez n8n dans la barre de recherche et sélectionnez le template n8n.
- Dans la fenêtre de dialogue qui s’ouvre, cliquez ou tapez sur Changer le système d’exploitation
- Vous verrez une fenêtre de dialogue vous informant que le système d’exploitation de votre VPS sera écrasé et que tous les fichiers seront supprimés. Cochez la case “Je comprends que tous mes fichiers seront supprimés et ne pourront pas être restaurés.” et cliquez sur Suivant.
- Saisissez un mot de passe pour l’utilisateur root et cliquez sur Confirmer.

La configuration du template commence. Vous verrez une barre de progression en haut de votre tableau de bord, comme dans l’exemple ci-dessous :

Après une courte attente, votre instance n8n sera prête à être utilisée.
3. Tester l’installation
Avec n8n installé sur votre VPS, vous devriez être en mesure de vous connecter et de confirmer qu’il fonctionne.
- Dans la page Aperçu général, cliquez sur Gérer l’application.

- Cela ouvrira la fenêtre de dialogue n8n pour l’enregistrement, qui devrait ressembler à l’exemple ci-dessous :

- Il vous suffit de saisir vos coordonnées et de créer un mot de passe conformément aux spécifications indiquées. Cliquez sur le bouton Next, puis cliquez sur les fenêtres contextuelles supplémentaires, en les laissant vides pour l’instant. Cela devrait vous amener à la page Overview de n8n :

- Si vous pouvez voir le panneau n8n dans sa vue par défaut comme ceci, votre installation a réussi !
4. Configurer votre instance n8n
Maintenant que votre instance n8n est opérationnelle, nous allons peaufiner ses paramètres de sécurité et de personnalisation.
- Cliquez ou touchez l’icône à trois points située à côté de votre nom dans le coin inférieur gauche et sélectionnez Settings :

- Sélectionnez Personal dans le menu de gauche :

C’est ici que vous pouvez voir et ajuster toutes vos informations d’identification comme le prénom, le nom de famille, l’adresse électronique et le mot de passe.
Vous pouvez également modifier n8n à l’aide de variables d’environnement :
- Connectez-vous à votre VPS via SSH ou via le terminal du navigateur.
- Ouvrez le fichier docker-compose.yml avec nano :
nano ../root/docker compose.yml
- Modifiez la section Environment – ajoutez ou modifiez les variables d’environnement. Par exemple, si vous souhaitez activer l’authentification de base, ajoutez :
- N8N_BASIC_AUTH_ACTIVE=true - N8N_BASIC_AUTH_USER=nomutilisateur - N8N_BASIC_AUTH_PASSWORD="motdepasse"
Remplacez le nom d’utilisateur et le mot de passe ci-dessus par le nom d’utilisateur et le mot de passe réels de votre utilisateur.

Voici quelques autres variables d’environnement couramment utilisées que vous pouvez inclure ou ajuster :
- N8N_HOST – Définissez ce paramètre sur votre domaine si vous en utilisez un.
- N8N_PORT – La valeur par défaut est 5678, mais vous pouvez la modifier si nécessaire.
- N8N_PROTOCOL – Spécifie le protocole que n8n doit utiliser.
- WEBHOOK_URL – Requis si vous utilisez des webhooks avec un domaine.
- GENERIC_TIMEZONE – Fuseau horaire facultatif.
- Sauvegardez et fermez nano en tapant CTRL+ X, puis Y, et ENTREE. Vous pouvez confirmer que vos modifications ont été enregistrées en exécutant la commande :
cat docker compose.yml
Cela renverra l’ensemble du fichier Docker Compose. Vous devriez y voir vos modifications.
- Redémarrez Docker Compose pour appliquer les modifications :
docker compose down docker compose up -d
Après le redémarrage de Docker Compose, vos modifications seront appliquées. n8n utilisera alors les variables d’environnement que vous avez définies.
Si vous utilisez un domaine personnalisé, vous devez également configurer SSL. Pour une connexion HTTPS sécurisée, vous pouvez utiliser Let’s Encrypt avec NGINX comme proxy inverse :
- Installer Certbot et NGINX :
sudo apt install certbot nginx python3-certbot-nginx -y
- Créer/ouvrir le fichier de site NGINX pour n8n :
sudo nano /etc/nginx/sites-available/n8n
- Configurez NGINX comme proxy pour le trafic vers n8n. Ajoutez ce qui suit, en remplaçant votrenomdedomaine.fr ci-dessous par votre propre nom de domaine personnalisé :
server { server_name votrenomdedomaine.fr; location / { proxy_pass http://localhost:5678; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } }
Sauvegarder et fermer le fichier avec CTRL+ X, puis Y et ENTREE.
- Activez la configuration et redémarrez NGINX :
sudo ln -s /etc/nginx/sites-available/n8n /etc/nginx/sites-enabled/ sudo systemctl restart nginx
- Obtenez un certificat SSL pour votre domaine personnalisé (remplacez votrenomdedomaine.fr ci-dessous par votre nom de domaine personnalisé) :
sudo certbot --nginx -d votrenomdedomaine.fr
- Ouvrez la crontab :
sudo certbot renew
Sélectionnez nano si l’on vous demande de choisir l’éditeur.
- Ajoutez la tâche cron suivante :
0 2 * * * certbot renew --quiet --post-hook "systemctl restart nginx"
Les certificats Let’s Encrypt expirent par défaut tous les 90 jours. Avec cette tâche en place, certbot renouvellera votre certificat automatiquement si nécessaire.
- Ouvrez le fichier docker-compose.yml avec nano :
nano ../root/docker compose.yml
- Mettez à jour les variables d’environnement suivantes :
- WEBHOOK_URL=https://votrenomdedomaine.fr/ - N8N_HOST=votrenomdedomaine.fr - N8N_PORT=5678 - N8N_PROTOCOL=https
Sauvegarder et fermer le fichier avec CTRL+ X, puis Y et ENTREE.
- Redémarrer Docker Compose pour exécuter les modifications
docker compose down docker compose up -d
Une fois cette étape franchie, votre instance n8n est accessible en toute sécurité à l’aide de votre nom de domaine personnalisé (par exemple, https://votrenomdedomaine.fr).
Comment installer manuellement n8n sur Ubuntu
Si vous utilisez un fournisseur d’hébergement VPS qui ne propose pas de template n8n en un clic, vous devrez installer n8n manuellement. Voyons étape par étape comment l’installer et le faire fonctionner sur Ubuntu.
1. Installer les dépendances
Avant de configurer n8n manuellement, nous devons installer quelques dépendances essentielles. Commencez par vous connecter à votre VPS via SSH ou une console web. Ensuite, mettez à jour vos listes de paquets et mettez à jour les paquets existants vers leurs dernières versions en exécutant :
sudo apt-get update && sudo apt-get upgrade -y
Cela permet de s’assurer que votre système dispose des derniers correctifs de sécurité et des dernières versions logicielles avant de poursuivre.
Il existe deux méthodes principales pour gérer un n8n auto-hébergé :
- Installation directe
- Installation en conteneur
L’installation en conteneur est préférable dans la plupart des cas, mais nous décrirons brièvement les deux types d’installation.
Installation directe
n8n peut fonctionner directement dans un environnement Node.js. Si vous n’utilisez pas Docker, installez la dernière version du support à long terme (LTS) de Node.js :
- Installez curl et le script d’installation de Node.js :
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
- Installer Node.js et npm :
sudo apt-get install -y nodejs
- Vérifier les installations :
node -v npm -v
Ces commandes renvoient les versions de npm et de Node.js si elles sont installées.
Installation en conteneur
Si vous préférez exécuter n8n dans un conteneur Docker, installez d’abord Docker.
- Installer les dépendances nécessaires :
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
- Ajouter la clé GPG officielle de Docker :
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
- Ajoutez le dépôt Docker et installez Docker :
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update sudo apt-get install -y docker-ce docker-ce-cli containerd.io
- Vérifiez que Docker est installé :
docker --version
Cette commande renverra la version de Docker si elle est installée.
2. Installer n8n
Une fois toutes les dépendances installées, vous pouvez installer n8n.
Installation directe
Si vous avez installé Node.js auparavant, vous pouvez installer n8n globalement à l’aide de npm :
npm install -g n8n
Démarrez une session screen appelée n8n :
screen -S n8n
Exécutez n8n dans la session screen :
n8n
Pour vous détacher de la session screen, tapez CTRL+ A puis D. Si vous voulez vous rattacher pour interagir avec n8n, exécutez :
screen -R n8n
Par défaut, n8n fonctionne sur le port 5678. Vous pouvez désormais y accéder à l’adresse suivante :
http://votre-ip-de-serveur:5678
Il se peut que vous receviez une erreur de cookie sécurisé à ce stade. Nous aborderons la création de certificats SSL dans les étapes suivantes.
Installation en conteneur
Téléchargez la dernière image Docker de n8n :
docker pull n8nio/n8n
Exécuter le conteneur avec le mappage des ports :
docker run -d --name n8n -p 5678:5678 n8nio/n8n
- -d – Exécute le conteneur en arrière-plan.
- –name n8n – Nomme le conteneur n8n.
- -p 5678:5678 – Associe le port 5678 du serveur au port 5678 du conteneur.
Pour accéder à n8n dans votre navigateur, ouvrez :
http://votre-ip-de-serveur:5678
Comme pour les étapes d’installation ci-dessus, il se peut que vous rencontriez une erreur de cookie sécurisé. Reportez-vous à la section sur la création de certificats SSL ci-dessous.
Par défaut, les données contenues dans un conteneur Docker ne sont pas persistantes. Pour vous assurer que vos flux de travail et vos paramètres sont sauvegardés, exécutez n8n avec un volume monté :
docker stop n8n && docker rm n8n #stop and remove previous n8n container docker run -d --name n8n -p 5678:5678 -v ~/.n8n:/home/node/.n8n n8nio/n8n
Cela permet de faire correspondre votre dossier local ~/.n8n au répertoire de données de n8n à l’intérieur du conteneur.
Si le conteneur ne démarre pas, il se peut que vous ne disposiez pas des autorisations nécessaires pour écrire sur le volume. Réclamez les autorisations en exécutant :
sudo chown -R 1000:1000 ~/.n8n sudo chmod -R 755 ~/.n8n
Démarrez ensuite le conteneur :
docker start n8n
3. Configurer n8n
Par défaut, n8n n’impose pas d’authentification, de sorte que quiconque accède à l’IP de votre serveur peut l’utiliser. Pour sécuriser votre instance, définissez les variables d’environnement avant d’exécuter le conteneur.
Avec l’installation directe, vous pouvez utiliser la commande export pour ajouter des variables. Dans l’exemple ci-dessous, veillez à remplacer nom d’utilisateur, mot de passe et votrenomdedomaine.fr par les informations d’identification que vous avez choisies :
export N8N_BASIC_AUTH_ACTIVE=true export N8N_BASIC_AUTH_USER=nomutilisateur export N8N_BASIC_AUTH_PASSWORD=motdepasse export N8N_HOST=votrenomdedomaine.fr export N8N_PORT=5678 export WEBHOOK_URL=https://votrenomdedomaine.fr/ export GENERIC_TIMEZONE=UTC
Lorsque vous exécutez n8n en tant que conteneur Docker (installation conteneurisée), vous pouvez passer ces variables à l’aide de l’option -e (là encore, ajoutez vos propres informations d’identification ci-dessous) :
docker stop n8n && docker rm n8n #stop and remove previous n8n container docker run -d --name n8n \ -p 5678:5678 \ -e N8N_BASIC_AUTH_ACTIVE=true \ -e N8N_BASIC_AUTH_USER=nomutilisateur \ -e N8N_BASIC_AUTH_PASSWORD=motdepasse \ -e N8N_HOST=votrenomdedomaine.fr \ -e N8N_PORT=5678 \ -e WEBHOOK_URL=https://votrenomdedomaine.fr/ \ -e GENERIC_TIMEZONE=UTC \ -v ~/.n8n:/home/node/.n8n \ n8nio/n8n
4. Activer l’accès sécurisé
Pour protéger votre instance n8n et garantir des connexions chiffrées, nous allons mettre en place le protocole SSL (HTTPS) en utilisant Let’s Encrypt et NGINX comme proxy inverse. Ceci est particulièrement important si vous utilisez un nom de domaine personnalisé.
- Installer NGINX et Certbot :
sudo apt update && sudo apt install nginx certbot python3-certbot-nginx -y
- Activer et démarrer NGINX :
sudo systemctl enable nginx sudo systemctl start nginx
- Créez et ouvrez un nouveau fichier de configuration NGINX pour n8n :
sudo nano /etc/nginx/sites-available/n8n
- Ajoutez la configuration suivante, en remplaçant votrenomdedomaine.fr par votre nom de domaine actuel :
server { server_name votrenomdedomaine.fr; location / { proxy_pass http://localhost:5678; # Forward requests to n8n 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; } listen 80; }
Ensuite, enregistrez et quittez en tapant CTRL+ X, puis Y, puis ENTREE.
- Activer la configuration :
sudo ln -s /etc/nginx/sites-available/n8n /etc/nginx/sites-enabled/
- Redémarrer NGINX :
sudo systemctl restart nginx
- Générer un certificat SSL Let’s Encrypt gratuit :
sudo certbot --nginx -d votrenomdedomaine.fr
- Ouvrez crontab :
sudo certbot renew
Sélectionnez nano si l’on vous demande de choisir l’éditeur.
- Ajoutez la tâche cron suivante :
0 2 * * * certbot renew --quiet --post-hook "systemctl restart nginx"
Les certificats Let’s Encrypt expirent par défaut tous les 90 jours. Avec cette tâche en place, Certbot renouvellera votre certificat automatiquement.
Pour confirmer que n8n fonctionne avec HTTPS, ouvrez votre navigateur et entrez votre nom de domaine au format https://votrenomdedomaine.fr. Si vous voyez l’interface n8n sans aucun avertissement SSL, votre installation a réussi et n8n est maintenant prêt à être utilisé !
Conclusion
Félicitations ! Vous avez réussi à installer et à auto-héberger n8n sur votre propre serveur. Que vous ayez utilisé l’installation en un clic d’Hostinger ou installé n8n manuellement, vous disposez désormais d’un puissant outil pour une automatisation du flux de travail à portée de main.
Il est maintenant temps de commencer à créer des workflows et à automatiser des tâches ! Qu’il s’agisse d’intégrations simples ou de processus commerciaux complexes, n8n vous offre la flexibilité de connecter des applications, des API et des bases de données sans avoir à écrire des tonnes de code.
N’oubliez pas les points suivants :
- Assurez la sécurité du n8n : Utilisez l’authentification, activez le protocole HTTPS et limitez l’accès si nécessaire.
- Mettez à jour régulièrement : Restez au courant des derniers n8n et correctifs de sécurité en mettant régulièrement à jour votre installation.
- Sauvegardez vos données : Si vous utilisez Docker, assurez un stockage persistant pour que vos flux de travail et vos informations d’identification soient en sécurité.
Si vous rencontrez des problèmes ou si vous souhaitez explorer des configurations avancées, consultez la documentation n8n ou rejoignez la communauté n8n pour obtenir de l’aide.
Comment installer n8n – FAQ
Pouvez-vous exécuter n8n localement ?
Oui, vous pouvez exécuter n8n localement en l’installant globalement à l’aide de npm avec la commande npm install n8n -g. Après l’installation, démarrez n8n en exécutant n8n ou n8n start.
De quel plan VPS ai-je besoin pour faire fonctionner n8n ?
Un VPS avec 2 vCores et 4 Go de RAM devrait suffire pour démarrer, dans ce cas, le KVM2 de Hostinger sera plus que suffisant.
Comment accéder à n8n après l’avoir installé ?
Après avoir installé n8n localement, vous pouvez accéder à son interface en naviguant vers http://localhost:5678 dans votre navigateur web si vous l’exécutez localement. Si vous êtes auto-hébergé sur un VPS avec un domaine personnalisé, utilisez http://votredomaine.fr:5678, ou https://votredomaine.fr si SSL est configuré.