mirror of
https://github.com/go-gitea/gitea.git
synced 2026-05-23 05:42:33 +09:00
1. remove useless files like "backport.go", "update_dependencies.sh" 2. remove outdated "init" scripts, only keep one in sysvinit, gentoo dir is also kept because it still uses openrc 3. move "service" related config and scripts into "service" directory
90 lines
2.2 KiB
Bash
90 lines
2.2 KiB
Bash
#!/bin/bash
|
|
### BEGIN INIT INFO
|
|
# Provides: gitea
|
|
# Required-Start: $syslog $network
|
|
# Required-Stop: $syslog
|
|
# Default-Start: 2 3 4 5
|
|
# Default-Stop: 0 1 6
|
|
# Short-Description: A self-hosted Git service written in Go.
|
|
# Description: A self-hosted Git service written in Go.
|
|
### END INIT INFO
|
|
|
|
# This is a System V Init (init.d) startup script for legacy Linux distributions
|
|
|
|
# Do NOT "set -e"
|
|
|
|
# PATH should only include /usr/* if it runs after the mountnfs.sh script
|
|
PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin
|
|
DESC="Gitea - Git with a cup of tea"
|
|
NAME=gitea
|
|
SERVICEVERBOSE=yes
|
|
PIDFILE=/run/$NAME.pid
|
|
SCRIPTNAME=/etc/init.d/$NAME
|
|
WORKINGDIR=/var/lib/$NAME
|
|
DAEMON=/usr/local/bin/$NAME
|
|
DAEMON_ARGS="web -c /etc/$NAME/app.ini"
|
|
USER=git
|
|
STOP_SCHEDULE="${STOP_SCHEDULE:-QUIT/5/TERM/1/KILL/5}"
|
|
|
|
# If you want to bind Gitea to a port below 1024, apply "setcap" to the gitea binary
|
|
#setcap cap_net_bind_service=+ep $DAEMON"
|
|
|
|
# Read configuration variable file if it is present
|
|
[ -r /etc/default/$NAME ] && . /etc/default/$NAME
|
|
|
|
# Exit if the package is not installed
|
|
[ -x "$DAEMON" ] || exit 0
|
|
|
|
do_start()
|
|
{
|
|
GITEA_ENVS="USER=$USER GITEA_WORK_DIR=$WORKINGDIR HOME=/home/$USER"
|
|
GITEA_EXEC="$DAEMON -- $DAEMON_ARGS"
|
|
sh -c "start-stop-daemon --start --quiet --pidfile $PIDFILE --make-pidfile \\
|
|
--background --chdir $WORKINGDIR --chuid $USER \\
|
|
--exec /bin/bash -- -c '/usr/bin/env $GITEA_ENVS $GITEA_EXEC'"
|
|
}
|
|
|
|
do_stop()
|
|
{
|
|
start-stop-daemon --stop --quiet --retry=$STOP_SCHEDULE --pidfile $PIDFILE --name $NAME --oknodo
|
|
rm -f $PIDFILE
|
|
}
|
|
|
|
do_status()
|
|
{
|
|
if [ -f $PIDFILE ]; then
|
|
if kill -0 $(cat "$PIDFILE"); then
|
|
echo "$NAME is running, PID is $(cat $PIDFILE)"
|
|
else
|
|
echo "$NAME process is dead, but pidfile exists"
|
|
fi
|
|
else
|
|
echo "$NAME is not running"
|
|
fi
|
|
}
|
|
|
|
case "$1" in
|
|
start)
|
|
echo "Starting $DESC" "$NAME"
|
|
do_start
|
|
;;
|
|
stop)
|
|
echo "Stopping $DESC" "$NAME"
|
|
do_stop
|
|
;;
|
|
status)
|
|
do_status
|
|
;;
|
|
restart)
|
|
echo "Restarting $DESC" "$NAME"
|
|
do_stop
|
|
do_start
|
|
;;
|
|
*)
|
|
echo "Usage: $SCRIPTNAME {start|stop|status|restart}" >&2
|
|
exit 2
|
|
;;
|
|
esac
|
|
|
|
exit 0
|