こんにちは!合同会社ジセダイ代表の佐藤です。
前回の記事では、n8nとChatGPT APIを使用して、NEWS APIから特定のニュースを自動で取得し、Slackに通知するアプリケーションの概要についてお伝えしました。今回は、そのアプリケーションを実際に構築するための環境構築方法について解説します。具体的には、Dockerを使用したn8nのセットアップ方法と、ChatGPT APIおよびNEWS API、Slack Bot Tokenの設定方法について詳しく説明していきます。
前提条件
本記事では、以下の前提条件があります。
- Dockerがすでにインストールされていること
- 基本的なコマンドラインの操作ができること
Dockerのインストール方法については、Docker公式サイトを参照してください。
Dockerを使用したn8n環境構築
n8nは、ノーコードワークフローオートメーションツールで、さまざまなサービスを連携させることができます。ここでは、Docker Composeを使用してn8nを簡単に構築する方法を紹介します。
Docker Composeファイルの作成
まず、新しいディレクトリを作成し、その中にdocker-compose.yml
ファイルを作成します。
mkdir n8n-chatgpt-app
cd n8n-chatgpt-app
touch docker-compose.yml
次に、お好みのエディタでdocker-compose.yml
ファイルを開き、以下の内容を記述します。
services:
n8n:
image: n8nio/n8n:latest
restart: always
ports:
- "5678:5678"
# ホスト側のポート番号を変更したい場合
# - "8080:5678"
environment:
- N8N_HOST=localhost
- N8N_PORT=5678
- N8N_PROTOCOL=http
- NODE_ENV=production
- WEBHOOK_URL=http://localhost:5678/
# タイムゾーンを日本に設定
- GENERIC_TIMEZONE=Asia/Tokyo
volumes:
- n8n_data:/home/node/.n8n
volumes:
n8n_data:
このDocker Composeファイルでは、以下の設定を行っています:
- 公式のn8nイメージを使用
- ポート5678をホストマシンに公開
- タイムゾーンを日本に設定
- データの永続化のためのボリュームを設定
n8nの起動
準備ができたら、以下のコマンドでn8nを起動します:
docker-compose up -d
正常に起動すると、http://localhost:5678
でn8nのWebインターフェースにアクセスできるようになります。

ChatGPT APIの設定方法
n8nでChatGPT APIを使用するためには、OpenAIのAPIキーが必要です。APIキーの取得方法と設定方法について説明します。
OpenAIアカウントの作成とAPIキーの取得
OpenAIのウェブサイトにアクセスします。その後、「ログイン」をオンマウスし、「API プラットフォーム」を選択します。

ログインを行います。アカウントを所有していない場合、アカウントを作成します。
その後、ページ右上の歯車マークをクリックします。左メニューが表示されるので、「API Keys」をクリックします。その後、「+ Create new secret key」をクリックします。

Create new secret keyで、Nameなど、必要情報を入力します。
PermissionsはここではAllとします。必要に応じて、スコープを設定するなどを行ってください。

APIキーが発行されるので、コピーしておきます。
次の記事で使用しますので、メモ帳などで保存しておいてください。

重要: ChatGPT APIは有料サービスです。APIを使用すると、使用量に応じて課金されます。料金は使用するモデルやトークン数によって異なります。料金体系の詳細については、OpenAIの料金ページを確認してください。
課金の設定
以下の手順で、課金設定を行います。
- OpenAIダッシュボードを開き、歯車マークをクリック後、左メニューより「Billing」セクションにアクセスします。その後、メニュータブから「Payment methods」をクリックします。

- クレジットカードなどの支払い方法を登録します。
- 必要に応じて、使用量の上限を設定することも可能です。
NEWS APIの設定方法
ニュース情報を取得するためにNEWS APIを使用します。以下では、NEWS APIの登録方法と設定方法について説明します。

NEWS APIへの登録
- NEWS API公式サイトにアクセスします。
- 右上の「Get API Key」ボタンをクリックします。
- 必要な情報を入力してアカウントを作成します。
APIキーの取得
- アカウント作成後、自動的にAPIキーが発行されます。
- ダッシュボード画面でAPIキーを確認できます。
- このAPIキーをコピーしておきます。
次の記事で使用しますので、メモ帳などで保存しておいてください。
無料プランと有料プランの違い
NEWS APIには無料プランと有料プランがあります。
無料プラン(Developer)の制限:
- 1日あたり100リクエストまで
- 開発環境での開発およびテストにのみ利用可能で、ステージング環境や本番環境(社内環境を含む)では使用不可
※そのため、このプランを使用する際には、検証用としてお使いください。 - 最大1ヶ月前までのニュースが取得可能
- 24時間遅れで記事を取得
有料プラン(Business)の特徴:
- より多くのリクエスト数(月額に応じて変動)
- 本番環境での使用が可能
- リアルタイムのニュース取得が可能
開発段階では無料プランでも十分ですが、本番環境で運用する際には有料プランへのアップグレードを検討してください。
API制限の注意点
NEWS APIの無料プランには厳しいリクエスト制限があります。n8nの設定では、スケジュールの間隔を適切に設定して、API制限に引っかからないようにしましょう。今回のアプリでは、1日1回の実行なので、無料プランの範囲内で運用可能です。
Slack通知の設定方法
今回作成するアプリでは、アウトプットとしてSlack通知を行います。そのため、Slack通知を行うための設定手順を記載します。
※Slackそのものへのアカウント登録やワークスペース登録は、こちらの手順をもとに作成してください。
Slackアプリの作成と設定
Slackでアプリを作成し、Bot Tokenを設定する必要があります。
Slackのログイン後、Slack APIにアクセスし、「Create New App」をクリックします。

「From scratch」を選択し、アプリ名と利用するワークスペースを設定します。

左側メニューの「OAuth & Permissions」を選択します。ページ中部の「Scopes」の「Bot Token Scopes」をクリックし、「Add an OAuth Scope」ボタンをクリックします。
その後、以下のScopeを追加します。
- chat:write:public(自動的にchat:writeも付与)
- groups:read
- channels:read



同ページの「OAuth Tokens」の、「Install to (ワークスペース名)」ボタンをクリックします。その後、認証を実施します。


作成されたBot Tokenをコピーします。

まとめ
今回の記事では、Docker Composeを使用したn8nの環境構築方法と、ChatGPT APIおよびNEWS API、Slack Bot Tokenの設定方法について解説しました。これらの手順を完了することで、自動化ワークフローの基盤が整います。
次回の記事では、いよいよn8nを使用した具体的な設定手順について解説します。NEWS APIからニュースを取得し、ChatGPT APIを使用して重要度の高いニュースを選別し、Slackに通知するまでの一連のワークフローを構築していきます。
以上です、お時間いただきありがとうございました!