N8N et Puppeteer - erreur bizarre lors de l'exécution d'une étape

Bonjour, j’ai essayé d’installer n8n8 localement dans mon Docker et j’ai ajouté une étape basée sur Puppeteer dans mon workflow. Mais à chaque fois que j’essaie d’exécuter cette étape, j’obtiens cette erreur
*
Problème dans le nœud « Puppeteer Enhanced »*

Impossible de lancer le navigateur local : Chrome introuvable (ver. 148.0.7778.97). Cela peut se produire si : 1. vous n’avez pas effectué une installation avant d’exécuter le script (p. ex. npx puppeteer browsers install chrome) ou 2. votre chemin de cache est mal configuré (qui est : /home/node/.cache/puppeteer). Pour (2), consultez notre guide de configuration de puppeteer sur Configuration | Puppeteer.. Vérifiez executablePath (« auto-detect ») ou assurez-vous que Chromium est installé.

En même temps, le journal de mon conteneur Docker affiche cette sortie

n8n-main | Nœud Puppeteer : Lancement du navigateur local
n8n-main | Erreur
n8n-main | Erreur
n8n-main | at ExecuteContext.execute (/home/node/.n8n/nodes/node_modules/@wtyeung/n8n-nodes-puppeteer/nodes/Puppeteer/Puppeteer.node.ts:746:10)
n8n-main | at WorkflowExecute.executeNode (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+exporter-trace-otlp_cf5896492347c4895f0373f4acc773d7/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:1053:8)
n8n-main | at WorkflowExecute.runNode (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+exporter-trace-otlp_cf5896492347c4895f0373f4acc773d7/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:1327:11)
n8n-main | at /usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+exporter-trace-otlp_cf5896492347c4895f0373f4acc773d7/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:1778:27
n8n-main | at /usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+exporter-trace-otlp_cf5896492347c4895f0373f4acc773d7/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:2474:11
n8n-main |

Quelqu’un peut-il me dire comment corriger cette erreur ?

Bonjour @Nikolay_Sonin Bienvenue !
Vois ceci :

De mon avis, un Dockerfile personnalisé sera nécessaire pour cette tâche, car il semble que Chrome ne soit pas installé dans ton conteneur.

Salut, voici mon Dockerfile

FROM n8nio/n8n:latest-debian


USER root


RUN apt-get update && apt-get install -y 
chromium 
chromium-driver 
fonts-liberation 
libasound2 
libatk-bridge2.0-0 
libatk1.0-0 
libcups2 
libdbus-1-3 
libdrm2 
libgbm1 
libgtk-3-0 
libnspr4 
libnss3 
libxcomposite1 
libxdamage1 
libxfixes3 
libxkbcommon0 
libxrandr2 
xdg-utils 
--no-install-recommends 

