Mar 23, 2026
Chaimaa C.
10minutes de lecture
Au fur et à mesure que vos flux d’automatisation n8n gagnent en complexité, les gérer efficacement peut devenir un véritable défi. Le fait de tout exécuter sur un seul processus peut entraîner des temps d’exécution lents, des contraintes inutiles pour le système, voire l’échec de l’automatisation.
La solution à ce problème est le mode file d’attente n8n. Il introduit une file d’attente de travaux qui répartit vos tâches sur plusieurs processus de travail plutôt que de tout exécuter en un seul endroit. Cela permet à vos flux de travail de fonctionner de manière indépendante, ce qui améliore les performances et l’évolutivité de votre automatisation.
Dans ce guide, nous allons vous expliquer étape par étape comment configurer le mode file d’attente sur un VPS Hostinger. À la fin de ce guide, vous serez en mesure de rendre votre écosystème d’automatisation n8n plus fiable et plus évolutif.
Par défaut, n8n fonctionne au sein d’un processus principal monotâche dans lequel toutes les tâches sont traitées de manière séquentielle. Cela fonctionne bien pour les automatismes de faible volume, mais peut entraîner des goulets d’étranglement lorsque la charge de travail augmente.
Le mode file d’attente divise l’ensemble du back-end de n8n en trois zones distinctes :
Voici comment cela se présente visuellement :

| Service | Rôle |
| Instance principale n8n | Gère l’interface visuelle, les configurations de flux de travail et leurs déclencheurs. |
| Redis | Joue le rôle de courtier en messages pour la file d’attente des travaux. |
| Base de données n8n | Stocke les données relatives à l’exécution du flux de travail, telles que les journaux et les résultats. |
| Instances worker n8n | Récupèrent les tâches en attente depuis Redis et exécutent les étapes d’automatisation |
Voici à quoi ressemble le déroulement général du processus en mode file d’attente :

Pour mettre les choses en perspective, nous pouvons comparer cette configuration à d’autres plateformes populaires d’orchestration du travail :
Au fond, il s’agit d’un moyen très simple d’augmenter vos capacités d’automatisation. Pour permettre l’exécution simultanée d’un plus grand nombre de processus d’automatisation, vous exécutez un plus grand nombre de processus d’automatisation. Le mode file d’attente agit comme un équilibreur de charge pour la distribution de ce flux de travail.
Pour héberger n8n en mode file d’attente avec Redis, les spécifications minimales de votre système sont les suivantes :
Vous aurez également besoin de
Bien que vous puissiez utiliser le mode queue avec la base de données SQLite qui est installée et utilisée par défaut, nous vous recommandons d’installer PostgreSQL à la place, comme indiqué plus loin dans ce guide.
n8n et Redis ne sont pas très gourmands en ressources informatiques, la mémoire est donc le principal facteur à prendre en compte. Un VPS Hostinger KVM 2 avec Ubuntu est un choix confortable pour une configuration de base en mode queue n8n, s’intégrant parfaitement :
Cela devrait permettre de gérer très confortablement les configurations de flux de travail de petite et moyenne taille et de disposer d’une grande marge de manœuvre pour évoluer.

Dans ce tutoriel, nous allons implémenter le mode queue de n8n sur une instance unique de VPS KVM 2 fonctionnant sous Ubuntu 24.04, avec n8n installé manuellement via Docker. C’est l’approche recommandée car elle est la plus facile à mettre en œuvre et à adapter.
Le mode file d’attente de n8n dépend de Redis en tant que courtier de messages pour gérer les files d’attente des travaux, ce qui en fait un composant critique dans cette configuration. Pour préparer un conteneur Redis sur votre instance n8n, suivez ces étapes :


