1. Lester Peabody
  2. RhodeCode

Commits

Lester Peabody  committed 238b280

added a RedHat-based init.d startup script

  • Participants
  • Parent commits 70e646b
  • Branches beta

Comments (0)

Files changed (1)

File init.d/rhodecode-daemon3

View file
  • Ignore whitespace
+#!/bin/sh
+##################################################
+#
+# RhodeCode server startup script
+# Recommended default-startup: 2 3 4 5
+# Recommended default-stop: 0 1 6
+#
+##################################################
+
+
+APP_NAME="rhodecode"
+# the location of your app
+# since this is a web app, it should go in /var/www
+APP_PATH="/var/www/$APP_NAME"
+
+CONF_NAME="production.ini"
+
+# write to wherever the PID should be stored, just ensure
+# that the user you run paster as has the appropriate permissions
+# same goes for the log file
+PID_PATH="/var/run/rhodecode/pid"
+LOG_PATH="/var/log/rhodecode/rhodecode.log"
+
+# replace this with the path to the virtual environment you
+# made for RhodeCode
+PYTHON_PATH="/opt/python_virtualenvironments/rhodecode-venv"
+
+RUN_AS="rhodecode"
+
+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"
+
+DESC="rhodecode-server"
+LOCK_FILE="/var/lock/subsys/$APP_NAME"
+
+# source CentOS init functions
+. /etc/init.d/functions
+
+RETVAL=0
+
+remove_pid () {
+  rm -f ${PID_PATH}
+  rmdir `dirname ${PID_PATH}`
+}
+
+ensure_pid_dir () {
+  PID_DIR=`dirname ${PID_PATH}`
+  if [ ! -d ${PID_DIR} ] ; then
+    mkdir -p ${PID_DIR}
+    chown -R ${RUN_AS}:${RUN_AS} ${PID_DIR}
+    chmod 755 ${PID_DIR}
+  fi
+}
+
+start_rhodecode () {
+    ensure_pid_dir
+    PYTHON_EGG_CACHE="/tmp" daemon --pidfile $PID_PATH \
+        --user $RUN_AS "$DAEMON $DAEMON_OPTS"
+    RETVAL=$?
+    [ $RETVAL -eq 0 ] && touch $LOCK_FILE
+    return $RETVAL
+}
+
+stop_rhodecode () {
+    if [ -e $LOCK_FILE ]; then
+      killproc -p $PID_PATH
+      RETVAL=$?
+      rm -f $LOCK_FILE
+      rm -f $PID_PATH
+    else
+      RETVAL=1
+    fi
+    return $RETVAL
+}
+
+status_rhodecode() {
+  if [ -e $LOCK_FILE ]; then
+    # exit with non-zero to indicate failure
+    RETVAL=1
+  else
+    RETVAL=0
+  fi
+  return $RETVAL
+}
+
+restart_rhodecode () {
+    stop_rhodecode
+    start_rhodecode
+    RETVAL=$?
+}
+
+case "$1" in
+  start)
+    echo -n $"Starting $DESC: "
+    start_rhodecode
+    echo
+    ;;
+  stop)
+    echo -n $"Stopping $DESC: "
+    stop_rhodecode
+    echo
+    ;;
+  status)
+    status_rhodecode
+    RETVAL=$?
+    if [ ! $RETVAL -eq 0 ]; then
+      echo "RhodeCode server is running..."
+    else
+      echo "RhodeCode server is stopped."
+    fi
+    ;;
+  restart)
+    echo -n $"Restarting $DESC: "
+    restart_rhodecode
+    echo
+    ;;
+  *)
+    echo $"Usage: $0 {start|stop|restart|status}"
+    RETVAL=1
+    ;;
+esac
+
+exit $RETVAL