Comment avoir son propre n8n pour 4€ par mois ?
Vous le savez si vous me suivez : n8n est un outil d’automatisation puissant que j’affectionne particulièrement. Et pour tirer parti de tous ses avantages, notamment du prix, il s’avère intéressant de l’héberger soi-même sur un serveur.
Cependant, cette tâche peut paraître inatteignable sans avoir de solides compétences en administration de serveur. Pourtant, je peux vous expliquer comment l’héberger vous même assez facilement pour quelques euros par mois. Suivez le guide !
À retrouver dans cet article :
- Comment faire pour monter son propre n8n
- Les points d’attention d’un n8n auto-hébergé
- Aller plus loin avec le mode Queue
- Le mot de la fin
Comment faire pour monter son propre n8n
Avant de commencer ce tutoriel pas à pas, sachez que vous n’avez besoin que d’un seul prérequis : un nom de domaine déjà existant !
En effet, monter un n8n implique de l’héberger à une adresse précise pour y accéder, le plus souvent sur un sous-domaine. Par exemple, si vous avez déjà un domaine “monsite.com”, vous pourrez héberger votre n8n sur le sous-domaine “n8n.monsite.com”.
Si vous êtes en possession d’un nom de domaine, nous allons pouvoir passer au guide qui se décompose en 4 étapes clés :
- Prendre un VPS
- Se connecter au VPS
- Installer Docker
- Installer n8n
Étape 1 : Prendre un VPS
Pour héberger votre n8n, le mieux est de vous prendre un VPS : Virtual Private Server. En français, un VPS est donc un serveur virtuel dans le cloud que vous allez pouvoir louer pour faire tourner une application.
Dans mon cas, j’ai choisi de prendre mon VPS chez OVH, et c’est pour ça que la suite du tutoriel sera dessus. Mais ne vous en faites pas : vous pouvez le prendre autre part, tous les VPS fonctionnent plus ou moins de la même façon.
Comme vous le verrez sur la capture ci-dessous, OVH propose différents types de VPS à différents prix. Cependant, pour la grande majorité des usages, leur premier prix de 3,50€ hors taxes par mois est largement suffisant.
Vous l’aurez sans doute compris : ces 3,50€ (4,20€ TTC) seront les seuls euros que vous aurez à débourser pour monter votre propre n8n !
Le service que vous utiliserez vous demandera ensuite quoi installer sur ce serveur : il ne faudra installer qu’une distribution (un système d’exploitation) : Ubuntu.
Une fois que c’est fait, vous pouvez passer au paiement. Le service va ensuite prendre un peu de temps pour vous livrer votre commande, c’est-à-dire vous envoyer un email avec toutes les informations pour accéder à votre serveur.
Vous allez alors pouvoir noter 3 informations essentielles pour la suite :
- L’adresse IPv4 (au format X.X.X.X)
- Le nom d’utilisateur
- Le mot de passe
La dernière chose à faire avant de passer à la suite est de créer le sous-domaine de votre nom de domaine qui redirigera vers ce serveur.
Pour ce faire, rendez-vous sur votre service d’hébergement du nom de domaine concerné, et dans les réglages de la Zone DNS. Dans cette zone, vous pourrez ajouter un enregistrement de type A pointant de votre sous-domaine à l’adresse IPv4 de votre serveur.
Dans la capture d’exemple ci-dessous, prise encore une fois dans OVH, je crée un sous-domaine “testn8n.monsite.com” pointant sur l’adresse IPv4 de mon serveur.
Étape 2 : Se connecter au VPS
Maintenant que votre VPS est prêt, il va falloir s’y connecter pour pouvoir installer dessus n8n. Pour cela, le plus simple est d’utiliser un logiciel dédié appelé client SSH. À titre personnel, je vous recommande Termius qui est gratuit et très simple d’utilisation.
Dans votre client, vous allez pouvoir ajouter une nouvelle connexion (un “Host”), en utilisant les informations notées précédemment : l’adresse IPv4, le nom d’utilisateur et le mot de passe.
Vous pourrez ensuite vous connecter au serveur (sur Termius en double cliquant dessus) et vous arriverez sur une fenêtre de ce type :
Vous l’aurez sûrement compris : pour communiquer avec notre serveur, nous aurons besoin de lui parler en lignes de commande. Néanmoins, ne vous inquiétez pas : toute la documentation de n8n est très claire et cela ne devrait pas vous créer de problèmes.
Nous avons un VPS et y sommes connectés : nous allons pouvoir passer à la troisième étape !
Étape 3 : Installer Docker
Pour installer n8n en tout confort, nous allons commencer par installer sur notre VPS Docker (et Docker Compose). Docker est une plateforme qui va permettre de faire tourner une application (en l'occurrence n8n) dans un objet appelé conteneur.
Concrètement, cela va permettre d’encapsuler tout n8n dans un conteneur qui sera ensuite isolé et très facile à gérer, par exemple à allumer ou éteindre (notamment lorsque l’on souhaitera mettre à jour n8n).
Docker Compose est pour sa part une syntaxe plus avancée que Docker mais qui va nous aider à encore plus simplement monter notre n8n, mais aussi le mettre à jour à l’avenir.
Pour installer Docker et Docker Compose je vous invite à effectuer les actions 1 et 3 de la documentation d’installation de n8n, qui vous donne les lignes de commande à copier-coller.
Il se peut qu’à certains moments du procédé la console vous demande si vous êtes bien sûr de vouloir continuer, vous n’aurez qu’à répondre oui en écrivant “Y” et en appuyant sur entrée.
Nous y sommes désormais : nous sommes sur le point d’installer n8n !
Étape 4 : Installer n8n
Avant de continuer les étapes de la documentation de n8n, je vous conseille de créer sur votre serveur un petit dossier dédié à contenir tout ce qu’il vous faudra ! Pour cela, on peut commencer par naviguer vers le dossier “home” du serveur en utilisant l’instruction “cd /home”.
Une fois dans le dossier home, on va créer un dossier n8n grâce à l’instruction “sudo mkdir n8n”. On peut alors aller dans ce dossier avec l’instruction “cd n8n”.
Dans ce dossier, nous allons pouvoir réaliser l’étape 5 de la documentation n8n, à savoir créer un fichier “docker-compose.yml”. Ils ne précisent pas comment le faire, alors je vous donne l’instruction : “sudo nano docker-compose.yml”.
Normalement ici, vous n’aurez qu’à remplir le fichier avec le contenu donné par la documentation n8n. Néanmoins, je vais vous donner un conseil supplémentaire : comment paramétrer les données d’exécutions.
En effet, par défaut n8n risque de sauvegarder toutes les données des exécutions passées de vos workflows, et cela risque à la longue d’encombrer votre serveur. Pour éviter cela, quelques variables d’environnement peuvent être ajoutées dans le fichier.
Vous trouverez tout en bas du fichier une section “environment” avec différentes variables. Je vous propose d’y ajouter une variable “EXECUTIONS_DATA_PRUNE=true” qui permet d’autoriser que les exécutions se suppriment au bout d’un moment.
On peut ensuite ajouter deux variables pour préciser au bout de combien d’heures se suppriment les exécutions (“EXECUTIONS_DATA_MAX_AGE=720”) et au bout de combien d’exécutions stockées (“EXECUTIONS_DATA_PRUNE_MAX_COUNT=10000”).
Ici j’indique donc à n8n qu’il doit commencer à supprimer des exécutions passées s’il y en a plus de 10000 ou bien que certaines sont vieilles de 720 heures (30 jours). Cela me permettra de garder le stockage sous contrôle.
Une fois qu’on a fait ça, on peut sauvegarder le fichier en faisant Ctrl+O et entrée, puis le fermer en faisant Ctrl+X.
Vous pouvez ensuite utiliser les mêmes commandes pour l’étape 6 de la documentation : créer un fichier “.env”. Vous aurez à remplacer dans ce fichier votre nom de domaine, votre sous-domaine, votre zone horaire, et enfin un email de contact.
Vous allez ensuite pouvoir suivre les étapes suivantes de la documentation normalement, il s’agit simplement d’instructions à copier et exécuter.
Vous n’aurez plus qu’à accéder à votre adresse n8n via le sous-domaine que vous aurez défini (par exemple “n8n.monsite.com”) et si tout s’est bien passé, vous devriez arriver sur la fenêtre de création de compte de n8n !
Félicitations, vous êtes désormais l’heureux propriétaire d’un n8n auto-hébergé pour quelques euros par mois ! Néanmoins, il est important de noter que cette façon de faire vient avec quelques contraintes.
Les points d’attention d’un n8n auto-hébergé
Le tutoriel pas à pas que nous venons de voir est assez simple à réaliser. Il pourrait même être suivi par quelqu’un n’ayant aucune notion de développement web.
Cependant ne vous y trompez pas : héberger soi-même un outil d’automatisation plutôt que de payer chaque mois pour un logiciel en ligne, cela a des coûts cachés.
Que se passera-t-il si votre serveur tombe et que vous n’avez rien sauvegardé ? Que vous ne savez pas comment le remonter rapidement ? Et que vous avez mis dans les mains de votre n8n beaucoup d’automatisations importantes pour votre entreprise ou votre projet ?
Ces questions m’amènent en général à conseiller aux gens d’auto-héberger n8n seulement s’ils sont dans l’une des situations suivantes :
- Je suis suffisamment à l’aise techniquement pour gérer les éventuels problèmes
- J’ai avec moi quelqu’un de suffisamment à l’aise et qui pourra m’aider
- Je suis à l’aise avec le fait que mon n8n puisse s’arrêter de fonctionner
Une fois qu’on a dit ça, j’ai quand même quelques conseils à vous donner pour que les choses se passent au mieux. Des éléments que j’aurais aimé avoir lorsque j’ai commencé à héberger moi-même n8n !
Sauvegarder son travail dans Github
Si un jour, pour une raison ou une autre, votre serveur tombe, le résultat pourra potentiellement être que tous vos workflows disparaissent. C’est un cas rare, mais dont la conséquence est pour le moins pénible.
Pour éviter ça, je vous conseille d’utiliser un workflow qui sauvegarde tous les soirs tous vos workflows dans un repository Github.
Je vous en parlais dans mon article de présentation de n8n, l’ensemble des workflows sont représentés par un objet JSON : un simple fichier texte. Sauvegarder vos workflows sous ce format ne demandera donc que quelques octets de stockage.
Et cela peut vous éviter bien des désagréments, car si un jour vous devez tout recréer de zéro, copier-coller ces workflows vous prendra très peu de temps.
Pour mettre ça en place, rien de plus simple : le workflow a été entièrement documenté dans la communauté. Il vous suffit de le copier-coller et de créer vos clés d’accès pour les APIs de Github et de n8n.
Être prévenu si n8n tombe
Si jamais votre n8n cesse de fonctionner, le mieux est d’être prévenu directement. Mais on ne peut pas automatiser ça avec un workflow, puisque ce workflow ne fonctionnera pas si n8n est tombé. Alors comment faire ?
Le moyen le plus simple que j’ai trouvé est d’utiliser un script Google Apps Script. C’est gratuit, et cela peut vous permettre de faire tourner un script chaque minute pour savoir si n8n fonctionne bien.
Le concept de ce script est d’utiliser une URL que n8n nous met à disposition : “healthz”. Si l’adresse de votre n8n est “n8n.monsite.com”, cette URL sera “n8n.monsite.com/healthz”.
Si n8n fonctionne bien, cette URL renverra un objet JSON très simple : un paramètre “status” qui indiquera “ok”. Notre script pourra donc aller vérifier cette URL, et nous envoyer par exemple un mail d’alerte si on ne trouve pas d’objet ou que le paramètre n’a pas cette valeur.
Ce script vous intéresse ? Je peux vous l’envoyer avec toute la marche à suivre pour l’installer. Il vous suffit de laisser votre email ci-dessous :
Mettre à jour n8n
Enfin, une dernière bonne habitude à prendre est de mettre régulièrement à jour son n8n. En effet, lorsqu’on héberge soi-même n8n, il ne bénéficie pas des nouvelles fonctionnalités ou connexions si on ne le met pas à jour.
Lorsqu’une nouvelle version sera disponible par rapport à l’actuelle de votre n8n, cela vous sera indiqué dans le coin en bas à gauche de votre interface.
Vous pourrez alors consulter les notes de mise à jour dans lesquelles n8n vous indique si certains des changements peuvent casser des workflows de votre côté, et les changements à opérer de votre côté avant de mettre à jour.
Une fois que vous vous en êtes assuré, si vous avez bien installé n8n via Docker Compose comme dans cet article, le mettre à jour va être un jeu d’enfant. Les commandes suivantes permettront de vous mettre à la version “latest”, la plus récente parmi celles considérées comme stables :
- Allez dans Termius et reconnectez-vous à votre VPS comme dans le tutoriel d’installation
- Rendez-vous dans votre dossier n8n. Si vous l’avez installé dans le dossier home comme je vous le recommandais, la commande est “cd /home/n8n”
- Mettez à jour les fichiers avec la commande “docker compose pull”
- Stoppez votre n8n (il ne sera éteint que quelques secondes) en entrant “docker compose down”
- Enfin, redémarrez-le avec la commande “docker compose up -d”
Aller plus loin avec le mode Queue
Si vous êtes un solopreneur ou une petite structure et que vous êtes à l’aise avec les avertissements que j’ai énoncés plus haut, monter votre n8n en mode classique est largement suffisant. Il aura d’ailleurs très peu de risques de tomber.
Mais très peu de risques ne veut pas dire aucun, et plus on ajoute de workflows dans n8n plus on crée de la dépendance entre n8n et notre activité. Et l’on augmente ainsi le risque que n8n tombe mais aussi la gravité des conséquences que cela peut entraîner.
Si vous vous retrouvez dans cette situation, je ne peux que vous encourager à vous faire accompagner techniquement (sauf si vous êtes suffisamment à l’aise) et à passer dans un n8n en mode Queue.
Le mode Queue de n8n sépare le fonctionnement entre deux serveurs : un serveur web et un worker. Le serveur web vous affiche l’interface visuelle lorsque vous l’utilisez, et surtout s’occupe de décider quand il faut exécuter des workflows.
Le worker lui est responsable d’exécuter les tâches en question. Entre les deux, on a une Queue Redis : une file d’attente des exécutions qui attendent d’être exécutées par le worker.
Pourquoi c’est intéressant ? Parce que l’une des principales raisons qui peut faire tomber un n8n classique, c’est le fait d’avoir trop de requêtes à exécuter en même temps.
Dans le mode Queue, c’est impossible : on définit un nombre maximal d’exécutions que le worker peut prendre en charge en parallèle (5 dans mon schéma d’exemple), et toutes les autres exécutions patientent sagement dans la file d’attente.
La seule chose qui puisse arriver, c’est que la file se charge trop et ne désemplisse pas. Mais si ça arrive, il suffit d’ajouter un ou plusieurs workers supplémentaires qui pourront prendre en charge ce surplus.
Le mot de la fin
Vous l’aurez compris, héberger soi-même n8n est une responsabilité supplémentaire par rapport à le prendre en ligne. Mais en utilisant les bons outils et en évitant certains écueils, cela reste possible pour quiconque est un peu curieux.
Ces écueils, je suis moi-même tombé dedans par le passé. Alors j’ai essayé de rassembler ici tous les conseils que j’aurais aimé avoir lorsque j’ai monté mon premier n8n.
J’aurais pu faire payer cher pour ces connaissances accumulées, mais comme toujours avec mon blog j’essaye d’être dans une démarche d’ouverture et de partage de ce que j’ai appris.
Et si cela vous a plu, il y a d’autres moyens que l’argent de me remercier et de soutenir mon travail. Par exemple, en partageant l’article autour de vous et en vous abonnant à mon blog en laissant votre email ci-dessous :