Installation et Guide n8n
n8n (prononcé “n-eight-n”) est un outil d’automatisation de workflow extensible qui permet de connecter des applications, des bases de données et des services via une interface visuelle intuitive. Contrairement à d’autres plateformes iPaas, n8n est “fair-code” et peut être hébergé sur vos propres serveurs.
Méthodes d’Installation
1. Installation sur un serveur Debian
Cette méthode nécessite un serveur avec Debian (11 ou 12 recommandés).
Prérequis
Installation de Node.js (version 18.x ou 20.x recommandée).
# Mettre à jour les paquetssudo apt update && sudo apt upgrade -y
# Installer curl si nécessairesudo apt install curl -y
# Ajouter le repo NodeSource pour Node.js 20curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
# Installer Node.js et les outils de compilationsudo apt install -y nodejs build-essentialInstaller n8n
Une fois Node.js installé, vous pouvez installer n8n globalement via npm :
sudo npm install n8n -gDémarrer n8n
Pour tester l’installation :
n8n startPour une utilisation en production, il est recommandé d’utiliser un gestionnaire de processus comme PM2 :
# Installer PM2sudo npm install pm2 -g
# Démarrer n8n avec PM2pm2 start n8n
# Configurer le lancement au démarragepm2 startuppm2 save2. Installation via Docker
C’est souvent la méthode la plus simple et la plus propre pour tester ou déployer n8n.
Commande rapide
Pour lancer n8n directement (les données seront perdues à l’arrêt du conteneur si pas de volume) :
docker run -it --rm \ --name n8n \ -p 5678:5678 \ -v ~/.n8n:/home/node/.n8n \ docker.n8n.io/n8nio/n8nAvec Docker Compose (Recommandé)
Créez un fichier docker-compose.yml :
version: '3.8'
volumes: n8n_storage:
services: n8n: image: docker.n8n.io/n8nio/n8n restart: always ports: - '5678:5678' environment: - N8N_HOST=mon-domaine.com - N8N_PORT=5678 - N8N_PROTOCOL=https - NODE_ENV=production - WEBHOOK_URL=https://mon-domaine.com/ - GENERIC_TIMEZONE=Europe/Paris volumes: - n8n_storage:/home/node/.n8nLancer le conteneur :
docker-compose up -d3. Installation sur Kubernetes
Pour Kubernetes, la méthode recommandée est d’utiliser le chart Helm officiel.
Ajouter le repo Helm
helm repo add n8n https://carlos-wieland.github.io/n8n-charts# Ou utiliser le repo communautaire si besoin, vérifiez toujours la source officielleNote : À date, n8n ne maintient pas de chart Helm “officiel” strict mais recommande des configurations standards. Voici un exemple de déploiement basique via un fichier YAML.
Créez un fichier n8n-deployment.yaml :
apiVersion: apps/v1kind: Deploymentmetadata: name: n8n labels: app: n8nspec: replicas: 1 selector: matchLabels: app: n8n template: metadata: labels: app: n8n spec: containers: - name: n8n image: docker.n8n.io/n8nio/n8n ports: - containerPort: 5678 env: - name: N8N_HOST value: 'n8n.cluster.local' - name: WEBHOOK_URL value: 'https://n8n.example.com/' volumeMounts: - name: storage mountPath: /home/node/.n8n volumes: - name: storage persistentVolumeClaim: claimName: n8n-pvc---apiVersion: v1kind: Servicemetadata: name: n8nspec: selector: app: n8n ports: - protocol: TCP port: 80 targetPort: 5678Appliquer la configuration :
kubectl apply -f n8n-deployment.yaml# (Assurez-vous d'avoir créé le PVC et l'Ingress correspondant)Configuration
La configuration de n8n se fait principalement via des variables d’environnement. Voici les plus importantes :
| Variable | Description |
|---|---|
N8N_ basic_AUTH_ACTIVE | Activer l’authentification basique (true/false). |
N8N_BASIC_AUTH_USER | Nom d’utilisateur pour l’auth basique. |
N8N_BASIC_AUTH_PASSWORD | Mot de passe pour l’auth basique. |
WEBHOOK_URL | L’URL publique de votre instance. Crucial pour les webhooks. |
DB_TYPE | Type de base de données (sqlite par défaut, postgresdb, mariadb, mysqldb). |
EXECUTIONS_PROCESS | Mode d’exécution (main ou own). own est recommandé pour la stabilité. |
Si vous utilisez PostgreSQL (recommandé pour la production) :
export DB_TYPE=postgresdbexport DB_POSTGRESDB_DATABASE=n8nexport DB_POSTGRESDB_HOST=localhostexport DB_POSTGRESDB_PORT=5432export DB_POSTGRESDB_USER=n8nexport DB_POSTGRESDB_PASSWORD=motdepassePrise en main rapide
Une fois n8n installé et démarré, ouvrez votre navigateur sur http://localhost:5678 (ou votre domaine).
1. Créer un compte propriétaire
Lors du premier lancement, vous devrez configurer le compte administrateur (email et mot de passe).
2. Votre premier Workflow : “Hello World” Cron
Objectif : Écrire “Bonjour” dans la console toutes les minutes.
- Cliquez sur “Add workflow” en haut à droite.
- Cliquez sur le bouton + (Add Node).
- Recherchez Schedule (ou Cron). Sélectionnez le trigger “Schedule”.
- Laissez la configuration par défaut (Interval: 1 minute).
- Cliquez sur le petit + à droite du nœud Schedule pour ajouter un nœud suivant.
- Recherchez Code (anciennement Function).
- Dans le code JavaScript, mettez :
console.log('Bonjour le monde !');return items;
- Dans le code JavaScript, mettez :
- Cliquez sur Execute Workflow en bas pour tester.
- Activez le workflow en haut à droite (Active).
3. Utiliser un Webhook
C’est la force de n8n : réagir à des événements externes.
- Ajoutez un nœud Webhook.
- Définissez la méthode HTTP (GET ou POST).
- Copiez l’URL de test (
Test URL). - Ouvrez un nouvel onglet et collez l’URL.
- Revenez sur n8n, vous verrez les données de l’appel apparaître instantanément dans l’éditeur.
Prochaines étapes
- Explorez les Templates (menu de gauche) pour voir des exemples complexes.
- Connectez vos services (Google Sheets, Slack, Discord, Email).
- Sécurisez votre instance avec HTTPS (via Reverse Proxy Nginx ou Traefik).