← Retour à l'accueil

Tutoriel n8n : L'alternative open-source pour contourner les limites de Zapier

Découvrez comment installer n8n sur votre VPS avec Coolify. Automatisez vos tâches gratuitement et sans limite de workflows.

Découvrez comment installer n8n sur votre VPS avec Coolify. Automatisez vos tâches gratuitement et sans limite de workflows.

Quand j’ai découvert n8n pour la première fois, j’étais encore sur le plan gratuit de Zapier. Cinq workflows, 100 tâches par mois… et bam, le quota était atteint en deux jours. La solution était évidente : le self-hosting. Depuis que j’ai déployé n8n sur mon propre VPS avec Coolify, je n’ai plus jamais regardé en arrière.

Zapier et Make : super, mais vite hors de prix

Zapier et Make sont de très bons outils. Mais dès que tu commences à automatiser sérieusement (collecte de leads, synchronisation de bases de données), tu te heurtes à un mur tarifaire.

Ce qui m’a fait bondir :

  • Zapier : le plan gratuit limite à 5 Zaps et 100 tâches par mois. Le plan Professional commence à 29,99 €/mois pour 750 tâches. Pas de logique conditionnelle avancée sans payer.
  • Make : un peu plus généreux avec 1 000 opérations gratuites. Mais dès que tu veux des exécutions rapides ou plus de volume, le plan Core démarre à 9 €/mois, et la facture grimpe vite.

n8n est open-source (source-available). En l’hébergeant toi-même, tu débloques des workflows et des exécutions illimitées, avec une interface visuelle tout aussi claire que celle des concurrents. Tout ça pour le prix de ton VPS, soit quelques euros par mois.

Prérequis

Avant de te lancer, vérifie que tu as :

  • Un VPS sous Debian ou Ubuntu (2 Go de RAM minimum recommandé)
  • Coolify déjà installé et accessible dans ton navigateur
  • Un nom de domaine ou un sous-domaine qui pointe vers l’IP de ton VPS (ex: n8n.tondomaine.fr)
  • Un accès SSH à ton serveur pour dépanner si besoin

Si Coolify n’est pas encore installé, lance cette commande :

curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bash

Déployer n8n sur Coolify

Coolify transforme un déploiement Docker qui prendrait normalement une demi-heure en quelques clics.

Étape 1 : Créer un nouveau service

  1. Dans ton tableau de bord Coolify, clique sur New Resource puis sur Service.
  2. Cherche n8n dans le catalogue. Coolify propose un template officiel.
  3. Sélectionne le template et choisis ton serveur cible.

Étape 2 : Configurer le domaine

Dans le champ Domain, saisis ton sous-domaine :

https://n8n.tondomaine.fr

Coolify configure automatiquement le reverse proxy Traefik et génère le certificat SSL Let’s Encrypt.

Étape 3 : Les variables d’environnement

C’est l’étape décisive. Dans l’onglet Environment Variables de ton service Coolify, ajoute ces variables :

# L'URL publique de ton instance (pour que les webhooks fonctionnent)
N8N_HOST=n8n.tondomaine.fr
N8N_PORT=5678
N8N_PROTOCOL=https
WEBHOOK_URL=https://n8n.tondomaine.fr/

# Compte administrateur initial
N8N_BASIC_AUTH_ACTIVE=true
N8N_BASIC_AUTH_USER=admin
N8N_BASIC_AUTH_PASSWORD=un_mot_de_passe_tres_solide

# Fuseau horaire (important pour les triggers CRON !)
GENERIC_TIMEZONE=Europe/Paris
TZ=Europe/Paris

# Chiffrement des credentials stockés (génère une chaîne aléatoire)
N8N_ENCRYPTION_KEY=ta_cle_secrete_aleatoire_de_32_chars

# Email pour les notifications et la récupération de compte
N8N_EMAIL_MODE=smtp
N8N_SMTP_HOST=smtp.tonprovider.fr
N8N_SMTP_PORT=587
N8N_SMTP_USER=ton@email.fr
N8N_SMTP_PASS=mot_de_passe_smtp
N8N_SMTP_SENDER=n8n@tondomaine.fr
Astuce Sécurité
Ne laisse jamais N8N_ENCRYPTION_KEY vide ou avec une valeur par défaut. Cette clé chiffre tous tes credentials (tokens API, mots de passe) dans la base de données. Si tu la perds ou la changes, tes credentials existants deviendront inutilisables. Génère-la avec la commande : openssl rand -hex 24

Étape 4 : Configurer le volume persistant

Dans l’onglet Storages de Coolify, vérifie qu’un volume est bien monté sur /home/node/.n8n. C’est le dossier où n8n stocke sa base SQLite et tes workflows. Sans ça, tu perds toutes tes données au prochain redémarrage du container.

# Équivalent Docker Compose pour référence
volumes:
  - n8n_data:/home/node/.n8n

Étape 5 : Lancer le déploiement

Clique sur Deploy. Coolify va télécharger l’image n8nio/n8n:latest, appliquer les variables, configurer Traefik et démarrer le container. Ton instance sera en ligne sur https://n8n.tondomaine.fr d’ici une ou deux minutes.

