Node-RED を別ポート・別フローで個別実行したいときに行っている設定メモ
Node-RED を別ポート・別フローで個別実行したいときに行っている設定メモです。
前提

Node-RED が Node.js npm でグローバルインストールされている前提です。
継続的に試しているプロジェクトをNode-RED を別ポート・別フローで個別実行するための設定です。
フォルダを作って Visual Studio Code で開く

どこかにプロジェクトのフォルダを作っておきます。

そのフォルダで起点に Visual Studio Code を開きます。 code -n <対象フォルダ> でコマンド実行すると楽にフォルダ指定できるのでおススメ。
プロジェクトと設定を入れる node-red_dir フォルダの準備
Visual Studio Code でターミナルを開いて作業進めていきます。
npm init -y
で、npm プロジェクトの初期設定をします。

プロジェクトフォルダ直下に package.json ができたら、同じ階層に node-red_dir フォルダを作ります。これが node-red の設定をすべて入れるフォルダになります。これで、このフォルダ内の設定やフローを使えば、別ポート・別フローが実現できます。
Node-RED 設定ファイル settings.js のファイルを取ってくる
通常、設定ファイルはグローバルインストールされているものと共通です。ただ、各プロジェクトごとに設定を調整したいこともあるでしょう。なので、Node-RED 設定ファイル settings.js の原本を取ってきます。
こちらにあるとおりで、原本は 2021/4 現在 こちら にあります。実際に使うデータはさらに raw な状態なデータはこちら にあります。raw なデータのほうをコピーします。

node-red_dir フォルダに settings.js として保存します。
package.json の scripts に書き加える
ということで node-red_dirを設定フォルダとして別ポート・別フローで起動できる npm run コマンドを作ります。今回は 18801 ポートとします。
node-red -p 18801 -u ./node-red_dir -s ./node-red_dir/settings.js
コマンドのパラメータ を参考にしてこのようなコマンドになります。
{
"name": "sample",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"node-red": "node-red -p 18801 -u ./node-red_dir -s ./node-red_dir/settings.js"
},
"keywords": [],
"author": "",
"license": "MIT"
}
たとえば、このように package.json の scripts 部分に書き加えます。
動かしてみる
これで準備は完了です。
npm run node-red
で起動してみましょう。

起動して、まず、 node-red_dir フォルダの中に色々と作られました。

適当にフローをつくってデプロイをしてみます。

無事フローファイルも、マシン名を引き継いで作成されました。
これでガシガシこのプロジェクト内で閉じた形で Node-RED が作業が進められます!