aboutsummaryrefslogtreecommitdiffstats
path: root/config/sysvinit.example
blob: 443e7c3fbacc8e086cd799c43ffdfb5eb50f1de2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#! /bin/sh
### BEGIN INIT INFO
# Provides:          application-thin-alaveteli
# 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 Thin web server for the "Alaveteli" site
# Description:       The Thin web server for the "Alaveteli" 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
SITE_HOME=/var/www/alaveteli
NAME=alaveteli
DESC="Alaveteli app server"
USER=fms

echo $DAEMON
test -f $DAEMON || exit 0

set -e

start_daemon() {
  su -l -c "cd $SITE_HOME/alaveteli && bundle exec thin -d -p 3300 -e development start" $USER
}

stop_daemon() {
  pkill -f thin -u $USER || true
}

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

exit 0