CRDevOps/logio-cookbook

View on GitHub
templates/default/debian_service.erb

Summary

Maintainability
Test Coverage
#!/bin/sh

# Must run as root
if [ "$(id -u)" != "0" ]; then
   echo "This script must be run as root" 1>&2
   exit 1
fi

export PATH=$PATH:/usr/bin
export NODE_APP='<%= @app_name %>'
export USER='<%= @user %>'

case "$1" in
start)
    su $USER -c "source <%= @nvm_loader %> && pm2 show -s ${NODE_APP} || pm2 start ${NODE_APP} --name ${NODE_APP}"
  ;;
stop)
    su $USER -c "source <%= @nvm_loader %> && pm2 stop $NODE_APP"
    su $USER -c "source <%= @nvm_loader %> && pm2 -s delete $NODE_APP"
  ;;
restart)
    su $USER -c "source <%= @nvm_loader %> && pm2 restart $NODE_APP"
  ;;
status)
    su $USER -c "source <%= @nvm_loader %> && pm2 show $NODE_APP"
  ;;
*)
  echo "Usage: ${0} {start|stop|status|restart}"
  exit 1
  ;;
esac

exit 0