logo
icon

N8N v2 with Worker & Task Runners

N8N v2 ワークフロー自動化プラットフォーム。ワーカーと外部タスクランナーによる安全なコード実行を搭載

template cover
展開済み693
発行者glasschan
作成日2025-03-04
タグ
AutomationWorkflowN8N v2Task RunnersCode Execution

N8N v2 with Worker & Task Runners (create by SEAFOODHOLDHAND)

N8N with Worker

N8N v2は、異なるサービスを接続してタスクを自動化するのに役立つ強力なワークフロー自動化プラットフォームです。このテンプレートには以下が含まれます:

  • N8N v2 メインインスタンス(ワークフロー管理用、最新バージョン)
  • N8N ワーカー(バックグラウンドタスク処理用)
  • 外部タスクランナー(Codeノードの安全な実行用、本番環境対応設定)
  • PostgreSQL(データストレージ用)
  • Redis(キュー管理用)

外部タスクランナーを使用する理由

このテンプレートでは外部タスクランナーを使用しています - これはCodeノードでコードを実行するためのN8N推奨の本番環境設定です:

  • 🔒 セキュリティ強化:コードはメインのN8Nインスタンスから分離されたコンテナで実行されます
  • ⚡ パフォーマンス向上:タスクランナーはワークロードに応じて独立してスケールできます
  • 🛡️ サンドボックス実行:JavaScriptとPythonコードは制御された環境で実行されます
  • 🔄 自動シャットダウン:アイドル状態のランナーは15秒後に自動的にシャットダウンしてリソースを節約
  • 📊 本番環境対応:N8Nの本番デプロイのベストプラクティスに従っています

N8N v2を使用すると、以下のことが可能です:

  • ビジュアルエディタで自動化されたワークフローを作成
  • 数百のサービスやAPIに接続
  • CodeノードでカスタムJavaScriptとPythonコードを安全に実行
  • 信頼性の高いバックグラウンドワーカーでデータを処理してタスクを自動化
  • Webhookトリガーのワークフローを効率的に処理

ワーカーとタスクランナーのセットアップにより、自動化タスクが確実かつ安全に処理されます。

アップデート履歴

2026-08-02

  • N8N-Runnersサービスを削除OFFLOAD_MANUAL_EXECUTIONS_TO_WORKERS=true + queueモードでは、メインN8Nインスタンスはポート5679のタスクブローカーを起動しません——全実行(手動・本番)はWorkerにオフロードされます。N8N-Runnersは「Waiting for task broker to be ready」で永久に停止し、無意味でした。N8Nサービスから taskbroker ポート(5679)と N8N_RUNNERS_BROKER_LISTEN_ADDRESS も削除しました。Worker-Runnersのみ残存(Workerはブローカーを実行します)。
  • Codeノードの実行を修正(Worker-Runners):Worker-Runnersの N8N_RUNNERS_TASK_BROKER_URIhttp://Worker:5679 から http://${WORKER_BROKER_HOST}:5679 に変更。Zeaburのクラスタ内DNSは Worker のようなベアサービス名ではなく service-<id> ホスト名を解決します——ランナーは「Waiting for task broker to be ready」で無限に停止し、Codeノードが60秒でタイムアウトしていました。Workerサービスは ${CONTAINER_HOSTNAME} で内部ホスト名(WORKER_BROKER_HOST)を公開するようになりました。(N8N_RUNNERS_ENABLED はn8n v2で非推奨のため設定しません——公式ドキュメントを参照。)
  • 全ノード実行時の「Invalid URL」エラーを修正:N8NとWorkerに N8N_PROTOCOL=https を追加。n8nは ${N8N_PROTOCOL}://${N8N_HOST}/... から $execution.resumeUrl を構築します。プロトコルがないとURLが不正になり、全ノード(Set、Switch、Code等)が TypeError: Invalid URL をスローします。
  • Workerのwebhook URL解決を修正:Workerサービスには独自のドメインバインディングがないため、${ZEABUR_WEB_DOMAIN} / ${ZEABUR_WEB_URL} がコンテナ内で未設定です。N8N_HOSTWEBHOOK_URL${N8N_WEBHOOK_HOST} / ${N8N_WEBHOOK_URL}(N8Nサービスで新しく公開)を使用するよう変更しました。

2026-07-31

  • PostgreSQL、Redis、N8N、ワーカーに healthCheck を追加し、依存サービスが起動するまで待機するよう修正(起動時の競合を防止)
  • PostgreSQL を 18 にアップグレード(postgres:18 — 新しい data-dir 構成のため、ボリュームは /var/lib/postgresql にマウント)
  • N8N 暗号化キーはデプロイ時の説明に表示されなくなりました(秘匿保持 — このキーがあればワークフロー内の認証情報を復号できます。必要な場合は N8N サービスの環境変数で確認できます)
  • ローカライズ設定画面から古い TASK_RUNNERS_AUTH_TOKEN 変数を削除(トークンは自動生成され、サービス間で自動共有されます)

2026-03-23

  • サービス依存関係の配置を Zeabur テンプレートスキーマに準拠するよう修正(spec 内部からサービスレベルに移動)、正しい起動順序を確保
  • 非推奨の N8N_RUNNERS_ENABLED 環境変数を削除(N8N v2 ではタスクランナーがデフォルトで有効)
  • タスクランナーアーキテクチャを修正:単一の RunnersN8N-Runnershttp://N8N:5679 に接続)と Worker-Runnershttp://Worker:5679 に接続)に分割。公式 n8n docker-compose に準拠し、各 n8n インスタンスに専用の Runner を配備

2025-12-28

  • 重要:テンプレートをN8N v2対応に更新
  • 外部タスクランナーにアップグレード(本番環境推奨設定)
  • n8n-workerのサイドカーとして独立した task-runners サービスを追加
  • より良いセキュリティとパフォーマンスのために N8N_RUNNERS_MODE=external を設定
  • タスクランナーは、CodeノードのJavaScript/Pythonコードを分離されたコンテナで実行するようになりました
  • 安全なブローカー-ランナー認証のために TASK_RUNNERS_AUTH_TOKEN 変数を追加

このアップデートにより、N8N v2ワークフローが外部タスクランナーで安全に実行され、N8Nの本番デプロイのベストプラクティスに従うようになります。

2025-03-17

  • n8nメインインスタンスとワーカー間のN8N_ENCRYPTION_KEYの不一致を修正
  • システムの安定性向上のため、ワーカーがメインインスタンスと同じ暗号化キーを使用するように確保
  • 手動設置 N8N_ENCRYPTION_KEY 的能力を追加し、主インスタンスとワーカーの暗号化キーを確保

⚠️ 重要:このテンプレートの以前のバージョンをご使用の場合は、暗号化キーの同期の問題を避けるため、このバージョンへの更新をお願いします。

注:このテンプレートは、将来の互換性の問題を防ぐために、重要な環境変数を有効化しています:

  • N8N_RUNNERS_MODE=external:内部子プロセスの代わりに外部タスクランナーコンテナを使用します(本番環境推奨)。

  • OFFLOAD_MANUAL_EXECUTIONS_TO_WORKERS=true:スケーリングモードでのメインインスタンスでの手動実行は非推奨となっています。将来のバージョンでは、手動実行はワーカーにルーティングされます。この設定は、この変更に備えるものです。

タスクランナーについて詳しく:https://docs.n8n.io/hosting/configuration/task-runners/

デプロイ中に問題が発生した場合は、Github issue で教えてください。できる限り解決します: https://github.com/glasschan/seafoodholdhand-zeabur-templates