Initial commit
This commit is contained in:
92
gitea/gitea.init
Normal file
92
gitea/gitea.init
Normal file
@@ -0,0 +1,92 @@
|
||||
#!/bin/sh
|
||||
# Start/stop/restart Gitea daemon.
|
||||
|
||||
. /etc/default/gitea
|
||||
|
||||
__start() {
|
||||
echo "Starting Gitea daemon: /usr/sbin/gitea"
|
||||
|
||||
if [ -z $GITEAUSER ]; then
|
||||
echo "Please set user to run gitea as, usually, git"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
getent passwd $GITEAUSER 1>/dev/null 2>/dev/null
|
||||
|
||||
if [ $? != 0 ]; then
|
||||
echo "No user $GITEAUSER mentioned in /etc/default/gitea"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -z "$PIDFILE" ]; then
|
||||
echo "Please set PIDFILE in /etc/default/gitea"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ ! -d $(dirname $PIDFILE) ]; then
|
||||
mkdir -p $(dirname $PIDFILE)
|
||||
chown -R $GITEAUSER:root $(dirname $PIDFILE)
|
||||
fi
|
||||
|
||||
if [ -z "$CONFIG" ]; then
|
||||
echo "Please set full path to gitea config in /etc/default/gitea"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -f "$PIDFILE" ]; then
|
||||
echo "Gitea daemon is already running as PID $(< ${PIDFILE}) " >&2
|
||||
exit 3
|
||||
fi
|
||||
|
||||
if [ ! -d $(dirname $PIDFILE) ]; then
|
||||
install -d -m 0755 -o $GITEAUSER "$(basename $PIDFILE)"
|
||||
fi
|
||||
|
||||
if [ ! -d $(dirname $LOG) ]; then
|
||||
mkdir -p $(dirname $LOG)
|
||||
fi
|
||||
|
||||
chown -R $GITEAUSER "$(dirname $LOG)"
|
||||
|
||||
exec sudo -b -u $GITEAUSER -- /usr/sbin/gitea web \
|
||||
--config "$CONFIG" \
|
||||
--pid "$PIDFILE" \
|
||||
--custom-path "$CUSTOMDIR" \
|
||||
--work-path "$WORKDIR" >> /dev/null 2>&1
|
||||
}
|
||||
|
||||
__stop() {
|
||||
# do you know not so racy way here?
|
||||
if [ -f "$PIDFILE" ]; then
|
||||
kill $(cat ${PIDFILE})
|
||||
rm -f "${PIDFILE}"
|
||||
else
|
||||
echo "Gitea daemon is not running"
|
||||
fi
|
||||
}
|
||||
|
||||
__restart() {
|
||||
__stop
|
||||
# pidfile being deleted immediately after sending SIGTERM to gitea process
|
||||
# so we have to wait 'till it leave network socket alone
|
||||
sleep 3
|
||||
__start
|
||||
}
|
||||
|
||||
|
||||
case "$1" in
|
||||
'start')
|
||||
__start
|
||||
;;
|
||||
'stop')
|
||||
__stop
|
||||
;;
|
||||
'restart')
|
||||
__restart
|
||||
;;
|
||||
*)
|
||||
echo "usage $0 start|stop|restart"
|
||||
exit 2
|
||||
esac
|
||||
|
||||
# vim: ft=sh noet ai ts=4 sw=4 sts=4:
|
||||
Reference in New Issue
Block a user