15%

Économisez 15% sur tous les services d'hébergement

Testez vos compétences et obtenez Réduction sur tout plan d'hébergement

Utilisez le code :

Skills
Commencer
03.04.2026

Tutoriel d’automatisation N8N pour Ubuntu – De zéro à flux

Mots-clés

TermeDéfinition rapide
🚀 N8NUne plateforme d’automatisation des workflows visuelle et basée sur des nœuds pour connecter divers services externes.
🐳 DockerUn outil de conteneurisation permettant un déploiement et une gestion cohérents et isolés des applications.
🐘 PostgreSQLUne base de données relationnelle robuste servant de principal magasin de données persistant pour N8N.
🧩 NodeUn bloc fonctionnel unique au sein de N8N (par exemple, un déclencheur de données ou une action API) qui exécute une tâche spécifique.
🔄 WorkflowUn processus automatisé configuré en liant plusieurs nœuds ensemble pour gérer des séquences de tâches.
💾 Docker VolumeUn mécanisme de stockage désigné dans Docker utilisé pour sauvegarder de manière persistante les données système en dehors des conteneurs.
🔐 Environment VariableDes valeurs de configuration sécurisées (conservées dans un fichier .env) injectées en toute sécurité dans les conteneurs Docker.

Pourquoi l’automatisation est importante

Automatisation

Les équipes modernes ne “gèrent pas une seule application” — elles exploitent une chaîne d’outils SaaS, de services internes, de magasins de données et de systèmes de chat/alerte. Le coût de cette complexité se manifeste de manière prévisible :

  • Transferts manuels et travail répétitif (copie/collage entre systèmes)
  • Boucles de réponse lentes (approbations, routage des tickets, notifications d’incidents)
  • Résultats incohérents (erreur humaine, étapes manquées, mises à jour partielles)
  • Intégrations fragiles (scripts ponctuels sans visibilité ni propriété)

L’automatisation est l’un des moyens les plus efficaces de réduire cette friction. Même de petits workflows — synchronisation de données, validation de charges utiles, envoi de notifications, mise à jour de dossiers — peuvent se cumuler en gains significatifs : temps de cycle plus rapide, moins d’erreurs et opérations plus cohérentes. Il est important de noter que “l’automatisation” ne concerne pas seulement la réduction des efforts ; il s’agit également de rendre les processus observables et répétables.

Ce rapport aborde l’automatisation comme une infrastructure de production : déployez-la proprement, contrôlez la configuration, maintenez les données persistantes et vérifiez le comportement avec un workflow de test déterministe.

Qu’est-ce que N8N (et pourquoi cela peut devenir votre meilleur ami)

N8N

N8N est une plateforme d’automatisation des workflows qui vous permet de connecter des services en utilisant un éditeur basé sur des nœuds. Vous construisez des workflows à partir de “nœuds” (déclencheurs, transformations de données, appels API, opérations de base de données, notifications), puis les exécutez manuellement, selon un calendrier ou via des webhooks.

Ce qui rend N8N particulièrement utile dans un contexte de déploiement Linux :

  • Auto-hébergeable : vous pouvez l’exécuter sur votre propre infrastructure pour un contrôle sur les données et le réseau.
  • Intégrations extensibles : de nombreux nœuds intégrés, plus des nœuds HTTP génériques pour tout ce qui a une API.
  • Amical pour l’exploitation : fonctionne bien dans des conteneurs, peut utiliser Postgres pour la persistance et prend en charge la configuration pilotée par l’environnement.
  • Bon pour une adoption incrémentale : commencez par des workflows simples, puis renforcez l’accès (reverse proxy + HTTPS) et les pratiques opérationnelles à mesure que l’utilisation croît.

Dans cette évaluation, N8N est traité comme un service que vous pourriez réellement exécuter : les choix de déploiement et la configuration sont documentés avec un biais vers la clarté, la reproductibilité et le “renforcement futur” (sans sur-ingénierie de la configuration initiale).

Auto-hébergez votre propre instance N8N

Prêt à essayer ? La configuration nécessite quelques étapes techniques, mais ne vous inquiétez pas — suivez ce guide et vous aurez votre première instance N8N opérationnelle en un rien de temps.

Ce tutoriel utilise Ubuntu 22.04, exécuté sur un VPS fourni par AlexHost.

Configuration de Docker

Il existe plusieurs façons de configurer N8N. Pour ce tutoriel, nous utilisons Docker car il fournit une approche claire et fiable pour gérer et configurer N8N.

Tout d’abord, assurez-vous que Docker et Docker Compose sont installés sur votre système.

# Check for docker docker -v # Check for docker compose docker compose

Si cela renvoie une version, vous êtes prêt.

