UPSTART
sudo vi /etc/init/.conf
add inside:
description "<reponame>"
author "name"
env PROGRAM_NAME="<reponame>"
start on (local-filesystems and net-device-up IFACE=eth0)
stop on shutdown
respawn
respawn limit 5 60
script
export NODE_ENV=production
echo $$ > /var/run/$PROGRAM_NAME.pid
export NODE_PATH=$NODE_PATH:/usr/local/lib/node_modules
cd /var/www/<reponame>
exec /usr/local/bin/nodemon --exitcrash app.js 2>&1 >> /var/log/<reponame>.log
end script
pre-stop script
rm /var/run/$PROGRAM_NAME.pid
end script
MONIT
sudo vi /etc/monit/monitrc
(on top only the first time) set daemon 120
(then new repo)
#<reponame>
check process affinity with pidfile "/var/run/<reponame>.pid"
start program = "/sbin/start <reponame>"
stop program = "/sbin/stop <reponame>"
if failed port <repoPort> protocol HTTP
request /
with timeout 5 seconds
then restart