概要
Node-REDの動作環境はIBM Cloudが有名ですが、もちろんローカルPCでも使用することが出来ます。しかし、その場合localhostで動作する為、LANの外からアクセスをすることが出来ず、Webhookなどが使用できません。
今回は、この悩みを解消してくれた『ngrok』というツールがとても良かったのでご紹介したいと思います。
動作環境
システム | バージョン |
---|---|
macOS Catalina | 10.15.6 |
node-red | 1.1.2 |
ngrok | 2.3.35 |
Node-REDをローカル環境で動作させる場合、いくつかの選択肢があります。(公式を参照)
今回はnpmを用いて、Node-REDをインストールした環境と仮定します。
ngrok
ngrokとは、localhostのサーバーに対して、外部からもアクセスすることのできるパブリックURLを、ngrok起動ごとに割り当てることができます。これによって、デプロイせずにWebサイトのデモを行うことや、開発環境下でWebhookを使用することができるようになります。
##使用方法
事前準備
①公式サイトより、アカウントを作成します。
現在はGoogleとGithubでのシングルサインオンに対応しているので、そちらのアカウントからでもログインすることが出来ます。
②ログイン後、ngrokをダウンロードし、zipファイルを解凍。
※実行ファイルをホームディレクトリに移動させておきます。
③公式サイトの「Setup&Installation」> 「2. Connect your account」にある以下のようなコマンドを打つことで、新たに隠しフォルダとymlファイルが生成され、作成したアカウント情報との紐付けが行われます。
./ngrok authtoken { 認証トークン }
※./ngrok
の部分は実行ファイルが存在しているパスを示しているので、ホームディレクトリ直下に置かない場合は任意のパスを記述します。
実行
npmでNode-REDをインストールした場合、デフォルトで使用しているポート番号は1880なので以下のようなコマンドで起動することが出来ます。
./ngrok http 1880
ターミナルに表示される部分を一部抜粋、、
Forwarding http://〇〇〇〇.ngrok.io -> http://localhost:1880
Forwarding https://〇〇〇〇.ngrok.io -> http://localhost:1880
ブラウザからhttp://〇〇〇〇.ngrok.ioにアクセスすると、Node-REDエディタに移ることが出来ます。
以降はhttp://〇〇〇〇.ngrok.ioをエンドポイントとして、Webhookなどを使用することができます。