diff --git a/scripts/init/centos/gogs b/scripts/init/centos/gogs new file mode 100644 index 000000000..41c56d755 --- /dev/null +++ b/scripts/init/centos/gogs @@ -0,0 +1,92 @@ +#!/bin/sh +# +# /etc/rc.d/init.d/gogs +# +# Runs the Gogs Go Git Service. +# +# +# chkconfig: - 85 15 +# + +### BEGIN INIT INFO +# Provides: gogs +# Required-Start: $remote_fs $syslog +# Required-Stop: $remote_fs $syslog +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Start gogs at boot time. +# Description: Control gogs. +### END INIT INFO + +# Source function library. +. /etc/init.d/functions + +# Default values + +NAME=gogs +GOGS_HOME=/home/git/gogs +GOGS_PATH=${GOGS_HOME}/$NAME +GOGS_USER=git +SERVICENAME="Gogs Go Git Service" +PID=/var/run/$NAME.pid +LOCKFILE=/var/lock/subsys/gogs +LOGFILE=${GOGS_HOME}/log/gogs.log +RETVAL=0 + +# Read configuration from /etc/sysconfig/gogs to override defaults +[ -r /etc/sysconfig/$NAME ] && ./etc/sysconfig/$NAME + +# Don't do anything if nothing is installed +[ -x ${GOGS_PATH} ] || exit 0 + +DAEMON_OPTS="" + +# Set additional options, if any +[ ! -z "$GOGS_USER" ] && DAEMON_OPTS="$DAEMON_OPTS --user=${USER}" + +start() { + cd ${GOGS_HOME} + echo -n "Starting ${SERVICENAME}: " + daemon $DAEMON_OPTS --pidfile=${PID} "${GOGS_PATH} web 2>&1 > ${LOGFILE} &" + echo $! > ${PID} + RETVAL=$? + echo + [ $RETVAL = 0 ] && touch ${LOCKFILE} + + return $RETVAL +} + +stop() { + cd ${GOGS_HOME} + echo -n "Shutting down ${SERVICENAME}: " + killproc -p ${PID} ${NAME} + RETVAL=$? + echo + [ $RETVAL = 0 ] && rm -f ${LOCKFILE} ${PID} +} + +case "$1" in + start) + status ${NAME} > /dev/null 2>&1 && exit 0 + start + ;; + stop) + stop + ;; + status) + status -p ${PID} ${NAME} + ;; + restart) + stop + start + ;; + reload) + stop + start + ;; + *) + echo "Usage: ${NAME} {start|stop|status|restart}" + exit 1 + ;; +esac +exit $RETVAL