n8n docker compose : guide complet pour automatiser vos workflows (édition 21 juin 2026)
Temps de lecture estimé : 15 minutes
💡 A retenir dans cet article
- Points clés à retenir
- Table des matières
- Pourquoi tout le monde parle de n8n + Docker Compose ?
- 1) Prérequis : ce qu’il faut avant de commencer
Points clés à retenir
- n8n est un outil d’automatisation de workflows très populaire grâce à son éditeur visuel “glisser-déposer” et ses centaines d’intégrations.
- Docker Compose facilite le déploiement de n8n en local ou en production grâce à un unique fichier pour gérer les services et volumes.
- L’utilisation de bases de données externes comme PostgreSQL rend l’installation plus robuste et adaptée aux usages sérieux.
- La sécurisation via authentification basique et HTTPS est indispensable avant de rendre n8n accessible sur Internet.
- L’emploi d’un fichier
.envpermet de gérer proprement les variables sensibles comme les mots de passe.
Table des matières
- Pourquoi tout le monde parle de n8n + Docker Compose ?
- 1) Prérequis : ce qu’il faut avant de commencer
- 2) Premier docker-compose.yml minimal (pour tester en local)
- 3) Lancer n8n et ouvrir l’interface
- 4) Passer au niveau supérieur : n8n + PostgreSQL (plus robuste)
- 5) La bonne pratique qui change tout : utiliser un fichier
.env - 6) Exposer n8n sur un nom de domaine (mode “pseudo-production”)
- 7) Commandes essentielles pour gérer n8n (la boîte à outils)
- 8) Créer vos premiers workflows dans n8n (simple et fun)
- 9) Sécurité & bonnes pratiques (à lire avant d’ouvrir sur Internet)
- 10) Aller plus loin : industrialiser vos automatisations n8n
- Conclusion : votre prochaine étape
Cette semaine, la recherche “n8n docker compose : guide complet pour automatiser vos workflows” explose. Et on comprend pourquoi.
Beaucoup d’équipes veulent automatiser des tâches répétitives (emails, tableaux, alertes, synchronisation d’outils) sans devoir coder une application entière. Et n8n est devenu un choix très populaire, car il propose un éditeur visuel “glisser-déposer” et des centaines d’intégrations.
Dans ce guide, on va avancer comme dans un reportage technique : pas à pas, du premier lancement en local jusqu’à une base solide “prête pour un usage sérieux”. L’objectif est simple : à la fin, vous saurez installer n8n avec Docker Compose (voir aussi : https://cyberyweb.fr/deployer-n8n-docker-compose-guide), le protéger avec un mot de passe, sauvegarder vos données, et préparer le terrain pour une mise en ligne plus propre.
Pour des projets d’automatisation plus avancés (n8n + intégration métier, chatbots, scénarios complexes type Make), vous pouvez vous appuyer sur l’expertise de CyberyWeb.
Pourquoi tout le monde parle de n8n + Docker Compose ?
Parce que c’est une combinaison qui va vite et qui est propre :
- n8n : un outil d’automatisation de workflows avec une interface simple (en savoir plus sur l’automatisation de workflows n8n et l’IA).
- Docker : lance n8n dans un “conteneur”, comme une petite boîte reproductible.
- Docker Compose : un fichier unique (
docker-compose.yml) pour démarrer n8n (et parfois une base de données) en une commande (voir aussi : déployer n8n avec Docker Compose, tutoriel complet 2026).
Résultat : vous avez un environnement stable, facile à déplacer, facile à mettre à jour, et bien pratique pour passer du test à un usage “pro”.
1) Prérequis : ce qu’il faut avant de commencer
1. Docker et Docker Compose installés
Avant toute chose, vérifiez que Docker fonctionne :
docker --version
docker compose version
Si ces commandes répondent, Docker et Docker Compose sont opérationnels. (Source : Codecademy, et documentation officielle n8n : https://docs.n8n.io/hosting/installation/docker/)
2. Créer un dossier de projet
Créez un dossier pour ranger vos fichiers :
mkdir -p ~/n8n-docker
cd ~/n8n-docker
C’est votre “base” : on va y mettre le fichier docker-compose.yml, un dossier de données, et plus tard un .env.
2) Premier docker-compose.yml minimal (pour tester en local)
On commence simple : un n8n “tout seul”, avec un accès protégé par un identifiant/mot de passe. (Pour les débutants absolus sous Docker ou n8n, vous pouvez aussi consulter ce guide “premiers pas” : https://cyberyweb.fr/comment-installer-n8n-debutants)
Créez un fichier docker-compose.yml dans votre dossier. Ce modèle minimal est très utilisé pour un test local (Source : Codecademy) :
version: '3.8'
services:
n8n:
image: n8nio/n8n:latest
ports:
- "5678:5678"
environment:
- N8N_BASIC_AUTH_ACTIVE=true
- N8N_BASIC_AUTH_USER=admin
- N8N_BASIC_AUTH_PASSWORD=changeme123
volumes:
- ./n8n_data:/home/node/.n8n
restart: unless-stopped
Ce que ça veut dire (en mots simples)
- Image :
n8nio/n8nest l’image officielle n8n (Source : Codecademy et docs n8n). - Port 5678 : c’est le port par défaut de l’interface n8n.
- BASIC_AUTH : active une protection par login/mot de passe (Source : Codecademy).
- Volume
./n8n_data: garde vos workflows et votre config sur le disque, même si vous supprimez le conteneur (Source : Codecademy et YouTube).
Créer le dossier de données (important)
Créez le dossier n8n_data :
mkdir -p n8n_data
# Sur Linux, donner les bons droits (UID 1000 généralement)
sudo chown -R 1000:1000 n8n_data
Ce point sur les droits revient souvent : sur Linux, n8n tourne généralement avec l’utilisateur UID 1000, et des permissions incorrectes peuvent casser l’écriture des fichiers (Source : YouTube).
3) Lancer n8n et ouvrir l’interface
1. Démarrer n8n
Dans le dossier du projet :
docker compose up -d
Docker télécharge l’image si besoin et démarre n8n en arrière-plan (Sources : mdfaisal.com, Codecademy, et docs n8n).
2. Vérifier que le conteneur tourne
Tapez :
docker ps
Vous devez voir un conteneur basé sur n8nio/n8n en cours d’exécution (Source : Codecademy).
3. Accéder à n8n dans le navigateur
Ouvrez :
http://localhost:5678
(Sources : mdfaisal.com et Codecademy)
Connectez-vous avec :
- Utilisateur :
admin - Mot de passe :
changeme123(changez-le vite)
Et là, c’est le moment “waouh” : vous pouvez commencer à créer des workflows en drag-and-drop dans l’éditeur visuel (Source : Codecademy).
Pour découvrir des cas d’usage avancés, ou des scénarios IA, parcourez exemples de n8n workflow automatisés avec l’IA.
4) Passer au niveau supérieur : n8n + PostgreSQL (plus robuste)
En local, n8n peut fonctionner avec une base simple. Mais dès que vous faites un usage sérieux (beaucoup de workflows, exécutions fréquentes, besoins “prod”), n8n recommande d’utiliser une base PostgreSQL externe plutôt que SQLite (Sources : mdfaisal.com, docs n8n docker-compose setup, et docs n8n docker).
Si vous envisagez de basculer en mode “n8n pour entreprise” (synchronisation CRM, ERP, Email, etc.) : Découvrez comment une agence n8n peut booster vos automatisations, même en migration depuis Zapier ou Make.
Voici un exemple de stack avec PostgreSQL, inspiré d’un guide communautaire (Source : mdfaisal.com) :
version: '3.8'
services:
n8n:
image: n8nio/n8n:latest
depends_on:
- db
ports:
- "5678:5678"
environment:
- N8N_BASIC_AUTH_ACTIVE=true
- N8N_BASIC_AUTH_USER=admin
- N8N_BASIC_AUTH_PASSWORD=motdepasseSuperFort
- DB_TYPE=postgresdb
- DB_POSTGRESDB_HOST=db
- DB_POSTGRESDB_PORT=5432
- DB_POSTGRESDB_DATABASE=n8n
- DB_POSTGRESDB_USER=n8n
- DB_POSTGRESDB_PASSWORD=n8npassword
# Autoriser certaines libs dans les Function Nodes si besoin
- NODE_FUNCTION_ALLOW_EXTERNAL=axios,qs
volumes:
- ./n8n_data:/home/node/.n8n
- ./local-files:/files
restart: unless-stopped
db:
image: postgres:12
environment:
- POSTGRES_USER=n8n
- POSTGRES_PASSWORD=n8npassword
- POSTGRES_DB=n8n
volumes:
- db-data:/var/lib/postgresql/data
restart: unless-stopped
volumes:
db-data:
Pourquoi c’est mieux ?
- n8n devient plus solide pour des usages “long terme”.
- La base PostgreSQL stocke vos données de façon durable et adaptée aux charges.
Créer les dossiers nécessaires avant de lancer
Avant le démarrage :
mkdir -p n8n_data local-files
sudo chown -R 1000:1000 n8n_data local-files
docker compose up -d
- Le dossier
local-filessert à échanger des fichiers entre la machine et n8n (utile pour le nœud “Read/Write Files from Disk”) (Sources : docs n8n et YouTube). - Les données de la base sont dans le volume
db-data, ce qui permet une persistance durable (Sources : mdfaisal.com et docs n8n).
Besoin d’un exemple pratique d’intégration IA + automatisation avec n8n dans un contexte entreprise ? (Consultez ce guide n8n IA – automatiser ses workflows avec n8n AI).
5) La bonne pratique qui change tout : utiliser un fichier .env
Mettre des mots de passe directement dans docker-compose.yml, ce n’est pas propre. La documentation officielle recommande d’utiliser un fichier .env (Sources : docs n8n et YouTube).
Étape 1 : créer le fichier .env
Dans le dossier du projet :
touch .env
Étape 2 : exemple de contenu
# n8n
N8N_BASIC_AUTH_ACTIVE=true
N8N_BASIC_AUTH_USER=admin
N8N_BASIC_AUTH_PASSWORD=motdepasseSuperFort
N8N_HOST=n8n.example.com
N8N_PORT=5678
N8N_PROTOCOL=https
# Base de données
DB_TYPE=postgresdb
DB_POSTGRESDB_DATABASE=n8n
DB_POSTGRESDB_USER=n8n
DB_POSTGRESDB_PASSWORD=n8npassword
DB_POSTGRESDB_PORT=5432
DB_POSTGRESDB_HOST=db
Étape 3 : utiliser ces variables dans docker-compose.yml
Dans docker-compose.yml, remplacez les valeurs par :
environment:
- N8N_BASIC_AUTH_ACTIVE=${N8N_BASIC_AUTH_ACTIVE}
- N8N_BASIC_AUTH_USER=${N8N_BASIC_AUTH_USER}
- N8N_BASIC_AUTH_PASSWORD=${N8N_BASIC_AUTH_PASSWORD}
- N8N_HOST=${N8N_HOST}
- N8N_PORT=${N8N_PORT}
- N8N_PROTOCOL=${N8N_PROTOCOL}
- DB_TYPE=${DB_TYPE}
- DB_POSTGRESDB_HOST=${DB_POSTGRESDB_HOST}
- DB_POSTGRESDB_PORT=${DB_POSTGRESDB_PORT}
- DB_POSTGRESDB_DATABASE=${DB_POSTGRESDB_DATABASE}
- DB_POSTGRESDB_USER=${DB_POSTGRESDB_USER}
- DB_POSTGRESDB_PASSWORD=${DB_POSTGRESDB_PASSWORD}
Docker Compose charge automatiquement les valeurs depuis .env au démarrage (Sources : docs n8n et docs n8n docker).
6) Exposer n8n sur un nom de domaine (mode “pseudo-production”)
Vous voulez que n8n soit accessible comme un vrai service, par exemple :
https://n8n.example.com
La documentation officielle explique le principe (Source : docs n8n).
Pour un déploiement simple, complet et sécurisé avec Docker Compose, consultez ce guide pas à pas pour déployer n8n docker compose.
Les étapes “conceptuelles” (sans se perdre)
- DNS : créer un enregistrement A/AAAA pour pointer
n8n.example.comvers votre serveur. - Reverse proxy (nginx, Traefik, Caddy…) pour :
– gérer le HTTPS (Let’s Encrypt),
– rediriger le trafic web vers n8n (port 5678). - Configurer n8n avec :
–N8N_HOST=n8n.example.com
–N8N_PORT=5678
–N8N_PROTOCOL=https
Ces variables sont importantes pour que les webhooks, les liens de partage, et les callbacks OAuth fonctionnent correctement (Source : docs n8n).
La doc n8n fournit aussi des stacks Docker Compose incluant reverse proxy et SSL, ce qui peut accélérer votre mise en ligne (Sources : docs n8n et docs n8n docker).
7) Commandes essentielles pour gérer n8n (la boîte à outils)
Démarrer et redémarrer
docker compose up -d # démarrage
docker compose restart # redémarrage
Arrêter (sans supprimer les volumes)
docker compose down
Mettre à jour n8n (méthode recommandée)
La doc n8n recommande ce cycle pour mettre à jour proprement (Source : docs n8n) :
cd /chemin/vers/votre/projet
docker compose pull # récupère la nouvelle image
docker compose down # stoppe l’ancienne version
docker compose up -d # relance avec la nouvelle
Voir les logs (quand ça ne marche pas)
docker compose logs -f n8n
Les logs sont souvent la réponse à tout : port déjà utilisé, erreur de permission, variable manquante, etc.
Pour aller plus loin sur le debug et la gestion d’erreur, consultez ce guide utiliser les workflows n8n pour automatiser vos processus métier efficacement.
8) Créer vos premiers workflows dans n8n (simple et fun)
Une fois connecté à http://localhost:5678 (ou votre domaine), vous pouvez créer votre premier scénario.
Les étapes de base ressemblent à ceci (Source : YouTube) :
- Cliquez sur “New Workflow”.
- Ajoutez un Trigger (Schedule, Webhook, Cron…).
- Ajoutez des nœuds d’action (HTTP Request, Google Sheets, Slack, email, etc.).
- Cliquez sur “Execute Workflow” pour tester.
- Activez le workflow (toggle “Active”) pour qu’il se lance tout seul.
Pour des idées de scénarios concrets, voir exemples de workflows n8n open-source ou comment automatiser vos processus métier avec n8n et l’IA (guide concret).
Exemple simple (pour imaginer)
- Tous les jours à 8h : un trigger “Schedule”
- Puis : lire un fichier (si vous avez
local-files) - Puis : envoyer une alerte Slack ou un email
Même sans être développeur, on peut déjà construire des automatisations très utiles.
9) Sécurité & bonnes pratiques (à lire avant d’ouvrir sur Internet)
Automatiser, c’est puissant… donc il faut être prudent.
Les règles de base
- Changez immédiatement
N8N_BASIC_AUTH_USERetN8N_BASIC_AUTH_PASSWORDavec des valeurs fortes. - N’exposez jamais n8n sur Internet sans authentification + HTTPS.
- Sauvegardez régulièrement :
– le volume de base de données (db-data),
– le dossiern8n_data(config, workflows) (Sources : mdfaisal.com et docs n8n).
Pour tout comprendre sur la mise en sécurité de votre service d’automatisation : comment installer et sécuriser n8n sur Synology (applicable pour Docker Compose)
Permissions Linux : le piège classique
Sur Linux, vérifiez que les répertoires montés appartiennent à l’UID 1000:1000. Sinon, n8n peut ne pas écrire ses fichiers (Sources : YouTube et forums Lawrence Systems).
10) Aller plus loin : industrialiser vos automatisations n8n
Quand vous avez goûté à n8n, une question arrive vite : “Et si on automatisait aussi… tout le reste ?”
Voici des pistes “niveau pro” :
- Intégrer n8n avec vos services (CRM, ERP, outils internes).
- Construire des workflows robustes (gestion d’erreurs, retries, files d’attente).
- Organiser plusieurs environnements (dev, recette, prod).
- Pour industrialiser avec API, IA, ou data avancée, lisez aussi ce guide “n8n et l’IA : automatiser ses workflows avec n8n AI” : https://cyberyweb.fr/n8n-ia-automatiser-workflows.
Pour industrialiser (monitoring, architecture, intégration d’IA, chatbots, bonnes pratiques), vous pouvez vous faire accompagner par des spécialistes de l’automatisation n8n comme CyberyWeb.
Conclusion : votre prochaine étape
Vous avez maintenant un vrai plan d’action :
- Tester n8n en local avec un
docker-compose.ymlminimal. - Ajouter la persistance avec
n8n_data. - Passer à PostgreSQL pour un usage plus robuste.
- Sécuriser avec
.envet des mots de passe solides. - Préparer une exposition propre avec domaine + reverse proxy + HTTPS.
Le plus excitant, c’est la suite : une fois n8n en place, chaque nouveau workflow est comme une petite machine qui travaille pour vous, 24h/24. Et souvent, ce sont ces petites automatisations qui font gagner des heures chaque semaine.
Besoin d’aide sur les types d’automatisations possibles avec n8n, l’IA ou le “workflow PME” ? (Explorez plus d’exemples et de guides sur l’automatisation open-source avec n8n workflow et le guide concret IA + n8n pour processus métier).
Si vous le souhaitez ensuite, vous pourrez aller encore plus loin avec :
- un
docker-compose.ymlprêt “production” (Traefik + HTTPS), - ou un exemple de workflow type (formulaire web → CRM → notification Slack) adapté à votre besoin.
Foire aux questions
- Quels sont les avantages d’utiliser Docker Compose avec n8n ?
Docker Compose simplifie le déploiement de plusieurs services liés (n8n, base de données) via un seul fichier, facilite la gestion des volumes, et garantit un environnement stable et reproductible. - Comment sécuriser l’accès à n8n ?
Activez l’authentification basique via les variables d’environnement, changez les mots de passe par défaut, et exposez n8n uniquement derrière un reverse proxy HTTPS. - Pourquoi préférer PostgreSQL à SQLite pour n8n ?
SQLite convient pour tests ou usages légers, mais PostgreSQL offre une persistance solide, meilleure gestion de la concurrence et évolutivité pour un usage en production. - Que contient un fichier .env pour n8n ?
Il contient toutes les variables sensibles et de configuration, comme les identifiants d’authentification, paramètres database, et configurations réseau, pour éviter de les écrire en clair dans docker-compose.yml. - Comment gérer les permissions sur Linux pour n8n ?
Les dossiers montés doivent appartenir à l’UID 1000 (utilisateur par défaut de n8n) pour que le conteneur puisse écrire correctement dans les volumes persistants.
Vous souhaitez automatiser vos processus ?
CyberyWeb accompagne les PME de Montpellier et toute la France dans leur transformation digitale avec l'IA.
