#!/bin/sh

#
# PROVIDE: emby-server
# REQUIRE: LOGIN
# KEYWORD: shutdown
#
# Add the following lines to /etc/rc.conf.local or /etc/rc.conf
# to enable this service:
#
# emby_server_enable:	Set to yes to enable the emby-server service.
#			Default: no
# emby_server_user:	The user account used to run the emby-server daemon.
#			This is optional, however do not specifically set this to an
#			empty string as this will cause the daemon to run as root.
#			Default: emby
# emby_server_group:	The group account used to run the emby-server daemon.
#			This is optional, however do not specifically set this to an
#			empty string as this will cause the daemon to run with group wheel.
#			Default: emby
# emby_server_data_dir: Directory where emby-server configuration
#			data is stored.
#			Default: /var/db/emby-server
# emby_server_ffdetect: Path of the ffdetect binary.
#			Default: /usr/local/lib/emby-server/bin/ffdetect
# emby_server_ffmpeg:	Path of the ffmpeg binary.
#			Default: /usr/local/lib/emby-server/bin/ffmpeg
# emby_server_ffprobe:	Path of the ffprobe binary.
#			Default: /usr/local/lib/emby-server/bin/ffprobe
# emby_server_pid: 	Path of the pid file.
#			Default: /var/run/emby-server.pid

. /etc/rc.subr
name=emby_server
rcvar=${name}_enable
load_rc_config ${name}

: ${emby_server_enable:="no"}
: ${emby_server_user:="emby"}
: ${emby_server_group:="emby"}
: ${emby_server_data_dir:="/var/db/emby-server"}
: ${emby_server_ffdetect:="/usr/local/lib/emby-server/bin/ffdetect"}
: ${emby_server_ffmpeg:="/usr/local/lib/emby-server/bin/ffmpeg"}
: ${emby_server_ffprobe:="/usr/local/lib/emby-server/bin/ffprobe"}
: ${emby_server_pid:="/var/run/emby-server.pid"}

pidfile="${emby_server_pid}"
procname="/usr/local/bin/mono"
command="/usr/sbin/daemon"
command_args="-f -p ${emby_server_pid} ${procname} /usr/local/lib/emby-server/system/EmbyServer.exe \
	-os freebsd \
	-ffdetect ${emby_server_ffdetect} \
	-ffmpeg ${emby_server_ffmpeg} \
	-ffprobe ${emby_server_ffprobe} \
	-programdata ${emby_server_data_dir} \
	-updatepackage emby-server-freebsd12_{version}_amd64.txz"

start_precmd=emby_server_precmd
emby_server_precmd()
{
	[ -f ${emby_server_pid} ] || install -g ${emby_server_group} -o ${emby_server_user} -- /dev/null ${emby_server_pid}
	[ -d ${emby_server_data_dir} ] || install -d -g ${emby_server_group} -o ${emby_server_user} -- ${emby_server_data_dir}
}

stop_postcmd=emby_server_postcmd
emby_server_postcmd()
{
	rm -f ${emby_server_pid}
}

run_rc_command "$1"
