#!/bin/sh # PROVIDE: gitea # REQUIRE: NETWORKING SYSLOG # KEYWORD: shutdown # # Add the following lines to /etc/rc.conf to enable gitea: # #gitea_enable="YES" . /etc/rc.subr name="gitea" rcvar="gitea_enable" load_rc_config $name : ${gitea_user:="%%GITUSER%%"} : ${gitea_enable:="NO"} : ${gitea_configcheck_enable:="YES"} : ${gitea_facility:="daemon"} : ${gitea_priority:="info"} : ${gitea_shared:="%%PREFIX%%/share/${name}"} : ${gitea_custom:="%%PREFIX%%/etc/${name}"} command="%%PREFIX%%/sbin/${name} web" procname="%%PREFIX%%/sbin/${name}" githome="$(eval echo ~${gitea_user})" pidfile="/var/run/${name}.pid" start_cmd="${name}_start" start_precmd="${name}_prestart" gitea_start() { for d in /var/db/gitea /var/log/gitea; do if [ ! -e "$d" ]; then mkdir "$d" chown ${gitea_user} "$d" fi done /usr/sbin/daemon %%DAEMONARGS%% \ -u ${gitea_user} -p ${pidfile} \ /usr/bin/env -i \ "GITEA_WORK_DIR=${gitea_shared}" \ "GITEA_CUSTOM=${gitea_custom}" \ "HOME=${githome}" \ "PATH=%%PREFIX%%/bin:${PATH}" \ "USER=${gitea_user}" \ $command } gitea_prestart() { if checkyesno gitea_configcheck_enable; then if su -m ${gitea_user} -c "%%PREFIX%%/sbin/${name} doctor check >/dev/null"; then else echo "cannot start ${name} because of configuration errors. Run" >&2 echo " su -m git -c '${name} doctor check'" >&2 echo "for further details" return 1 fi fi } run_rc_command "$1"