code.gitea.io/gitea@v1.21.7/contrib/init/ubuntu/gitea (about) 1 #!/bin/sh 2 ### BEGIN INIT INFO 3 # Provides: gitea 4 # Required-Start: $syslog $network 5 # Required-Stop: $syslog 6 # Default-Start: 2 3 4 5 7 # Default-Stop: 0 1 6 8 # Short-Description: A self-hosted Git service written in Go. 9 # Description: A self-hosted Git service written in Go. 10 ### END INIT INFO 11 12 # Do NOT "set -e" 13 14 # PATH should only include /usr/* if it runs after the mountnfs.sh script 15 PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin 16 DESC="Gitea - Git with a cup of tea" 17 NAME=gitea 18 SERVICEVERBOSE=yes 19 PIDFILE=/run/$NAME.pid 20 SCRIPTNAME=/etc/init.d/$NAME 21 WORKINGDIR=/var/lib/$NAME 22 DAEMON=/usr/local/bin/$NAME 23 DAEMON_ARGS="web -c /etc/$NAME/app.ini" 24 USER=git 25 STOP_SCHEDULE="${STOP_SCHEDULE:-QUIT/5/TERM/1/KILL/5}" 26 27 # Read configuration variable file if it is present 28 [ -r /etc/default/$NAME ] && . /etc/default/$NAME 29 30 # Exit if the package is not installed 31 [ -x "$DAEMON" ] || exit 0 32 33 do_start() 34 { 35 GITEA_ENVS="USER=$USER GITEA_WORK_DIR=$WORKINGDIR HOME=/home/$USER" 36 GITEA_EXEC="$DAEMON -- $DAEMON_ARGS" 37 sh -c "start-stop-daemon --start --quiet --pidfile $PIDFILE --make-pidfile \\ 38 --background --chdir $WORKINGDIR --chuid $USER \\ 39 --exec /bin/bash -- -c '/usr/bin/env $GITEA_ENVS $GITEA_EXEC'" 40 } 41 42 do_stop() 43 { 44 start-stop-daemon --stop --quiet --retry=$STOP_SCHEDULE --pidfile $PIDFILE --name $NAME --oknodo 45 rm -f $PIDFILE 46 } 47 48 do_status() 49 { 50 if [ -f $PIDFILE ]; then 51 if kill -0 $(cat "$PIDFILE"); then 52 echo "$NAME is running, PID is $(cat $PIDFILE)" 53 else 54 echo "$NAME process is dead, but pidfile exists" 55 fi 56 else 57 echo "$NAME is not running" 58 fi 59 } 60 61 case "$1" in 62 start) 63 echo "Starting $DESC" "$NAME" 64 do_start 65 ;; 66 stop) 67 echo "Stopping $DESC" "$NAME" 68 do_stop 69 ;; 70 status) 71 do_status 72 ;; 73 restart) 74 echo "Restarting $DESC" "$NAME" 75 do_stop 76 do_start 77 ;; 78 *) 79 echo "Usage: $SCRIPTNAME {start|stop|status|restart}" >&2 80 exit 2 81 ;; 82 esac 83 84 exit 0