diff --git a/startup/homebridge b/startup/homebridge new file mode 100644 index 0000000..161c8b7 --- /dev/null +++ b/startup/homebridge @@ -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