Firstly we create a new init.d file, which is essentially a script for starting, stopping and restarting services under Linux.
sudo nano /etc/init.d/node_red
The only thing you may need to change before saving is the directory where node-red is installed on your Pi. If you have been following this guide all the way through you do not need to change anything.
For those that have installed Node-Red in a different location just change the following line “cd /home/pi/node-red” to reflect the folder location where Node-Red is installed.
#! /bin/sh # Starts and stops Node-RED # /etc/init.d/node_red ### 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 # Note: this runs as the user called pi PIDFILE=/var/run/nodered.pid #Load up node red when called case "$1" in start) echo "Starting Node-Red.." su -l pi -c "cd node-red; screen -dmS red node --max-old-space-size=64 red.js echo `screen -ls red | sed -n '2p' | cut -f1 -d.` > $PIDFILE # or #nohup node --max-old-space-size=128 red.js > /var/log/node-red.log & #echo $! > $PIDFILE ;; stop) echo "Stopping Node-Red.." su -l pi -c "screen -S red -X quit" # or #kill `cat $PIDFILE` rm -f $PIDFILE ;; restart) echo "Restarting Node-Red.." $0 stop $0 start ;; *) echo "Usage: $0 {start|stop|restart}" exit 1 esac
sudo chmod +x /etc/init.d/node_red
sudo update-rc.d node_red defaults
sudo service node_red start sudo service node_red stop sudo service node_red restart
To do this it is as simple as navigating to the home directory of your installation:
cd ~/node-red/
sudo git pull