mirror of
https://github.com/mtan93/homebridge.git
synced 2026-05-15 22:07:05 +01:00
SysVinit template for linux
This commit is contained in:
@@ -0,0 +1,88 @@
|
|||||||
|
### BEGIN INIT INFO
|
||||||
|
# If you wish the Daemon to be lauched at boot / stopped at shutdown :
|
||||||
|
#
|
||||||
|
# On Debian-based distributions:
|
||||||
|
# INSTALL : update-rc.d scriptname defaults
|
||||||
|
# (UNINSTALL : update-rc.d -f scriptname remove)
|
||||||
|
#
|
||||||
|
# On RedHat-based distributions (CentOS, OpenSUSE...):
|
||||||
|
# INSTALL : chkconfig --level 35 scriptname on
|
||||||
|
# (UNINSTALL : chkconfig --level 35 scriptname off)
|
||||||
|
#
|
||||||
|
# chkconfig: 2345 90 60
|
||||||
|
# Provides: %PATH%/app.js
|
||||||
|
# Required-Start: $remote_fs $syslog
|
||||||
|
# Required-Stop: $remote_fs $syslog
|
||||||
|
# Default-Start: 2 3 4 5
|
||||||
|
# Default-Stop: 0 1 6
|
||||||
|
# Short-Description: forever running %PATH%/app.js
|
||||||
|
# Description: %PATH%/app.js
|
||||||
|
### END INIT INFO
|
||||||
|
#
|
||||||
|
# initd a node app
|
||||||
|
# Based on a script posted by https://gist.github.com/jinze at https://gist.github.com/3748766
|
||||||
|
#
|
||||||
|
|
||||||
|
if [ -e /lib/lsb/init-functions ]; then
|
||||||
|
# LSB source function library.
|
||||||
|
. /lib/lsb/init-functions
|
||||||
|
fi;
|
||||||
|
|
||||||
|
pidFile="/var/run/homebridge.pid"
|
||||||
|
logFile="%PATH%/log/logs.log"
|
||||||
|
|
||||||
|
command="node"
|
||||||
|
nodeApp="%PATH%/app.js"
|
||||||
|
foreverApp="%FOREVER_PATH%"
|
||||||
|
|
||||||
|
start() {
|
||||||
|
echo "Starting $nodeApp"
|
||||||
|
|
||||||
|
# Notice that we change the PATH because on reboot
|
||||||
|
# the PATH does not include the path to node.
|
||||||
|
# Launching forever with a full path
|
||||||
|
# does not work unless we set the PATH.
|
||||||
|
PATH=/usr/local/bin:$PATH
|
||||||
|
export NODE_ENV=production
|
||||||
|
#PORT=80
|
||||||
|
$foreverApp start --pidFile $pidFile -l $logFile -a -d -c "$command" $nodeApp
|
||||||
|
RETVAL=$?
|
||||||
|
}
|
||||||
|
|
||||||
|
restart() {
|
||||||
|
echo -n "Restarting $nodeApp"
|
||||||
|
$foreverApp restart $nodeApp
|
||||||
|
RETVAL=$?
|
||||||
|
}
|
||||||
|
|
||||||
|
stop() {
|
||||||
|
echo -n "Shutting down $nodeApp"
|
||||||
|
$foreverApp stop $nodeApp
|
||||||
|
RETVAL=$?
|
||||||
|
}
|
||||||
|
|
||||||
|
status() {
|
||||||
|
echo -n "Status $nodeApp"
|
||||||
|
$foreverApp list
|
||||||
|
RETVAL=$?
|
||||||
|
}
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
start)
|
||||||
|
start
|
||||||
|
;;
|
||||||
|
stop)
|
||||||
|
stop
|
||||||
|
;;
|
||||||
|
status)
|
||||||
|
status
|
||||||
|
;;
|
||||||
|
restart)
|
||||||
|
restart
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Usage: {start|stop|status|restart}"
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
exit $RETVAL
|
||||||
Reference in New Issue
Block a user