参考サイト
目標
※ ローカル環境での利用が前提なので注意すること
・node-red の最新環境(現時点で2.1)を Ubuntu 20.04 LTS にインストールする
・node-red を自動起動できるようにする。
・ユーザー認証機能をつける
インストール
事前に npm をインストールしておくこと。
sudo apt update
sudo apt install npm
など ...
node-red 最新版のインストールは以下のコマンドで実行できる
sudo npm install -g --unsafe-perm node-red
自動起動
PM2 を利用するのでインストールする。
sudo npm install -g pm2
node-red のパスを確認する
which node-red
私の環境では、
/usr/local/bin/node-red
だった。
PM2 にて、node-red を起動する。
pm2 start /usr/bin/node-red -- -v
自動起動の準備
pm2 save
pm2 startup
実行すると、
[PM2] Init System found: systemd
[PM2] To setup the Startup Script, copy/paste the following command:
sudo env ...
のような内容が表示されるので、command: より後の部分をターミナルにコピペして実行すると自動起動が登録される。
(PM2 の状況は service コマンドで確認&制御できる)
OS を再起動して自動起動されることを確認する。
ユーザー認証
settings.js ファイルを編集する。
私の環境では、
~/.node-red/settings.js
に存在していた。
ファイルの中に、以下のようなコメント部分がある。
//adminAuth: {
// type: "credentials",
// users: [{
// username: "admin",
// password: "$2a$08$zZWtXTja0fB1pzD4sHCMyOCMYz2Z6dNbM6tl8sJogENOMcxWV9DN.",
// permissions: "*"
// }]
//},
上記を参考にしてユーザ認証を行うように設定する。
adminAuth: {
type: "credentials",
users: [
{
username: "admin",
password: "$2a$08$zZWtXTja0fB1pzD4sHCMyOCMYz2Z6dNbM6tl8sJogENOMcxWV9DN.",
permissions: "*"
},
{
username: "kosayan",
password: "$2b$08$y.PoMnrvECs6TO5qudxNIOHZQ7cszX7xu75Or/23CZDJVVmF.hiO2",
permissions: "read"
}
]
}
password には ハッシュ値を設定する必要がある。
ハッシュパスワードの生成は以下のコマンドで行う。
node-red admin hash-pw
上記を実行するとパスワードの入力を促されるので、入力すると、
ハッシュ値を生成してくれる。
その値を settings.js の password に記述すれば良い。
認証機能はいろいろあるので詳細は公式サイトを確認してほしい。
OAuth/OpenID based authentication とかもある。
以上