From 9ecf8a61baebafbca7c7485f30061fc90113c47e Mon Sep 17 00:00:00 2001 From: Nils Steinger Date: Mon, 14 Sep 2015 05:00:59 +0200 Subject: [PATCH] Added init script for Debian's SysV-style init system Adapted from the OpenRC init script in contrib/openrc/init.d/gollum. --- contrib/sysv-debian/init.d/gollum | 79 +++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100755 contrib/sysv-debian/init.d/gollum diff --git a/contrib/sysv-debian/init.d/gollum b/contrib/sysv-debian/init.d/gollum new file mode 100755 index 00000000..b6bac7ba --- /dev/null +++ b/contrib/sysv-debian/init.d/gollum @@ -0,0 +1,79 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: gollum +# Required-Start: $local_fs $remote_fs $network $syslog +# Required-Stop: $local_fs $remote_fs $network $syslog +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# X-Interactive: true +# Short-Description: Start/stop gollum wiki +### END INIT INFO + +# Distributed under the terms of the MIT License + +set -e + +# Edit these settings to your liking: +GOLLUM_USER=gollum +GOLLUM_BASE=/var/lib/gollum/.git +GOLLUM_OPTS="--bare" + +NAME=gollum +PID=/var/run/${NAME}.pid +EXEC=/usr/local/bin/gollum +LOG=/var/log/gollum.log + +. /lib/lsb/init-functions + +start () +{ + # Change log file to be owned by GOLLUM_USER + touch "${LOG}" + chown "${GOLLUM_USER}" "${LOG}" + + log_daemon_msg "Starting Gollum" + start-stop-daemon --start \ + --name "${NAME}" \ + --user "${GOLLUM_USER}" \ + --chuid "${GOLLUM_USER}" \ + --pidfile "${PID}" \ + --make-pidfile --background \ + --startas /bin/sh -- -c "exec ${EXEC} $GOLLUM_OPTS \"$GOLLUM_BASE\" > \"${LOG}\" 2>&1" + log_end_msg $? +} + +stop () +{ + log_daemon_msg "Stopping Gollum" + start-stop-daemon --stop \ + --user "${GOLLUM_USER}" \ + --signal INT \ + --pidfile "${PID}" \ + --retry 10 + log_end_msg $? +} + +status () +{ + status_of_proc -p $PID $EXEC $NAME +} + +case $1 in + start) + start + ;; + stop) + stop + ;; + restart) + stop + start + ;; + status) + status + ;; + *) + log_success_msg "Usage: $0 {start|stop|restart|status}" + exit 1 + ;; +esac