&& apt-get clean 
&& rm -rf /var/lib/apt/lists/*


#ENV PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium
#ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true

ENV PUPPETEER_CHROMIUM_REVISION=148.0.7778.97
ENV PUPPETEER_PRODUCT=chrome
ENV PUPPETEER_EXECUTABLE_PATH=/usr/bin/google-chrome-stable


RUN mkdir -p /home/node/.cache/puppeteer && 
chown -R node:node /home/node/.cache


USER node


RUN cd /home/node/.n8n && 
npm install n8n-nodes-puppeteer

Salut @Nikolay_Sonin,

En regardant ton Dockerfile, Chromium est déjà en cours d’installation :

RUN apt-get update && apt-get install -y chromium chromium-driver ...

Ce qui ressort, c’est que tu installes Chromium mais que tu définis :

ENV PUPPETEER_EXECUTABLE_PATH=/usr/bin/google-chrome-stable

Peux-tu vérifier si ce binaire existe réellement dans le conteneur ?

docker exec -it <container> which chromium
docker exec -it <container> which google-chrome-stable

Si seul Chromium est présent, essaie de changer :

ENV PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium

et de reconstruire l’image.

Le message d’erreur suggère que Puppeteer essaie de trouver une version spécifique de Chrome dans son cache plutôt que d’utiliser le navigateur installé sur le système, donc il serait également utile de connaître les paramètres que tu utilises dans le nœud Puppeteer (particulièrement les paramètres Type de navigateur et Chemin d’accès exécutable). Hé @Jekylls

Ok, voici le résultat pour les deux commandes :

Microsoft Windows [Version 10.0.19045.6456]
(c) Microsoft Corporation. All rights reserved.

C:\Users\jima>docker exec -it n8n-main which chromium

What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug n8n-main
Learn more at 


C:\Users\jima>docker exec -it n8n-main which google-chrome-stable

What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug n8n-main
Learn more at 


C:\Users\jima>

Le nom du conteneur est n8n-main

Merci de vérifier.

Le fait que les deux commandes ne retournent rien est un peu… Cela suggère soit :

  1. L’image actuellement exécutée dans n8n-main a été construite avant que Chromium soit ajouté au Dockerfile, ou
  2. Chromium n’a pas été installé avec succès lors de la construction de l’image.

Pouvez-vous exécuter :

docker exec -it n8n-main sh

puis à l’intérieur du conteneur :

chromium --version
ls -l /usr/bin/chrom*
env | grep PUPPETEER

Aussi, après avoir mis à jour le Dockerfile, avez-vous reconstruit l’image avec docker compose build --no-cache (ou équivalent) et recréé le conteneur ?

En ce moment, l’erreur Puppeteer indique qu’il ne peut pas trouver Chrome 148 dans son cache, mais les vérifications ci-dessus suggèrent que le conteneur n’a peut-être pas réellement un binaire de navigateur disponible sur le PATH au moment de l’exécution.

J’ai essayé d’exécuter vos commandes :

c:\prj\n8n>docker compose -f docker-n8n-3.yml build --no-cache
time="2026-06-22T18:45:40+03:00" level=warning msg="No services to build"

C:\Users\jima>docker exec -it n8n-main sh
~ $ chromium --version
sh: chromium: not found
~ $ ls -l /usr/bin/chrom*
ls: /usr/bin/chrom*: No such file or directory
~ $ env | grep PUPPETEER
~ $

Comme vous pouvez le voir, il semble qu’il n’y ait rien de similaire à Chrome. Que dois-je faire pour avoir Chrome installé ici ?

Hey @Nikolay_Sonin, le problème clé est là

time=“2026-06-22T18:45:40+03:00” level=warning msg=“No services to build”

Cela signifie que votre fichier de composition docker-n8n-3.yml n’a pas de directive build:, donc Docker n’a jamais réellement utilisé votre Dockerfile. Il récupère simplement l’image n8n standard depuis Docker Hub, qui n’a pas Chrome.

Pour corriger cela, ouvrez docker-n8n-3.yml et mettez à jour votre service n8n pour qu’il pointe vers votre Dockerfile :

services:
n8n:
build:
context: .
dockerfile: Dockerfile # ou quel que soit le nom que vous lui avez donné

supprimez ou commentez la ligne image: si elle est présente

Puis reconstruisez correctement :

docker compose -f docker-n8n-3.yml build --no-cache
docker compose -f docker-n8n-3.yml up -d

Après cela, relancez la vérification chromium --version et il devrait être trouvé. Assurez-vous également que PUPPETEER_EXECUTABLE_PATH est défini à /usr/bin/chromium (et non google-chrome-stable) puisque c’est ce que vous installez réellement.

Ok, j’ai mis à jour mon fichier docker-n8n-3.yml avec vos lignes et j’ai essayé d’exécuter

docker compose -f docker-n8n-3.yml build --no-cache

mais j’ai reçu cette erreur dans Docker

Ign:1 http://deb.debian.org/debian buster InRelease
Ign:2 http://deb.debian.org/debian-security buster/updates InRelease
Ign:3 http://deb.debian.org/debian buster-updates InRelease
Err:4 http://deb.debian.org/debian buster Release
404  Not Found [IP: 151.101.130.132 80]
Err:5 http://deb.debian.org/debian-security buster/updates Release
404  Not Found [IP: 151.101.130.132 80]
Err:6 http://deb.debian.org/debian buster-updates Release
404  Not Found [IP: 151.101.130.132 80]
Reading package lists...
E: The repository 'http://deb.debian.org/debian buster Release' no longer has a Release file.
E: The repository 'http://deb.debian.org/debian-security buster/updates Release' no longer has a Release file.
E: The repository 'http://deb.debian.org/debian buster-updates Release' no longer has a Release file.

Mon Dockerfile commence par

FROM n8nio/n8n:latest-debian

et je pense qu’il y a quelque chose qui ne va pas avec le dépôt correspondant. Comment pourrais-je corriger mes fichiers maintenant ?

Salut @Nikolay_Sonin
n8nio/n8n:latest-debian est une image vieille de plus de 3 ans construite sur Debian 10 « buster », qui n’est plus supportée. Buster a été supprimée de deb.debian.org et déplacée vers l’archive, donc apt-get update génère une erreur 404 sur son fichier Release. Pointez apt vers l’archive et ignorez la vérification de date. Ajoutez ceci juste après USER root, avant votre étape apt-get install existante :

RUN sed -i \
    -e 's|deb.debian.org/debian|archive.debian.org/debian|g' \
    -e 's|security.debian.org/debian-security|archive.debian.org/debian-security|g' \
    -e '/buster-updates/d' \
    /etc/apt/sources.list \
    && echo 'Acquire::Check-Valid-Until "false";' > /etc/apt/apt.conf.d/99no-check-valid

L’installation de chromium pourra alors s’exécuter. Ce tag de base n’est cependant pas maintenu, donc une fois que la compilation réussit, passer à une base Debian actuelle est la solution durable puisque buster ne reçoit plus de mises à jour de sécurité.