ports/www/gitea/files/gitea.in

66 lines
1.4 KiB
Bash

#!/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} \
-l daemon -s warning \
/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"