mysociety/alaveteli

View on GitHub
config/sysvinit-passenger.example

Summary

Maintainability
Test Coverage
#! /bin/sh
### BEGIN INIT INFO
# Provides:          application-passenger-<%= site %>
# Required-Start:    $local_fs $network
# Required-Stop:     $local_fs $network
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Starts the Passenger app server for the "<%= site %>" site
# Description:       The Passenger app server for the "<%= site %>" site
### END INIT INFO

# This example sysvinit script is based on the helpful example here:
# http://richard.wallman.org.uk/2010/02/howto-deploy-a-catalyst-application-using-fastcgi-and-nginx/

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
NAME=<%= site %>
SITE_HOME=<%= vhost_dir %>/<%= vcspath %>
DESC="Alaveteli app server"
USER=<%= user %>

set -e

start_daemon() {
  echo -n "Starting $DESC: "
  rm -f "$SITE_HOME/public/down.html"
  echo "$NAME."
}

stop_daemon() {
  echo -n "Stopping $DESC: "
  ln -sf "$SITE_HOME/public/down.default.html" "$SITE_HOME/public/down.html"
  echo "$NAME."
}

restart_daemon() {
  echo -n "Restarting $DESC: "
  rm -f "$SITE_HOME/public/down.html"
  touch "$SITE_HOME/tmp/restart.txt"
  echo "$NAME."
}

case "$1" in
  start)
    start_daemon
    ;;
  stop)
    stop_daemon
    ;;
  reload|restart|force-reload)
    restart_daemon
    ;;
  *)
    N=/etc/init.d/$NAME
    echo "Usage: $N {start|stop|reload|restart|force-reload}" >&2
    exit 1
    ;;
esac

exit 0