#!/bin/sh

# PROVIDE: yubal
# REQUIRE: LOGIN
# KEYWORD: shutdown
#
# Configuration settings for Yubal in /etc/rc.conf
#
# yubal_enable (bool):     Enable yubal. (Default=NO)
# yubal_env_file (str):    Path containing the environment variables
#                          to be used by yubal. (Default: /usr/local/etc/yubal.env)
# yubal_logfile (str):     Log file name. (Default: /var/log/yubal.log)
# yubal_runas (str):       User to run yubal as. (Default: www)

. /etc/rc.subr

name=yubal
desc="Self-hosted YouTube Music downloader"
rcvar="${name}_enable"

load_rc_config "${name}"

: ${yubal_enable:="NO"}
: ${yubal_env_file:="/usr/local/etc/${name}.env"}
: ${yubal_logfile:="/var/log/${name}.log"}
: ${yubal_runas:="www"}

pidfile="/var/run/${name}.pid"
start_cmd="${name}_start"
procname="/usr/local/bin/python3.11"

yubal_start()
{
	startmsg -n "Starting ${name}"
	cd "/var/db/${name}"
	env \
		YUBAL_ROOT="/usr/local/www/yubal-api" \
		YUBAL_DATA="/var/db/yubal/data" \
		YUBAL_CONFIG="/var/db/yubal/config" \
			 /usr/sbin/daemon -o "${yubal_logfile}" -u "${yubal_runas}" -p "${pidfile}" \
				"${procname}" -m yubal_api
	startmsg "."
}

run_rc_command "${1}"
