Aller au contenu

Installer n8n en selfhosted dans son homelab

·462 mots·3 mins

Installer n8n avec Docker : mon setup en 10 minutes
#

J’automatise beaucoup de tâches au quotidien. Notifications, synchronisations entre apps, backups. Pendant longtemps, j’ai utilisé Zapier et Make. Ça fonctionne, mais la facture monte vite quand on dépasse les limites gratuites. J’ai donc cherché une alternative self-hosted. C’est comme ça que j’ai découvert n8n.

n8n, c’est un outil d’automatisation open source. Une sorte de Zapier que tu héberges toi-même. L’interface est visuelle, les intégrations sont nombreuses, et surtout, tu gardes le contrôle sur tes données. Reste à l’installer. Docker rend ça ridiculement simple.

Pourquoi Docker
#

J’aurais pu installer n8n directement sur ma machine avec npm. Mais je préfère Docker pour ce genre d’outil. L’environnement est isolé, les mises à jour sont propres, et je peux tout supprimer sans laisser de traces. En plus, si je veux migrer vers un VPS plus tard, je n’ai qu’à copier mon fichier de config.

Si tu n’as pas Docker installé, c’est le moment de le faire. Sur la plupart des distributions Linux, un simple apt install docker.io suffit. Sur Mac ou Windows, Docker Desktop fait le travail.

Lancement rapide avec une seule commande
#

Pour tester n8n sans te prendre la tête, une ligne suffit. Ouvre ton terminal et lance ça :

bash docker run -it –rm –name n8n -p 5678:5678 -v n8n_data:/home/node/.n8n n8nio/n8n

Cette commande télécharge l’image officielle, crée un volume pour persister tes workflows, et expose l’interface sur le port 5678. Tu ouvres ton navigateur sur http://localhost:5678, et c’est parti. L’interface apparaît, tu crées ton compte admin, tu commences à construire tes premiers workflows.

J’apprécie cette simplicité. Pas de dépendances à gérer, pas de Node.js à configurer. Ça juste marche.

Passer à Docker Compose pour du sérieux
#

La commande précédente, c’est bien pour découvrir. Mais si tu veux un setup persistant et facile à maintenir, Docker Compose est plus adapté. Voici le fichier que j’utilise :

yaml services: n8n: image: n8nio/n8n restart: unless-stopped ports: - “5678:5678” volumes: - n8n_data:/home/node/.n8n environment: - N8N_SECURE_COOKIE=false

volumes: n8n_data:

Tu enregistres ça dans un fichier docker-compose.yml, puis tu lances docker compose up -d. Le conteneur tourne en arrière-plan, redémarre automatiquement si ton serveur reboot. Pour les mises à jour, un simple docker compose pull && docker compose up -d fait le travail.

Mes premières impressions
#

Après quelques semaines d’utilisation, je suis convaincu. L’interface de n8n est plus technique que celle de Zapier, mais aussi plus puissante. Tu peux écrire du JavaScript directement dans tes workflows, manipuler des données comme tu veux. La documentation officielle est complète et bien organisée.

La limite principale, c’est toi. Si tu veux exposer n8n sur internet, il faudra configurer un reverse proxy et du HTTPS. Nginx ou Traefik font ça très bien. Mais ça, ce sera pour un prochain article.