Experimenting with AI agents: my first automation with n8n [EN/FR]
Hello Hive! A few weeks ago, I was on the phone, I was distracted while looking at my computer and I clicked a little too quickly.
As a result, while I was supposed to order a VPS for LexiStep, I bought a second one. So I hung up with the person I was on the phone with and I asked myself “should I get a refund... or should I try something?”
I thought a lot not really knowing what to do. And in the end, I keep seeing stuff about AI agents, automations, visual workflows... So might as well experiment!
I had been wanting to get into it for a while without taking the time. There, I literally had an empty server reaching out to me. Even if I don’t believe in signs or coincidences, I must admit that from time to time some things happen at just the right time!
⚠️ Disclaimer: I saw in the community rules that posts should be written in English and one additional language. If French is not accepted as the second language, please let me know.
If you don’t know it yet, n8n is a workflow automation tool. That means it lets you automate repetitive and time-consuming tasks by connecting different applications together.
For example, you can connect applications like your email inbox, your social media, your project management tools, your databases, etc.
Then, you create sequences of actions to automate your tasks. For example, you can create a workflow that reads your emails, scores their importance, and with the help of AI creates a condensed summary of all the emails before sending it to you on WhatsApp.
The strong point is that n8n is an open-source software. It’s free if you run it locally.
If you already knew Zapier, it’s “exactly” the same thing. But with the possibility of connecting AIs and being more flexible thanks to code additions.
Let’s go.
1. Update the system
I run the classic commands to install Docker and Docker Composer (if you don’t know what it is, here’s a very interesting article)
sudo apt update && sudo apt upgrade -y
Here, we start by updating the packages. This allows us to start with a clean base and avoid bugs related to outdated versions.
2. Install Docker
sudo apt install -y docker.io
I’m not an expert in Docker. I more or less see how it works, but I’ve never used it so I couldn’t hold a conversation on the topic. That said, n8n needs it to work, so it’s essential!
3. Start and enable Docker
sudo systemctl start docker
sudo systemctl enable docker
start
launches Docker immediately and enable
allows Docker to launch automatically when the server restarts.
Without this, N8N wouldn’t run after a server reboot and you’d have to activate it each time.
These commands won’t return anything to you, that’s normal.
4. Install Docker Compose
sudo apt install -y docker-compose
Docker Compose allows you to manage multiple containers easily via a docker-compose.yml
file.
N8N needs it to run with its database and configuration. Again, I couldn’t hold a long conversation about Docker and haven’t really dug into the subject.
5. Create a folder for N8N
mkdir ~/n8n && cd ~/n8n
We now create a folder dedicated to N8N to place configuration files in (docker-compose.yml
, volume, etc.).
I’m terribly disorganized, but when I start a new project, I like starting clean.
cd
allows you to go into the freshly created folder.
6. Create a docker-compose.yml
file
The docker-compose.yml
file is the heart of the installation. We define:
- the Docker image of N8N,
- the environment variables (port, auth, cookies, etc.),
- the volumes to save data.
I didn’t put my VPS IP, of course.
7. Start N8N
docker-compose up -d
This command reads the docker-compose.yml
file and launches the N8N container(s).
If everything goes well, you can type the URL in your browser: http://<YOUR_VPS_IP> and you should land on the n8n registration page.
8. (If there’s an error) Fix permissions
I never get something working on the first try. I had the ERR_CONNECTION_TIMED_OUT
issue.
By running the command docker-compose logs n8n
I saw it was a permission issue on the .n8n
folder:
sudo chown -R 1000:1000 ~/.n8n
sudo chmod -R 755 ~/.n8n
This command gives access to the correct user (id 1000
= default user on Ubuntu). Otherwise, the container can’t write its files and crashes.
8. (If there’s another error) Fix SSL (HTTPS)
n8n is configured to use “secure” cookies (that means they require HTTPS or localhost). To get HTTPS, I would have to buy a domain name.
Having already spent 100€ on the VPS, I didn’t feel like spending more money for this personal project. A domain name costs between 1€ and 70€/year depending on the extension chosen. So I’m being a bit stingy, but I’ll see later.
For now, I mostly wanted to play around with my new tool and wanted to go quickly.
So I added the last line from this screenshot to my docker-compose.yml file:
And tadaaa, here I am creating my first n8n workflow to help me with the SEO (search engine optimization) reports of one of my sites:
Version Française
Bonjour Hive ! Il y a quelques semaines, j'étais au téléphone, j'étais distrait pendant que je regardais mon ordinateur et j'ai cliqué un peu trop vite.
Résultat, alors que je devais commandé un VPS pour LexiStep, j'en ai acheté un second. J'ai donc raccroché avec la personne que j'avais au bout du fil et je me suis demandé "est-ce que je me fais rembourser... ou est-ce que je tente un truc ?"
J'ai pas mal réfléchi en ne sachant que trop quoi faire. Et finalement, j'arrête pas de voir passer des trucs sur les agents IA, les automatisations, les workflows visuels... Alors autant expérimenter !
Ca faisait un moment que j'avais envie de m'y mettre sans prendre le temps. Là, j'avais littéralement un serveur vide qui me tendais le bras. Même si je ne crois pas aux signes du hasard, je dois bien admettre que de temps en temps il y a des choses qui tombent à pique !
Si vous ne connaissez pas encore, n8n est un outil d'automatisation de flux de travail. C'est-à-dire qu'il vous permet d'automatiser des tâches répétitives et chronophages en connectant différentes applications entre elles.
Par exemple, vous pouvez connecter des applications comme votre boîte e-mail, vos réseaux sociaux, vos outils de gestion de projet, vos bases de données, etc.
Ensuite, vous créez des séquences d'actions, pour automatiser vos tâches. Par exemple, vous pouvez créer un flux de travail qui lit vos e-mails, leur donne un scoring d'importance et, à l'aide de l'iA créé un résumé condensé de tous les emails avant de vous envoyer ce dernier sur WhatsApp.
Le point fort, c'est que n8n est un logiciel open source. Il est gratuit si vous le lancez en local.
Si vous connaissiez déjà Zapier, c'est "exactement" la même chose. Mais avec la possibilité de connecté des IAs et d'être plus flexible grâce à l'ajout de codes.
Je me lance.
1. Mettre à jour le système
Je fais les commandes classiques pour installer Docker et Docker Composer (si vous ne savez ce que c'est, voici un article très intéressant)
sudo apt update && sudo apt upgrade -y
Ici, on commence par mettre à jour les paquets. Cela permet de partir sur une base propre et éviter les bugs liés à des versions obsolètes.
2. Installer Docker
sudo apt install -y docker.io
Je ne suis pas expert en Docker. Je vois plus ou moins comment ça fonctionne, mais je ne l'ai jamais utilisé donc je ne pourrais pas tenir une conversation sur le sujet. Cela dit n8n en a besoin pour fonctionner, donc c'est indispensable !
3. Démarrer et activer Docker
sudo systemctl start docker
sudo systemctl enable docker
start
lance Docker tout de suite et enable
permet à Docker de se lancer automatiquement au redémarrage du serveur.
Sans ça, N8N ne tournerait plus après un reboot du serveur et il faudrait aller l'activer à chaque fois.
Ces commandes ne vont rien vous retourner, c'est normal.
4. Installer Docker Compose
sudo apt install -y docker-compose
Docker Compose permet de gérer plusieurs containers facilement via un fichier docker-compose.yml
.
N8N en a besoin pour tourner avec sa base de données et sa configuration. Encore une fois, je ne pourrais pas tenir une longue conversation sur Docker et je ne me suis pas vraiment penché sur le sujet.
5. Créer un dossier pour N8N
mkdir ~/n8n && cd ~/n8n
On crée maintenant un dossier dédié à N8N pour y mettre les fichiers de configuration (docker-compose.yml
, volume, etc.).
Je manque cruellement d'organisation, mais quand je débute un nouveau projet, j'aime partir sur quelque chose de propre.
cd
permet de vous rendre dans le dossier fraichement créé.
6. Créer un fichier docker-compose.yml
Le fichier docker-compose.yml
est le cœur de l’installation. On y définit :
- l’image Docker de N8N,
- les variables d’environnement (port, auth, cookies, etc.),
- les volumes pour sauvegarder les données.
Je n'ai pas mis l'IP de mon VPS, bien évidemment.
7. Lancer N8N
docker-compose up -d
Cette commande lit le fichier docker-compose.yml
et lance le ou les containers N8N.
Si tout se passe bien, vous pouvez tapez l'URL dans votre navigateur : http://<VOTRE_IP_VPS> et vous devriez arriver sur la page d'inscription de n8n.
8. (En cas d’erreur) Corriger les permissions
Je n'arrive jamais à faire fonctionner quelque chose du premier coup. J'avais le problème ERR_CONNECTION_TIMED_OUT
.
En lançant le commande docker-compose logs n8n
j'ai vu que c'était une histoire de droits sur le dossier .n8n
:
sudo chown -R 1000:1000 ~/.n8n
sudo chmod -R 755 ~/.n8n
Cette commande donne l’accès au bon utilisateur (id 1000
= utilisateur par défaut sur Ubuntu). Sinon, le container n’a pas le droit d’écrire ses fichiers et plante.
8. (En cas d’erreur bis) Corriger le SSL (HTTPS)
n8n est configuré pour utiliser des cookies « secure » (c’est-à-dire qui nécessitent HTTPS ou localhost). Pour avoir le HTTPS, il faudrait que j’achète un nom de domaine.
Ayant déjà dépensé 100€ dans le VPS, je n'avais pas envie de dépenser plus d'argent pour ce projet perso. Un nom de domaine coûte entre 1€ et 70€ / an en fonction de l'extension choisie. Je fais donc un peu la pince, mais on verra plus tard.
Pour le moment, j'avais surtout envie de faire joujou avec mon nouvel outil et je voulais faire au plus vite.
J'ai donc ajouté la dernière ligne de cette capture à mon fichier docker-compose.yml :
Et tadaaa, me voici en train de faire mon premier workflow n8n pour m'aider dans mes rapports SEO (référencement) d'un de mes sites :
The English translation was done using the DeepL API. Images are screenshots from my VPS. One image was generated by AI (the one in the introduction featuring the hooded person). The n8n logo comes from their official website.
Posted Using INLEO