見出し画像

Raspberry PiでNode-REDが自動起動しない

最近にしては珍しく予定がない週末です。
いいえ、予定がないという予定を予定しているのです。

どうも、りょうです。
本日はRaspberry Piをいじっていたときに躓いた箇所の解決策です。

具体的には「Raspberry PiでNode-REDが自動起動しない」という現象が発生しました。

以下が僕が行った流れです。

  1. Raspberry Pi OS(旧Raspbian)をmicro SDにインストール

  2. マウスをポチポチしてNode-REDをインストール
    (既定で入っていたAdd/Remove Software?を使いました。最近のRaspberry PiにはNode-REDは既定でインストールされていないみたいでしたので)

  3. 「node-red」コマンドを実行してNode-REDが正しく動くこと(エラーが出ない)を確認

  4. Node-REDを自動起動さたいのでウェブを調べる

  5. systemdで勝手にサービス化されているらしい

  6. 「sudo systemctl status nodered.service」を実行してサービス化されていることを確認

  7. 「sudo systemctl start nodered.service」を実行してNode-REDが上がることを確認

  8. 「sudo systemctl enable nodered.service」を実行して再起動

  9. Node-REDが自動起動していない、、、なんで?

結論から申し上げますと、noderedを存在しないユーザ(pi)で実行しようとしたことによって自動起動に失敗しているようでした。

Node-REDを自動起動するユニットファイル(nodered.service)のユーザ名を「pi」→「設定したユーザ名」に書き換える*1とNode-REDが自動で上がるようになりました。

ついでにmax-old-space-sizeを指定して未使用のメモリを早く解放する*2ように書き換えるとよいと思います。

node-red-pi --max-old-space-size=256

そもそも、僕がOSのインストール時(2022年3月)にセキュリティの観点から「pi」ユーザを削除していたために起こったトラブルでした。

ユーザ名を「pi」のまま使っていればトラブルは発生しないため、記事に残す必要はないかなぁと思っていた矢先に下記の記事を見つけました。

今現在(2022/4/16)最新版のOSをインストールした人は僕のように躓くことが予想されます。

どなたかの役に立っていれば幸いです。

有意義な土日をお過ごしください!!


以下に参考にしたページを書いておきます。

  1. Raspberry Piサービスをカスタマイズする _ Node-RED日本ユーザ会

  2. Raspberry Piで実行する _ Node-RED日本ユーザ会


この記事が気に入ったらサポートをしてみませんか?