Attention au DNS
La propagation DNS peut prendre du temps. Si ton certificat SSL ne se génère pas tout de suite, patiente quelques minutes et relance le déploiement. Pense aussi à vérifier que les ports 80 et 443 sont ouverts dans le pare-feu de ton VPS (ufw allow 80 && ufw allow 443).

Sécuriser l’accès à ton interface n8n

L’authentification basique (N8N_BASIC_AUTH_ACTIVE) offre une première protection, mais on peut faire plus robuste.

Activer l’authentification native

Sur les versions récentes de n8n, tu peux activer le système d’authentification intégré. Ajoute ceci dans tes variables d’environnement :

N8N_USER_MANAGEMENT_DISABLED=false

Au premier lancement, n8n te demandera de créer un compte propriétaire avec un email et un mot de passe.

Restreindre l’accès par IP

Si tu veux masquer l’interface au public tout en gardant les webhooks fonctionnels, tu peux configurer une règle Traefik via les labels Docker. Une méthode encore plus simple consiste à utiliser Cloudflare Access pour protéger le sous-domaine avec une authentification SSO.

Rappel serveur
N'oublie pas de désactiver la connexion SSH par mot de passe sur ton VPS et d'utiliser uniquement des clés SSH. n8n ne te dispense pas de sécuriser la machine hôte.

Mettre à jour n8n

Avec Coolify, les mises à jour sont triviales. Va dans ton service n8n, remplace le tag latest par une version spécifique (comme 1.45.0) pour contrôler ce que tu installes, puis clique sur Redeploy. Le volume persistant garde tes données intactes.

Gérer la consommation de RAM

n8n et la mémoire
n8n fonctionne sous Node.js et peut consommer pas mal de RAM selon la lourdeur de tes workflows. En temps normal, compte entre 150 et 300 Mo. Mais si tu as des workflows complexes, des traitements de gros fichiers JSON ou des exécutions parallèles, ça grimpe vite à 500 Mo ou 1 Go.
Sur un VPS à 2 Go de RAM partagés avec d'autres apps, garde un œil sur ta consommation avec <code>docker stats</code>. Si n8n ralentit ou subit des OOM kills, il faudra peut-être passer à un VPS de 4 Go ou limiter les exécutions parallèles via la variable <code>EXECUTIONS_PROCESS=main</code>.

Ton premier workflow : RSS vers Discord

Maintenant que tout fonctionne, créons un cas d’usage concret. Ce workflow va surveiller un flux RSS (le blog de Hacker News, par exemple) et envoyer un message Discord pour chaque nouvel article.

Étape 1 : Créer le workflow

Dans l’interface n8n, clique sur New Workflow puis sur Add first step.

Étape 2 : Le déclencheur (Schedule Trigger)

Ajoute un nœud Schedule Trigger configuré pour tourner toutes les 15 minutes. Il vérifiera le flux RSS à intervalle régulier.

Trigger type : Interval
Every : 15
Unit : Minutes

Étape 3 : Lire le flux (RSS Read)

Connecte un nœud RSS Read au déclencheur. Renseigne l’URL du flux :

URL: https://hnrss.org/newest

Étape 4 : Filtrer les doublons (IF)

Pour ne pas spammer ton salon avec d’anciens articles, ajoute un nœud IF qui vérifie si la publication date de moins de 15 minutes :

// Dans le nœud IF, condition :
{{ $json.isoDate }} > {{ $now.minus(15, 'minutes').toISO() }}

Étape 5 : Envoyer la notification (Discord)

Connecte un nœud Discord sur la sortie true du nœud IF. Tu auras besoin de l’URL d’un webhook Discord, que tu peux générer dans les paramètres de ton salon (Intégrations > Webhooks).

Webhook URL: https://discord.com/api/webhooks/TON_ID/TON_TOKEN
Content: Nouvel article : {{ $json.title }}
Lien : {{ $json.link }}

Résultat final

Clique sur Save puis Activate. Ton automatisation tourne maintenant en tâche de fond sur ton serveur, sans aucune limite d’exécution.

Si tu utilises Telegram, il suffit de remplacer le nœud Discord par un nœud Telegram. Renseigne le token de ton bot et l’ID de la conversation. Le principe reste exactement le même.

Idées de workflows
Une fois les bases acquises, tu peux imaginer plein d'autres automatisations :
  • Synchroniser les réponses d'un formulaire vers un Google Sheet et envoyer un email de bienvenue.
  • Surveiller le prix d'un produit et recevoir une alerte quand il baisse.
  • Générer un résumé quotidien de tes nouvelles issues GitHub.
  • Déclencher des actions à chaque nouvelle soumission de formulaire sur ton site web.

L’auto-hébergement te sort des quotas frustrants du SaaS pour te redonner le contrôle de tes données. Voir son premier workflow tourner dans le vide sans jamais afficher l’erreur “quota dépassé” est une satisfaction dont on ne se lasse pas.

Pour aller plus loin