0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

dockerのn8nでもslackトリガーを使いたい

Posted at

はじめに

dockerでn8nをセルフホスティングしている場合に、slackに通知を送るノードは問題なく利用できるのですが、slackから通知を受け取る場合には、用意されているノードのみでは利用できないです。数時間悩み、もしかしたらと考え、セルフホスティングが原因かとChatGPTに聞いたところ、ngrokを利用すれば解決できるよと回答を貰い、またn8nとは別ですが、セルフホスティングでngrokを使って解決した例を見つけ、実施してみたところ解決しました。まったくn8nに関する記事が無いため、投稿しました。
※この記事はAIを利用して作成されました。

n8n を Docker + ngrok で Slack Trigger 対応する手順

1. 前提条件

  • Docker が利用可能な環境
  • n8n コンテナがポート 5678 で稼働可能
  • ngrok アカウント登録済み(https://ngrok.com/
  • ngrok の Authtoken を取得済み
    (※セキュリティのため公開しないこと)

2. n8n コンテナ起動

既にn8nをコンテナを起動している場合にはスキップしてOKです。ちなみに--add-hostの部分はollamaのコンテナをn8nのノードから利用できるように追加してあります。

docker run -d \
  --name n8n \
  -p 5678:5678 \
  -v n8n_data:/home/node/.n8n \
  --add-host=host.docker.internal:host-gateway \
  docker.n8n.io/n8nio/n8n

3. ngrok コンテナ起動(ログ出力あり)

<YOUR_NEW_TOKEN>は取得したトークンを入れてください。

docker run -d \
  --name ngrok \
  --link n8n \
  -e NGROK_AUTHTOKEN=<YOUR_NEW_TOKEN> \
  ngrok/ngrok:latest \
  http --log=stdout --log-level=info http://n8n:5678

4. 公開 URL の確認

docker logs -f ngrok

出力例:

t=... lvl=info msg="started tunnel" obj=tunnels name=command_line addr=http://n8n:5678 url=https://abc.ngrok-free.app

https://abc.ngrok-free.app が公開URL


5. Slack 側の設定

基本的な設定は以下を参考にしてください。

  1. n8n の Slack Trigger ノードを有効化(Activate)

  2. Production Webhook URL をコピー
    例:

    http://localhost:5678/webhook/123/webhook
    
  3. http://localhost:5678ngrok の HTTPS URL に置換
    例:

    https://abc.ngrok-free.app/webhook/123/webhook
    
  4. Slack App → Event SubscriptionsRequest URL に貼り付け → Verify


7. 注意点

  • ngrok の無料版 URL は再起動ごとに変わる(固定ドメインは有料プラン)
  • Slack の Verify は 3 秒以内応答必須
  • n8n ワークフローが未有効化だと 404 エラーになる
  • ngrok トークンが漏れた場合は 即ローテーション
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?