LoginSignup
3
3

More than 5 years have passed since last update.

node-redをRaspberryPi環境で、systemdを使い自動起動する

Last updated at Posted at 2019-02-08

unit設定ファイルが、node-redをあとからインストールしたため存在しなかった。そのため書く必要があった。
そのためのメモ書き。

この記事をベースに書き直した。Node-REDをsystemdでサービス化

これだとバージョンアップするたびに書き換えないといけないので、node-redコマンドのRaspberryPi用コマンドnode-red-piを使い、起動するようにした。

ユーザー名は適宜読み替えてください。ハードにアクセスするコードを書かなければ、ユーザにrootを指定する必要はありません。セキュリティ上危ないと思います。

node-red.service
[Unit]
After=syslog.target network.target
Documentation=http://nodered.org/

[Service]
Environment="NODE_OPTIONS=--max-old-space-size=128"
Environment="NODE_RED_OPTIONS=--max-old-space-size=128 --userDir /home/<username>/.node-red/"
ExecStart = /usr/bin/node-red-pi $NODE_RED_OPTIONS
WorkingDirectory=/home/<username>/.node-red/
User=<username>
Nice=10
SyslogIdentifier=Node-RED
StandardOutput=syslog
Restart=on-failure
KillSignal=SIGINT

[Install]
WantedBy=multi-user.target

オプションについては、こちらを参考にしてください。Node-RED User Group Japan|設定

余談

node-red-startコマンドだとsudoで起動する必要があり、visudoでパスなしsudoを許可する必要があったり、なぜか--settingsオプションが無視されたりした。そこで悪戦苦闘していた。
node-redもしくはnode-red-piならsudoなしで起動できるので、それを用いてサービス化している。

これで、準備ができると例えばこんな事ができます

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3