apt-get install screen git nodejs npm
nodejs --version
ln -s /usr/bin/nodejs /usr/bin/node
node --version
npm install -g --unsafe-perm node-red
vim /etc/init.d/node_red
#! /bin/sh
# Starts and stops Node-RED
# /etc/init.d/nodered
### BEGIN INIT INFO
# Provides: node-red
# Required-Start: $syslog
# Required-Stop: $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Node-RED initialisation
### END INIT INFO
# Can be downloaded and installed in one go by using this command
# sudo wget -O /tmp/download https://gist.github.com/bigmonkeyboy/9962293/download && sudo tar -zxf /tmp/download --strip-components 1 -C /etc/init.d && sudo chmod 755 /etc/init.d/nodered && sudo update-rc.d nodered defaults
# This runs as the user called pi - please change as you require
USER=pi
# The log is written to here - please make sure your user has write permissions.
LOG=/var/log/node-red.log
#Load up node red when called
case "" in
start)
if pgrep node-red$ > /dev/null
then
echo "Node-RED already running."
else
echo "Starting Node-Red.."
touch $LOG
chown $USER:$USER $LOG
echo "" >> $LOG
echo "Node-RED service start: "$(date) >> $LOG
# su -l $USER -c "cd ~/.node-red && screen -dmS red node-red-pi --max-old-space-size=128"
# or
su -l $USER -c "node-red-pi --max-old-space-size=128 -u ~/.node-red >> $LOG &"
echo "Logging to "$LOG
fi
;;
stop)
echo "Stopping Node-Red.."
# su -l $USER -c "screen -S red -X quit"
# or
pkill -SIGINT node-red$
sleep 2
echo "" >> $LOG
echo "Node-RED service stop: "$(date) >> $LOG
;;
restart)
echo "Restarting Node-Red.."
chmod +x /etc/init.d/node_red
stop
sleep 2
start
echo "Restarted."
;;
*)
echo "Usage: {CODE} {start|stop|restart}"
exit 1
esac
{CODE}