mkdir -p ~/redis-data
mkdir ~/n8n-queue-modecd ~/n8n-queue-mode
sudo nano docker-compose.yml
version: "3.7" services: redis: image: redis:6 container_name: redis restart: always volumes: - ~/redis-data:/data
Maintenant que Redis est préparé et prêt, vous pouvez ajouter une configuration supplémentaire à votre instance Redis, comme un mot de passe. Pour ce faire, vous pouvez suivre les étapes de configuration décrites dans notre guide d’installation de Redis.
Cependant, comme nous utilisons un conteneur Redis, vous devrez également ajouter un fichier redis.conf personnalisé pour enregistrer vos paramètres, puis le monter en tant que volume et exécuter la commande correspondante.
Par exemple, si vous avez ajouté redis.conf dans le répertoire ~/redis-conf, vous devrez ajouter les lignes suivantes à votre fichier docker-compose.yml :
volumes: - ~/redis-conf/redis.conf:/usr/local/etc/redis/redis.conf command: ["redis-server", "/usr/local/etc/redis/redis.conf"]
Maintenant que Redis est prêt, vous devez configurer les variables nécessaires pour activer le mode queue. Dans notre scénario, nous avons une instance n8n déjà configurée avec nginx. Ensuite, nous le déplacerons dans un environnement conteneurisé.
Voici les principales variables que vous devez définir :
| Variable | Objectif |
| EXECUTIONS_MODE=queue | Définit le mode d’exécution en file d’attente |
| QUEUE_BULL_REDIS_HOST=redis | Nom d’hôte de l’instance Redis. Comme Redis est conteneurisé, la valeur est « redis » |
| QUEUE_BULL_REDIS_PORT=6379 | Port utilisé par Redis (6379 par défaut) |
| N8N_RUNNERS_ENABLED=true | Active les task runners |
| OFFLOAD_MANUAL_EXECUTIONS_TO_WORKERS=true | Permet d’envoyer également les exécutions manuelles des workflows aux workers |
Parmi les autres variables importantes, on peut citer
| Variable | Objectif |
| QUEUE_HEALTH_CHECK_ACTIVE=true | Ajoute un contrôle de santé interne pour surveiller la connexion Redis |
| QUEUE_BULL_REDIS_PASSWORD | Si vous avez ajouté un mot de passe à Redis, vous devez également le définir ici |
Maintenant que vous connaissez les paramètres requis, nous allons les configurer.
cd ~/n8n-queue-mode
sudo nano .env
Enregistrez ces valeurs :
N8N_LOG_LEVEL=debugN8N_LOG_OUTPUT=console N8N_BASIC_AUTH_ACTIVE=trueN8N_BASIC_AUTH_USER=<your_username>N8N_BASIC_AUTH_PASSWORD=<your_password> N8N_HOST=srv721674.hstgr.cloudN8N_PORT=5678N8N_PROTOCOL=httpsWEBHOOK_URL=https://srv721674.hstgr.cloud/GENERIC_TIMEZONE=UTC N8N_EXPRESS_TRUST_PROXY=trueN8N_SECURE_COOKIE=true EXECUTIONS_MODE=queueQUEUE_BULL_REDIS_HOST=redisQUEUE_BULL_REDIS_PORT=6379N8N_RUNNERS_ENABLED=trueOFFLOAD_MANUAL_EXECUTIONS_TO_WORKERS=true
Les valeurs supplémentaires du mode queue sont mises en évidence en gras – si vous avez un fichier d’environnement existant, vous pouvez ajouter les lignes en gras à votre configuration existante.
Bien que les paramètres de journalisation soient facultatifs, ils s’avéreront utiles pour vérifier l’état de nos conteneurs et pour dépanner les erreurs.
Jusqu’à présent, vous avez défini toutes les variables d’environnement nécessaires au fonctionnement du mode queue. Définissons maintenant notre conteneur n8n pour le processus principal :
sudo nano docker-compose.yml
n8n:
image: n8nio/n8n
container_name: n8n
restart: always
env_file:
- .env
ports:
- "5678:5678"
volumes:
- ~/.n8n:/home/node/.n8n depends_on: - redisVotre fichier docker-compose.yml devrait ressembler à ceci :