Si vous ne l’avez pas installé, suivez simplement cette page pour les instructions : guide d’installation. Assurez-vous de sélectionner le bon système d’exploitation que vous utilisez.

Structure du projet

Organiser correctement les fichiers est essentiel pour la clarté et la maintenabilité à long terme. Par convention, les services Docker sont généralement placés sous le répertoire /opt. À l’intérieur, un dossier docker_services a été créé pour stocker tous les services, y compris N8N.

# Create all the needed folders sudo mkdir -p /opt/docker_services/n8n # Navigate to n8n folder cd /opt/docker_services/n8n

Ajout du fichier docker compose

Pour faire fonctionner notre instance N8N et sa base de données backend, nous utiliserons un fichier compose.yaml. Nous choisissons PostgreSQL plutôt que le SQLite par défaut car il fournit un magasin de données beaucoup plus robuste et prêt pour la production pour la configuration et les journaux d’exécution.

Créez le fichier en utilisant un éditeur de texte comme nano :

nano compose.yaml

Collez la configuration suivante dans le fichier :

services: n8n: image: n8nio/n8n:latest restart: always ports: - "5678:5678" env_file: - .env volumes: - ./data:/home/node/.n8n - ./files:/files depends_on: - postgres postgres: image: postgres:15 restart: always env_file: - .env volumes: - ./postgres-data:/var/lib/postgresql/data

Comprendre la configuration :

ComposantDescription
ServicesExécute deux conteneurs : n8n (l’application principale) et postgres:15. L’utilisation de Postgres est fortement préférée par rapport au SQLite par défaut. N8N en dépend nativement pour démarrer en premier.
Politique de redémarrageUtilise restart: always afin que les conteneurs redémarrent automatiquement au démarrage du système ou s’ils plantent.
PortsExpose le port 5678 afin que vous puissiez accéder à l’interface web de N8N.
EnvironnementLes deux services chargent la configuration à partir d’un fichier .env partagé pour gérer en toute sécurité des variables comme les identifiants de la base de données.
VolumesLie les répertoires locaux de l’hôte aux chemins des conteneurs pour garder les données persistantes :
./data → configurations de N8N (/home/node/.n8n)
./files → stockage de fichiers (/files)
./postgres-data → Base de données (/var/lib/postgresql/data)

Avant de démarrer les conteneurs, vous devez explicitement créer les répertoires nécessaires afin qu’ils soient prêts à être mappés :

# Use your own path if different cd /opt/docker_services/n8n mkdir data files postgres-data

Propriété et permissions des répertoires

Par défaut, lorsque Docker crée automatiquement des répertoires hôtes pour vos volumes (comme nos dossiers data et files), il attribue la propriété à l’utilisateur root. Cependant, pour des raisons de sécurité, le conteneur N8N abandonne intentionnellement les privilèges et s’exécute en tant qu’utilisateur non-root (spécifiquement, UID 1000).

Si ces dossiers restent la propriété de root, N8N ne pourra pas sauvegarder sa configuration ou ses fichiers de base de données, ce qui entraînera un plantage du conteneur au démarrage avec une erreur ‘permission denied’. Pour éviter cette friction, nous accordons explicitement la propriété de ces répertoires au bon utilisateur avant de démarrer le service.

# Set ownership of the volume directories to UID/GID 1000 sudo chown -R 1000:1000 data files

Ajout du fichier .env

Docker utilise le fichier .env pour passer des configurations système et des secrets dans nos conteneurs sans les coder en dur dans notre compose.yaml.

Créez le fichier dans le même répertoire :

nano .env

Collez la configuration suivante (assurez-vous de remplacer example.com et le mot de passe de la base de données par vos propres valeurs sécurisées) :

# n8n Settings DOMAIN_NAME=example.com SUBDOMAIN=n8n GENERIC_TIMEZONE=Europe/Chisinau N8N_HOST=n8n.example.com N8N_PROTOCOL=https WEBHOOK_URL=https://n8n.example.com/ N8N_SECURE_COOKIE=false NODE_ENV=production # PostgreSQL POSTGRES_DB=n8n POSTGRES_USER=n8n POSTGRES_PASSWORD=changeme123

Comprendre les variables d’environnement :

