slackbuilds/network/AdGuardHome/rc.AdGuardHome

68 lines
1.3 KiB
Bash

#!/bin/bash
# Start/stop/restart the AdGuard Home
name="AdGuardHome"
user="dnsproxy"
workdir=/var/lib/"$name"
configdir=/etc/"$name"
pidfiles=/run/"$name"
mkdir -p $pidfiles $workdir $configdir
chmod 0700 $pidfiles $workdir
if /bin/id "$user" &>/dev/null; then
chown $user:$user $pidfiles
chown -R $user:$user $workdir
chown -R $user:$user $configdir
daemon="/usr/bin/daemon --name=$name --pidfiles=$pidfiles --user=$user"
else
daemon="/usr/bin/daemon --name=$name --pidfiles=$pidfiles"
fi
start_AdGuardHome() {
if $daemon --running; then
echo "$name is already running"
elif [ ! -f /etc/AdGuardHome/AdGuardHome.yaml ];then
/usr/sbin/AdGuardHome --config /etc/AdGuardHome/AdGuardHome.yaml \
--work-dir $workdir
else
echo "Starting $name..."
$daemon -- /usr/sbin/AdGuardHome --config /etc/AdGuardHome/AdGuardHome.yaml \
--work-dir $workdir --no-check-update
fi
}
stop_AdGuardHome() {
if $daemon --running; then
echo "Stopping $name..."
$daemon --stop
else
echo "$name is not running"
fi
}
restart_AdGuardHome() {
stop_AdGuardHome
sleep 1
start_AdGuardHome
}
status_AdGuardHome() {
$daemon --running --verbose
}
case "$1" in
'start')
start_AdGuardHome
;;
'stop')
stop_AdGuardHome
;;
'restart')
restart_AdGuardHome
;;
'status')
status_AdGuardHome
;;
*)
echo "usage $0 start|stop|restart|status"
esac