Last active
April 22, 2023 22:08
-
-
Save Belphemur/cf91100f81f2b37b3e94 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
### BEGIN INIT INFO | |
# Provides: node-red | |
# Required-Start: $local_fs $remote_fs $network | |
# Required-Stop: $local_fs $remote_fs $network | |
# Default-Start: 2 3 4 5 | |
# Default-Stop: 0 1 6 | |
# Short-Description: Start or stop the node-red server | |
### END INIT INFO | |
# Can be downloaded and installed in one go by using this command | |
# sudo wget -O /tmp/download https://gist.github.com/Belphemur/cf91100f81f2b37b3e94/download && sudo tar -zxf /tmp/download --strip-components 1 -C /etc/init.d && sudo chmod +x /etc/init.d/node-red && sudo update-rc.d node-red defaults | |
# User that launches node-RED (it's advised to create a new user for Node-RED) | |
# You can do : sudo useradd node-red | |
# then change the USER=root by USER=node-red | |
# if you change the user, don't forget to also change the ownership of the log file (and create it if it doesn't exist): | |
# sudo chown NEWUSER /var/log/node-red.log | |
# else the log won't be writtable | |
USER=root | |
# The location of Node-RED configuration, not mandatory, leave empty/commented to let | |
# Node-RED decides. | |
#USER_DIR='/home/pi/node-red/' | |
# DONT'T CHANGE unless you know what you're doing | |
NAME=node-red | |
DAEMON=/usr/local/bin/node-red-pi | |
OPTIONS="--max-old-space-size=128" | |
if [ -n "$USER_DIR" ]; then | |
OPTIONS="$OPTIONS --userDir=$USER_DIR" | |
fi | |
LOG='/var/log/node-red.log' | |
PIDFILE=/var/run/node-red.pid | |
. /lib/lsb/init-functions | |
start_daemon () { | |
start-stop-daemon --start --background \ | |
--chuid $USER --name $NAME \ | |
$START_STOP_OPTIONS --make-pidfile --pidfile $PIDFILE \ | |
--startas /bin/bash -- -c "exec $DAEMON $OPTIONS >> $LOG 2>&1" | |
log_end_msg 0 | |
} | |
case "$1" in | |
start) | |
log_daemon_msg "Starting daemon" "$NAME" | |
start_daemon | |
;; | |
stop) | |
log_daemon_msg "Stopping daemon" "$NAME" | |
start-stop-daemon --stop --quiet \ | |
--chuid $USER \ | |
--exec $DAEMON --pidfile $PIDFILE --retry 30 \ | |
--oknodo || log_end_msg $? | |
log_end_msg 0 | |
;; | |
restart) | |
$0 stop | |
sleep 5 | |
$0 start | |
;; | |
status) | |
status_of_proc "$DAEMON" "$NAME" | |
exit $? | |
;; | |
*) | |
echo "Usage: $0 {start|stop|restart}" | |
exit 1 | |
esac | |
exit 0 |
hey @davidoc85 have you found any solution for your issue, im actually facing this issue right now .
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
How can I get this to run in Ubuntu 14.04?
Created the script manually inside init.d, and pasted the text from here.
Changed:
User=Root to
User=node-red
(which is a sudo user)DAEMON=/usr/local/bin/node-red-pi for
DAEMON=usr/bin/node-red
as this is what I get while typingwhich node-red
Then run from init.d
sudo chmod a+x node-red
Tested the script by running
sudo ./node-red start
and the daemon says that it starts, however it is not running.Am I missing something? Is there an easier way to launch using upstart in Ubuntu 14.04 (there is no systemd)?