Node-REDのデフォルトポート(1880)を変更します。
アクセスURL: http://localhost:1881/
このガイドでは、Node-REDの設定ファイル settings.js について、よく使われる機能を中心に詳しく説明します。
📋 このガイドで扱う主な設定
settings.jsは、Node-REDのユーザーディレクトリにあります。
| OS | デフォルトの場所 |
|---|---|
| Windows | C:\Users\<ユーザー名>\.node-red\settings.js |
| macOS | /Users/<ユーザー名>/.node-red/settings.js |
| Linux / Raspberry Pi | /home/<ユーザー名>/.node-red/settings.js |
💡 ファイルの場所を確認する方法
Node-RED起動時のログに表示されます:
settings.jsはテキストエディタで編集します。OS別のコマンド例:
| OS | コマンド例 |
|---|---|
| Windows | notepad %USERPROFILE%\.node-red\settings.js |
| macOS | open -e ~/.node-red/settings.js |
| Linux / Raspberry Pi | nano ~/.node-red/settings.js |
💡 ヒント
VS Codeなどのコードエディタを使用すると、構文のハイライトやエラー検出が有効になるため編集が容易です。
⚠️ 書式エラーに注意
settings.jsはJavaScriptファイルのため、書式(構文)が正しくないとNode-REDが起動しなくなります。
よくある書式エラー:
,)の付け忘れ・余分なカンマ{ })や角括弧([ ])の閉じ忘れ:)の付け忘れ" または ')の閉じ忘れ編集前に必ずバックアップを取りましょう:
編集後、以下のコマンドで構文チェックができます:
エラーがなければ何も表示されず、エラーがあれば行番号とともにエラー内容が表示されます。
settings.jsは、JavaScriptオブジェクトをエクスポートする形式です。
⚠️ 重要な注意点
プロジェクト機能を有効にすると、Node-REDのフローをGitで管理できるようになります。
💡 プロジェクト機能のメリット
プロジェクト機能を使用するには、Gitがインストールされている必要があります。
バージョンが表示されればOKです。表示されない場合は Git公式サイト からインストールしてください。
settings.jsを開き、以下の設定を追加します。
📌 設定の配置場所
module.exports = { ... } の中括弧内に追加します。既に editorTheme が存在する場合は、その中に projects を追加してください。
設定を反映するために、Node-REDを再起動します。
起動時のログで以下のような警告が出なければ成功です:
ブラウザでNode-REDエディタを開くと、プロジェクト作成のウィザードが表示されます。
flows.json)✅ プロジェクト機能の有効化完了!
エディタ右上のメニューから「プロジェクト」→「プロジェクト設定」でGitの設定やリモートリポジトリの接続ができます。
Node-REDには、保護する対象ごとに異なる認証設定があります。
【認証設定と保護対象】
| 設定名 | 保護対象 | URL例 |
|---|---|---|
adminAuth |
Node-REDエディタ、管理API | http://localhost:1880/ |
httpNodeAuth |
Dashboard 2.0、HTTP Inノード | http://localhost:1880/dashboard/http://localhost:1880/api/xxx |
httpStaticAuth |
httpStaticで配信する静的ファイル | http://localhost:1880/static/ |
Node-REDエディタ画面にログインを必須にします。複数のユーザーと権限を設定できます。
| 権限 | 説明 |
|---|---|
"*" |
全ての操作が可能(管理者) |
"read" |
閲覧のみ(フローの編集・デプロイ不可) |
💡 匿名ユーザーに読み取り権限を与える場合
ログインしていないユーザーにも閲覧だけは許可したい場合:
Dashboard 2.0やHTTP Inノードで作成したAPIを保護します。
⚠️ 注意点
httpNodeAuthは1ユーザーのみ設定可能ですuser / pass(adminAuthの username / password とは異なる)httpStaticで配信する静的ファイルを保護する場合:
settings.jsに記述するパスワードは、bcrypt形式でハッシュ化する必要があります。平文のパスワードを直接書くことはできません。
コマンドを実行すると、パスワードの入力を求められます。入力後、ハッシュ化された文字列が表示されます。
node-red-adminをインストールしたくない場合:
your-password-here の部分を実際のパスワードに置き換えてください。
📌 bcryptjsがない場合
エラーが出る場合は、先にbcryptjsをインストールしてください:
✅ パスワード認証の設定完了!
Node-REDを再起動すると、エディタやダッシュボードにアクセスした際にログイン画面が表示されます。
Node-REDのコンテキスト変数(flow変数、global変数)は、デフォルトではメモリに保存されるため、Node-REDを再起動すると消えてしまいます。
コンテキスト永続化を設定すると、変数をファイルに保存し、再起動後も値を維持できます。
💡 こんな場合に便利
全てのコンテキスト変数をファイルに保存します。
一時的なデータはメモリに、永続化したいデータはファイルに保存します。
パターン2の場合、変数を保存・取得する際にストアを指定します。
| 操作 | メモリに保存(デフォルト) | ファイルに保存 |
|---|---|---|
| Changeノード | flow.myData |
flow.myData #file |
| Functionノード(set) | flow.set("myData", value) |
flow.set("myData", value, "file") |
| Functionノード(get) | flow.get("myData") |
flow.get("myData", "file") |
📌 ファイル保存の注意点
~/.node-red/context/ フォルダ内にJSONファイルとして保存書き込み間隔やキャッシュの設定をカスタマイズできます。
✅ コンテキスト永続化の設定完了!
Node-REDを再起動した後、エディタの「コンテキストデータ」サイドバーでストアを確認できます。
Node-REDのデフォルトポート(1880)を変更します。
アクセスURL: http://localhost:1881/
フローを保存するファイル名を変更します。
セキュアな接続を有効にします。証明書ファイルが必要です。
エディタとHTTPノードのルートURLを分離します。
Functionノード内でNode.jsモジュールを使用できるようにします。
Functionノード内で使用:
デバッグサイドバーに表示されるメッセージの最大文字数を設定します。
出力するログの詳細度を設定します。
| 症状 | 原因 | 解決方法 |
|---|---|---|
| Node-REDが起動しない | settings.jsの構文エラー |
|
| 「Projects disabled」と表示される | Gitがインストールされていない、または設定が正しくない |
|
| ログインできない | パスワードハッシュが正しくない |
|
| コンテキスト変数が保存されない | contextStorageの設定ミス、またはストアの指定漏れ |
|
| 設定変更が反映されない | Node-REDを再起動していない | Node-REDを完全に停止してから再起動 |
💡 構文エラーのデバッグ方法
settings.jsの構文エラーを確認するには:
エラーがなければ何も表示されません。エラーがあれば行番号とともに表示されます。
まだsettings.jsがない場合や、デフォルトの内容を確認したい場合:
このガイドは2025年1月時点の情報に基づいています。
最新の情報は公式ドキュメントを参照してください。