VariableDescription
Domaine & HôteDéfinit DOMAIN_NAME, SUBDOMAIN, et N8N_HOST. Ceux-ci sont essentiels pour mapper l’application N8N à une URL spécifique (comme n8n.example.com), permettant un accès externe via DNS.
Fuseau horaireGENERIC_TIMEZONE définit le fuseau horaire spécifiquement pour le processus d’application Node.js afin que la planification et les horodatages des journaux soient précis pour votre région.
Protocoles & WebhookN8N_PROTOCOL et WEBHOOK_URL configurent la manière dont N8N interagit avec le monde extérieur. Ceci est crucial si vous intégrez des services qui nécessitent une URL de rappel.
Cookie sécuriséN8N_SECURE_COOKIE est défini sur false car nous exécutons sans un reverse proxy HTTPS localement par défaut. Si vous configurez SSL/HTTPS plus tard via un proxy externe, vous pouvez supprimer cette ligne pour qu’elle soit par défaut à true.
Environnement NodeNODE_ENV doit être strictement défini sur production. Cela optimise le serveur Node.js sous-jacent pour la performance plutôt que pour le débogage, quel que soit l’état de déploiement réel.
Identifiants de la base de donnéesPOSTGRES_DB, USER, et PASSWORD sont utilisés lors du premier démarrage pour créer la base de données PostgreSQL et authentifier les connexions ultérieures. Utilisez toujours des mots de passe personnalisés forts ici.

Enregistrez et fermez le fichier. Vous avez maintenant toute la configuration nécessaire pour exécuter votre pile Docker Compose.

Démarrer les services Docker

Accédez à votre répertoire de projet et faites monter tous les services en arrière-plan.

# Use your own path if different cd /opt/docker_services/n8n docker compose up -d

Docker télécharge les images nécessaires et démarre vos conteneurs. Une fois en cours d’exécution, N8N sera disponible sur le port 5678 (par défaut), ou à votre domaine configuré si vous utilisez un reverse proxy.

Pour confirmer qu’il fonctionne correctement, vérifiez si les conteneurs N8N et Postgres sont listés et en cours d’exécution.

docker ps

Travailler avec N8N

Une fois les services en cours d’exécution avec succès, il est enfin temps d’explorer N8N !

Accéder à N8N

N8N peut être accessible via un navigateur web. Dans cette configuration locale, il est disponible à l’URL suivante : http://localhost:5678.

Lors du premier accès, une page de connexion apparaît avec des champs communs à remplir.

Page de connexion

Configurer la clé de licence

Initialement, N8N affiche une fenêtre offrant une clé de licence gratuite qui débloque des fonctionnalités payantes. Oui, vous avez bien entendu : des fonctionnalités payantes gratuitement ! C’est l’un des avantages d’exécuter une instance N8N auto-hébergée.

Clé de licence

Une fois que vous avez reçu la clé de licence par e-mail, vous pouvez naviguer vers Paramètres->Utilisation et Plan pour l’activer.

Activation de la clé de licence

Créer le premier workflow

De nouveaux workflows peuvent être créés directement depuis la page principale. Voir l’image ci-dessous.

Créer wf

Pour le premier cas d’exécution, deux nœuds seront utilisés :

  • Déclencheur manuel : démarre le workflow manuellement.
  • Définir le nœud : définit et travaille avec des champs et leurs valeurs.

Le nœud Déclencheur manuel ne nécessite aucune configuration, tandis que le nœud Définir en nécessite une. Dans notre cas, l’objectif est de produire un message indiquant ‘N8N fonctionne’ avec l’horodatage de l’événement. Le nœud Définir est donc configuré comme montré dans l’image ci-dessous.

Nœud Définir

Une fois les deux nœuds connectés et configurés, nous démarrons le workflow en appuyant sur le bouton Exécuter le workflow.

Succès 1
Succès 2

Félicitations 👏, votre premier workflow N8N a été exécuté avec succès !

Et ensuite ?

Cette configuration initiale n’est que le début. Le véritable pouvoir de N8N se débloque lorsque vous commencez à connecter vos outils quotidiens pour automatiser des tâches répétitives et réduire la friction. Par exemple, vous pouvez créer des workflows pour synchroniser automatiquement de nouveaux leads de votre site web dans un CRM, acheminer des alertes urgentes et des erreurs critiques de service vers un chat d’équipe, ou sauvegarder périodiquement des données de diverses plateformes SaaS vers votre base de données. Les possibilités d’automatiser vos opérations et de simplifier votre charge de travail quotidienne sont presque infinies.

Conclusion

En complétant ce guide, vous avez déployé avec succès une plateforme puissante et auto-hébergée capable de transformer la manière dont vous gérez vos opérations quotidiennes. Merci d’avoir suivi cette configuration ! Alors que vous continuez à explorer ce que N8N peut faire, n’oubliez pas de consulter nos autres tutoriels pour découvrir encore plus d’outils incroyables et utiles. Lorsque vous serez prêt à évoluer ou à vous plonger dans de nouveaux projets passionnants, rappelez-vous qu’AlexHost fournit toute l’infrastructure robuste dont vous avez besoin pour héberger vos services de manière fiable.

15%

Économisez 15% sur tous les services d'hébergement

Testez vos compétences et obtenez Réduction sur tout plan d'hébergement

Utilisez le code :

Skills
Commencer