#!/bin/sh -e ######################################## #### THIS IS A DEBIAN INIT.D SCRIPT #### ######################################## ### BEGIN INIT INFO # Provides: rhodecode # Required-Start: $all # Required-Stop: $all # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: starts instance of rhodecode # Description: starts instance of rhodecode using start-stop-daemon ### END INIT INFO APP_NAME="rhodecode" APP_HOMEDIR="opt" APP_PATH="/$APP_HOMEDIR/$APP_NAME" CONF_NAME="production.ini" PID_PATH="$APP_PATH/$APP_NAME.pid" LOG_PATH="$APP_PATH/$APP_NAME.log" PYTHON_PATH="/$APP_HOMEDIR/$APP_NAME-venv" RUN_AS="root" DAEMON="$PYTHON_PATH/bin/paster" DAEMON_OPTS="serve --daemon \ --user=$RUN_AS \ --group=$RUN_AS \ --pid-file=$PID_PATH \ --log-file=$LOG_PATH $APP_PATH/$CONF_NAME" start() { echo "Starting $APP_NAME" PYTHON_EGG_CACHE="/tmp" start-stop-daemon -d $APP_PATH \ --start --quiet \ --pidfile $PID_PATH \ --user $RUN_AS \ --exec $DAEMON -- $DAEMON_OPTS } stop() { echo "Stopping $APP_NAME" start-stop-daemon -d $APP_PATH \ --stop --quiet \ --pidfile $PID_PATH || echo "$APP_NAME - Not running!" if [ -f $PID_PATH ]; then rm $PID_PATH fi } status() { echo -n "Checking status of $APP_NAME ... " pid=`cat $PID_PATH` status=`ps ax | grep $pid | grep -ve grep` if [ "$?" -eq 0 ]; then echo "running" else echo "NOT running" fi } case "$1" in status) status ;; start) start ;; stop) stop ;; restart) echo "Restarting $APP_NAME" ### stop ### stop wait ### start ### start ;; *) echo "Usage: $0 {start|stop|restart}" exit 1 esac