Automatisation Niveau 3 : Architecte
9 / 45

Module 2 · Absorber la chargeEnviron 1 min

Monter le mode file d'attente

Voici l’ossature Docker Compose de Nadia. Toutes les instances partagent la même base PostgreSQL, le même Redis et la même clé de chiffrement. Les secrets viennent d’un fichier .env qui ne part jamais dans Git.

yaml
x-n8n: &n8n
  image: docker.n8n.io/n8nio/n8n:2.45.4
  restart: unless-stopped
  environment:
    DB_TYPE: postgresdb
    DB_POSTGRESDB_HOST: postgres
    DB_POSTGRESDB_DATABASE: n8n
    DB_POSTGRESDB_USER: n8n
    DB_POSTGRESDB_PASSWORD: ${POSTGRES_PASSWORD}
    EXECUTIONS_MODE: queue
    QUEUE_BULL_REDIS_HOST: redis
    QUEUE_HEALTH_CHECK_ACTIVE: "true"
    N8N_ENCRYPTION_KEY: ${N8N_ENCRYPTION_KEY}
    N8N_DEFAULT_BINARY_DATA_MODE: database
    N8N_METRICS: "true"
  depends_on: [postgres, redis]

services:
  postgres:
    image: postgres:16
    environment:
      POSTGRES_DB: n8n
      POSTGRES_USER: n8n
      POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
    volumes: [pgdata:/var/lib/postgresql/data]
  redis:
    image: redis:7
  n8n-main:
    <<: *n8n
    ports: ["5678:5678"]
    volumes: [n8n_data:/home/node/.n8n]
  n8n-webhook:
    <<: *n8n
    command: webhook
  n8n-worker:
    <<: *n8n
    command: worker --concurrency=5
    deploy:
      replicas: 2

volumes:
  pgdata:
  n8n_data:
  • PostgreSQL obligatoire : SQLite n’est pas pris en charge pour une installation distribuée.
  • Une seule clé : workers et processeurs webhook ont la même N8N_ENCRYPTION_KEY que l’instance principale, sinon ils ne peuvent pas déchiffrer les identifiants.
  • Fichiers : le mode filesystem n’est pas pris en charge en file d’attente. Utilisez database, ou S3 et Azure sur les éditions Business et Enterprise.
  • Routage : le reverse proxy envoie /webhook/* et /webhook-waiting/* aux processeurs webhook, le reste à l’instance principale, qui reçoit N8N_DISABLE_PRODUCTION_MAIN_PROCESS=true pour ne plus traiter les webhooks de production.
Plusieurs instances principalesLe multi-main, qui évite qu’une panne de l’instance principale arrête les tâches planifiées, est réservé à l’édition Enterprise auto-hébergée.