From 3acf88c9181f9fe49ae4013e4cd14ccf76cee26f Mon Sep 17 00:00:00 2001 From: "kebler.net" Date: Sun, 2 Jan 2022 19:21:21 -0800 Subject: [PATCH] feat: add upgrade script (for major releases), node log script refactor: better run script --- .gitignore | 1 + install-service | 1 + node-red-log | 1 + node-red.service | 7 +++---- run | 10 ++++------ update | 6 +++--- upgrade | 7 +++++++ 7 files changed, 20 insertions(+), 13 deletions(-) create mode 100644 .gitignore create mode 100755 node-red-log create mode 100755 upgrade diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..2ccbe46 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/node_modules/ diff --git a/install-service b/install-service index a4df038..825483b 100755 --- a/install-service +++ b/install-service @@ -1,5 +1,6 @@ #!/bin/bash sudo rm /etc/systemd/system/node-red@.service +sudo rm /etc/systemd/system/node-red.service sudo ln -s /opt/node-red-run/node-red.service /etc/systemd/system/ sudo systemctl daemon-reload sudo systemctl enable node-red diff --git a/node-red-log b/node-red-log new file mode 100755 index 0000000..a18b9c4 --- /dev/null +++ b/node-red-log @@ -0,0 +1 @@ + journalctl -f -u node-red diff --git a/node-red.service b/node-red.service index d607af7..31477b0 100644 --- a/node-red.service +++ b/node-red.service @@ -3,9 +3,8 @@ Description=Node-RED After=syslog.target network.target [Service] -# uncomment environment and set for alternative user directory, default is /opt/node-red -# run > sudo systemctl daemon-reload -# Environment=NODE_RED_USER_DIR=/opt/node-red +# uncomment environment and set for alternative user directory, default is /data/node-red +# Environment=NODE_RED_USER_DIR= ExecStart=/bin/bash /opt/node-red-run/run ${NODE_RED_USER_DIR} Restart=on-failure KillSignal=SIGINT @@ -15,7 +14,7 @@ SyslogIdentifier=node-red StandardOutput=syslog # non-root user to run as -WorkingDirectory=/opt/node-red +# WorkingDirectory=${NODE_RED_USER_DIR} User=sysadmin Group=sysadmin diff --git a/run b/run index 6c30abf..3023d39 100755 --- a/run +++ b/run @@ -1,8 +1,6 @@ #!/bin/bash -GDIR="/usr/lib/node_modules" # global install +GDIR="/usr/lib/node_modules" # global install, default global install directory DIR=${1:-$NODE_RED_USER_DIR} -echo any dir set? $DIR -DIR=${DIR:-/opt/node-red} -echo any dir set? $DIR -echo Starting Node Red with instance directory $DIR -/usr/bin/node -r $GDIR/esm $GDIR/node-red/red.js --userDir $DIR +[[ !$DIR ]] && echo using default user directory /data/node-red && DIR=/data/node-red +echo Starting Node Red with user instance directory $DIR +/usr/bin/node $GDIR/node-red/red.js --userDir $DIR \ No newline at end of file diff --git a/update b/update index bb8eb18..266a10a 100755 --- a/update +++ b/update @@ -1,6 +1,6 @@ #!/bin/bash -# run global update on node-red and esm -sudo npm install -g --unsafe-perm node-red -sudo npm install -g esm +# run global update on node-red +sudo systemctl stop nodered +sudo npm install -g --unsafe-perm --prefix /usr node-red sudo systemctl daemon-reload sudo systemctl restart node-red diff --git a/upgrade b/upgrade new file mode 100755 index 0000000..117bbf2 --- /dev/null +++ b/upgrade @@ -0,0 +1,7 @@ +#!/bin/bash +# run global update on node-red +sudo systemctl stop nodered +sudo npm uninstall -g --prefix /usr node-red +sudo npm install -g --unsafe-perm --prefix /usr node-red +sudo systemctl daemon-reload +sudo systemctl restart node-red