Installer n8n sur un raspberry pi, facilement

Ça y est, vous avez décidé de passer à l’automatisation avec n8n et vous avez un Raspberry Pi qui traîne ? Excellente idée. Installer n8n sur un Raspberry Pi, c’est à la fois économique et relativement simple. Voici comment j’ai fait, sans me prendre la tête.

Prérequis

  • Un Raspberry Pi (3B+ ou supérieur recommandé, le 4 est idéal).
  • Raspberry Pi OS installé (la version « Lite » est suffisante).
  • Accès SSH à votre Raspberry Pi.

Rien de bien sorcier, n’est-ce pas ?

Installation de Docker et Docker Compose

n8n tourne comme un charme dans un conteneur Docker. Si vous ne connaissez pas Docker, c’est le moment de vous y mettre, c’est un *must-have* pour tout développeur aujourd’hui. On commence par mettre à jour les paquets :

sudo apt update
sudo apt upgrade

Ensuite, on installe Docker et Docker Compose :

sudo apt install docker.io docker-compose

On vérifie que Docker est bien lancé :

sudo systemctl status docker

Si tout est OK, on passe à l’étape suivante. Personnellement, je trouve plus pratique d’exécuter Docker sans `sudo`, donc j’ajoute mon utilisateur au groupe `docker` :

sudo usermod -aG docker $USER
newgrp docker

**Important :** Vous devrez peut-être vous déconnecter et vous reconnecter pour que les changements soient pris en compte.

Configuration de n8n avec Docker Compose

Maintenant, créons un fichier `docker-compose.yml` pour définir notre service n8n. Créez un dossier pour n8n, par exemple `/home/pi/n8n` et placez-y le fichier :

version: '3.7'
services:
  n8n:
    image: n8nio/n8n
    restart: always
    ports:
      - "5678:5678"
    volumes:
      - ~/.n8n:/home/node/.n8n
    environment:
      - N8N_HOST=${N8N_HOST}
      - N8N_PORT=${N8N_PORT}
      - N8N_PROTOCOL=${N8N_PROTOCOL}
      - NODE_ENV=production
      - WEBHOOK_URL=${N8N_PROTOCOL}://${N8N_HOST}:${N8N_PORT}/
      - GENERIC_TIMEZONE=Europe/Paris

**Quelques explications :**

  • `image: n8nio/n8n` : On utilise l’image officielle n8n.
  • `restart: always` : n8n redémarre automatiquement en cas d’erreur, pratique.
  • `ports: « 5678:5678″` : On expose le port 5678 (par défaut pour n8n). Modifiez-le si nécessaire.
  • `volumes: ~/.n8n:/home/node/.n8n` : **SUPER IMPORTANT.** On mappe le dossier `~/.n8n` sur le Raspberry Pi vers le dossier de configuration de n8n dans le conteneur. C’est là que seront stockées vos workflows et configurations. N’oubliez pas de sauvegarder ce dossier régulièrement !
  • `environment`: Je configure quelques variables d’environnement. Remplacez `N8N_HOST`, `N8N_PORT` et `N8N_PROTOCOL` par les valeurs correspondantes à votre configuration. Personnellement, j’utilise un reverse proxy avec SSL, donc `N8N_PROTOCOL` est `https`. Si vous n’en avez pas, laissez le par défaut à `http`.

On peut aussi utiliser un fichier `.env` dans le même dossier pour gérer les variables d’environnement :

N8N_HOST=n8n.mon-domaine.fr
N8N_PORT=5678
N8N_PROTOCOL=https

Lancement de n8n

Dans le dossier où vous avez créé votre fichier `docker-compose.yml`, lancez la commande :

docker-compose up -d

`-d` permet de lancer n8n en background. Attendez quelques minutes, le temps que l’image soit téléchargée et le conteneur lancé.

Accéder à n8n

Ouvrez votre navigateur et tapez l’adresse de votre Raspberry Pi (ou le nom de domaine si vous avez configuré un reverse proxy) suivi du port 5678 (ou celui que vous avez choisi). Par exemple : `http://mon-raspberrypi:5678` ou `https://n8n.mon-domaine.fr`

Vous devriez voir l’interface de n8n. Créez un compte utilisateur et c’est parti !

Optimisation (Optionnel)

n8n peut être un peu gourmand en ressources. Si votre Raspberry Pi a du mal, vous pouvez activer le swap. Je ne le recommande pas par défaut car cela use la carte SD plus rapidement, mais ça peut dépanner :

sudo dphys-swapfile setup
sudo dphys-swapfile swapon

Conclusion

Voilà, vous avez installé n8n sur votre Raspberry Pi ! C’est un outil puissant pour automatiser vos tâches. J’espère que ce guide vous a été utile. N’hésitez pas à me laisser un commentaire si vous avez des questions ou des remarques.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *