#!/bin/sh /etc/rc.common

# Tachyon-managed AdGuard Home service. The configuration file is generated
# from /etc/config/tachyon by providers/adguard/runtime.uc; do not edit the
# YAML by hand, it is overwritten on every reconfigure.

USE_PROCD=1
START=98
STOP=20

PROG=/usr/bin/AdGuardHome
WORK_DIR=/etc/adguard
CONFIG=$WORK_DIR/AdGuardHome.yaml
PID_FILE=/var/run/tachyon/adguard/adguard.pid

start_service() {
	[ -x "$PROG" ] || return 0
	[ -f "$CONFIG" ] || return 0

	mkdir -p "$WORK_DIR" /var/run/tachyon/adguard

	procd_open_instance
	procd_set_param command "$PROG" -c "$CONFIG" -w "$WORK_DIR" --pidfile "$PID_FILE" --no-check-update
	procd_set_param file "$CONFIG"
	procd_set_param respawn
	procd_set_param stdout 1
	procd_set_param stderr 1
	procd_close_instance
}

stop_service() {
	[ -f "$PID_FILE" ] || return 0
	local pid
	pid="$(cat "$PID_FILE" 2>/dev/null)"
	[ -n "$pid" ] && kill "$pid" 2>/dev/null
	rm -f "$PID_FILE"
}