A ce stade, vous pouvez lancer votre processus n8n en exécutant :
docker compose up -d
Vous devriez maintenant pouvoir vous connecter à votre instance et voir la même vue que d’habitude. Essayons de lancer un simple flux de travail qui exécute une requête web vers Google :

Cela devrait fonctionner, même si vous avez activé le mode queue et configuré le processus principal pour qu’il agisse en tant qu’orchestrateur de queue.
Il s’agit d’un mécanisme de sécurité dans n8n : si vous n’avez pas de workers disponibles pour gérer vos exécutions, l’instance principale prendra en charge le travail au lieu de l’orchestrer vers Redis.
Malgré toute cette configuration, vous ne faites toujours pas fonctionner n8n en mode file d’attente. Allons-y et changeons cela en déployant quelques workers.
Le processus principal étant configuré, passons maintenant à la définition de la base de données PostgreSQL. Bien qu’il soit facultatif, il est recommandé pour les charges de travail au niveau de la production que SQLite n’est tout simplement pas conçu pour gérer. Heureusement, il est facile et rapide de préparer une base de données Postgres :
sudo nano docker-compose.yml
postgres:
image: postgres:15
container_name: n8n-postgres
restart: always
environment:
POSTGRES_USER: n8n
POSTGRES_PASSWORD: <your_password>
POSTGRES_DB: n8ndb
volumes:
- pgdata:/var/lib/postgresql/data
volumes: pgdata:sudo nano .env
DB_TYPE=postgresdb DB_POSTGRESDB_HOST=postgres DB_POSTGRESDB_PORT=5432 DB_POSTGRESDB_DATABASE=n8ndb DB_POSTGRESDB_USER=n8n DB_POSTGRESDB_PASSWORD=<your_password>
Essayons de l’exécuter :
docker compose up -d
Vous pouvez également vérifier si la base de données PostgreSQL fonctionne en exécutant :
docker exec -it n8n-postgres psql -U n8n -d n8ndb \dt
En option, vous pouvez maintenant supprimer SQLite :
rm ~/.n8n/database.sqlite rm ~/.n8n/*.sqlite*
Important ! Si la valeur de la clé de chiffrement n’est pas définie pour votre instance principale, une nouvelle clé sera générée lors de la recréation du fichier de configuration. Pour éviter cela, nous recommandons de définir N8N_ENCRYPTION_KEY dans les deux fichiers d’environnement afin de garantir la fiabilité.
Une fois que n8n est en mode file d’attente, il s’appuie sur des processus de travail dédiés pour extraire les travaux de Redis. Mettons en place un processus de travailleur :
cat ~/.n8n/config
Copiez la valeur encryptionKey, car vous devrez la stocker dans vos variables d’environnement.
sudo nano .env.worker
N8N_LOG_LEVEL=debugN8N_LOG_OUTPUT=console EXECUTIONS_MODE=queue N8N_RUNNERS_ENABLED=true OFFLOAD_MANUAL_EXECUTIONS_TO_WORKERS=trueN8N_ENCRYPTION_KEY=<your_encryption_key> QUEUE_BULL_REDIS_HOST=redis QUEUE_BULL_REDIS_PORT=6379 DB_TYPE=postgresdb DB_POSTGRESDB_HOST=postgres DB_POSTGRESDB_PORT=5432 DB_POSTGRESDB_DATABASE=n8ndb DB_POSTGRESDB_USER=n8n DB_POSTGRESDB_PASSWORD=<your_password>
sudo nano docker-compose.yml
n8n-worker:
image: n8nio/n8n
restart: always
command: worker
env_file:
- .env.worker
depends_on:
- redis
- postgresdocker compose up -d n8n-worker
Important ! Si la valeur de la clé de chiffrement n’est pas définie pour votre instance principale, une nouvelle clé sera générée lors de la recréation du fichier de configuration. Pour éviter cela, nous recommandons de définir N8N_ENCRYPTION_KEY dans les deux fichiers d’environnement afin de garantir la fiabilité.
Pour faire fonctionner plus de workers, exécutez docker compose avec l’argument scale :
docker compose up -d --scale n8n-worker=3

Pour vérifier si le mode file d’attente n8n fonctionne, exécutez quelques flux de travail de test ou planifiez un flux de travail. Nous utiliserons ici un simple flux de travail actif fonctionnant à un intervalle de dix secondes :

Après quelques minutes, retournez à votre terminal et vérifiez les journaux du worker n8n :
docker logs <worker name> -f
Vous devriez voir quelque chose comme ceci :

Les éléments clés à surveiller sont les journaux tels que Worker started execution , qui indiquent que n8n extrait avec succès des travaux du courtier de messages.
Et voilà, vous avez configuré avec succès le mode file d’attente de n8n et il est maintenant prêt à s’attaquer à vos charges de travail !
Il est important de maintenir l’automatisation du mode queue de votre n8n pour qu’il reste performant. Voici quelques points à surveiller :
Si vous constatez que les conteneurs sont en difficulté, il est temps de changer d’échelle. Vous pouvez le faire en exécutant docker compose up -d –scale service=number.
Pour ce que le VPS n8n d’Hostinger offre en termes de capacité matérielle, 2 à 3 workers devraient être une base sûre, bien que vous puissiez vous en sortir avec 5 ou plus en fonction de votre utilisation de l’automatisation.
Si vous commencez à rencontrer des problèmes avec les ressources de l’infrastructure, voici quelques mesures à envisager :
L’exécution de n8n en mode file d’attente permet d’améliorer l’évolutivité, la stabilité et le contrôle des exécutions de vos flux de travail. Séparer la programmation des tâches de leur exécution et décharger le travail sur des processus de travail dédiés réduit le risque de goulots d’étranglement.
Ce guide vous a permis de configurer le mode file d’attente, de déployer des workers et d’apprendre à surveiller et à mettre à l’échelle votre système sur un VPS Hostinger. Au fur et à mesure que votre automatisation se développe, vous pouvez évoluer horizontalement en ajoutant des workers supplémentaires ou en hébergeant Redis et PostgreSQL sur des serveurs distincts.
Prêt à aller plus loin dans l’automatisation ? Mettez en place un système de surveillance plus robuste, implémentez des solutions d’orchestration plus complexes et poussez n8n à ses limites !
Le mode file d’attente est une configuration de n8n qui dissocie la distribution des workflows de leur exécution en utilisant une file d’attente de tâches, généralement gérée par Redis. Dans ce mode, l’instance principale met les exécutions de workflows en file d’attente tandis que des processus de travail dédiés récupèrent et traitent les tâches de manière asynchrone. Cette séparation améliore l’évolutivité et la stabilité dans les environnements à forte charge et distribués.
Pour activer le mode file d’attente dans n8n, définissez la variable d’environnement EXECUTIONS_MODE sur queue dans vos fichiers de configuration, tant pour l’instance principale que pour les processus de travail. De plus, configurez vos options Redis pour la file d’attente et, si vous le souhaitez, définissez OFFLOAD_MANUAL_EXECUTIONS_TO_WORKERS et QUEUE_HEALTH_CHECK_ACTIVE sur true.
Le mode file d’attente dans n8n offre plusieurs avantages, notamment une évolutivité améliorée et une meilleure utilisation des ressources. En déchargeant l’exécution de la charge de travail vers des workers n8n dédiés, il empêche le processus principal de devenir un goulot d’étranglement. Cela est utile à la fois pour la gestion des erreurs et pour permettre le traitement asynchrone dans n8n, ce qui se traduit par un système plus rapide et plus stable pour les environnements à forte demande.
Tout le contenu des tutoriels de ce site est soumis aux normes éditoriales et aux valeurs rigoureuses de Hostinger.