スポンサーリンク
puppeteerを使うには、chromiumが必要なんですが、n8nが配布しているイメージには含まれていません。
それだけならイメージにchromiumをインストールするだけでいいんですが、最新のイメージでは、イメージサイズの削減とセキュリティ強化のために、Alpine Linuxのパッケージマネージャーであるapkが削除されています。
そこでどうするかというと、n8nのコンテナとは別に、Chromium/Browserlessコンテナを立てることです。
そして、puppeteerからそのコンテナへwebsocket経由で接続します。
スポンサーリンク
設定手順
1.docker-compose.ymlの作成
n8nとChromium(browserless/chrome)を同じDockerネットワーク内で動かすのが最も簡単です。
services:
n8n:
image: n8nio/n8n:latest
ports:
- "5678:5678"
environment:
- N8N_HOST=localhost
- N8N_PORT=5678
volumes:
- n8n_data:/home/node/.n8n
depends_on:
- chrome
networks:
- n8n-net
chrome:
image: browserless/chrome:latest
ports:
- "3000:3000"
environment:
- MAX_CONCURRENT_CHROME=10
- DEBUG=browserless:*
networks:
- n8n-net
networks:
n8n-net:
driver: bridge
volumes:
n8n_data:docker compose up -d –buildで起動します。
ブラウザでhttp://localhost:5678にアクセスして初期ユーザー登録をすませます。
2.n8n Puppeteerのインストール
ブラウザで作業します。
Settings(サイドバーの歯車)→ Community nodes → Install…をクリックします。
npm Package Nameにn8n-nodes-peppeteerを入力し、チェックボックスにチェックをいれてinstallをクリックします。
2.n8n Puppeteer ノードの設定

URLにアクセスしたいURLを入力します。
Add Optionで、Browser WebSocket Endpointを追加します。
Execute stepで実行して確認します。
成功するとOUTPUTに表示されます。
スポンサーリンク
スポンサーリンク
