AdGuard Home is alternative to Pi-Hole for network-wide Ad blocking but it has more capabilities for parental control and some other additional features. I have been using Pi-Hole on my home server, Raspberry Pi, virtual machine and even Docker container at home network to stop all annoying ads pop-ups on my mobile devices and computers for some time. However, recently AdGuard Home has got my attention since I found out that OpenWRT can run AdGuard Home natively without requring any additional server. It has been a year now using AdGuard Home instead of Pi-Hole on my home network.
Prerequisites
Dedicated bare-metal Linux server (Raspberry Pi 3, 4 or even Pi Zero 2 w) or Linux virtual machine running on some kind of type 1 hypervisor
Docker if you like to use the docker container for AdGuard Home (I use a dedicated VM to deploy AdGuard Home)
Basic understanding of Linux commands and YAML for backend configuration change
Installation
For automated install on LInux, run the following command.
root@adguard:~#curl-s-S-Lhttps://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh|sh-s---vstartingAdGuardHomeinstallationscriptchannel:releaseoperatingsystem:linuxcputype:amd64AdGuardHomewillbeinstalledinto/opt/AdGuardHomecheckingtarscriptisexecutedwithrootprivilegesnoneedtouninstalldownloadingpackagefromhttps://static.adtidy.org/adguardhome/release/AdGuardHome_linux_amd64.tar.gz ->AdGuardHome_linux_amd64.tar.gzsuccessfullydownloadedAdGuardHome_linux_amd64.tar.gzunpackingpackagefromAdGuardHome_linux_amd64.tar.gzinto/optsuccessfullyunpacked,contents:total27372-rwxrwxrwx1rootroot27889664Mar1000:03AdGuardHome-rw-rw-rw-1rootroot587Mar1000:03AdGuardHome.sig-rw-r--r--1rootroot70640Mar1000:03CHANGELOG.md-rw-r--r--1rootroot35149Mar1000:03LICENSE.txt-rw-r--r--1rootroot21563Mar1000:03README.md2023/03/2021:02:03 [info] AdGuard Home, version v0.107.262023/03/2021:02:03 [info] service: control action: install2023/03/2021:02:03 [info] service: started2023/03/2021:02:03 [info] Almost ready!AdGuardHomeissuccessfullyinstalledandwillautomaticallystartonboot.Thereareafewmorethingsthatmustbeconfiguredbeforeyoucanuseit.ClickonthelinkbelowandfollowtheInstallationWizardstepstofinishsetup.AdGuardHomeisnowavailableatthefollowingaddresses:2023/03/2021:02:03 [info] go to http://127.0.0.1:30002023/03/2021:02:03 [info] go to http://[::1]:30002023/03/2021:02:03 [info] go to http://10.11.12.124:30002023/03/2021:02:03 [info] go to http://[fe80::7ce0:42ff:fef1:1425%eth0]:30002023/03/2021:02:03 [info] service: action install has been done successfully on linux-systemdAdGuardHomeisnowinstalledandrunningyoucancontroltheservicestatuswiththefollowingcommands:sudo/opt/AdGuardHome/AdGuardHome-sstart|stop|restart|status|install|uninstall
Configuration
After the AdGuard Home installation, the welcome page will be displayed on the screen to initiate the setup in the server upon going to http://10.11.12.124:3000 in web browser.
Click "Get Started" button to go next and it will take you to the page where you can configure "Admin Web Interface" and "DNS server" listen interfaces as below. Note that it is important to have the static IP address has been set in prior to the AdGuard Home installation or make an IP address reservation in DHCP server. After configure both admin web interface and dns server listen interface, click "Next".
On the next screen, you can setup the admin account for AdGuard Home web portal as below. I use "adgadm" as my username and a strong password as my password as shown. Again, click "Next" to continue with its setup.
Then it will show you can configure your devices to use with AdGuard Home. The default or preferable option is "Router" while it is assuming that your home internet gateway router configured as DHCP server. Click "Next" to go to the next page.
Now it is ready to start using it as a networkwise adblocker or parental control. Click "Open Dashboard" for the login page.
Login with the defined username and password in the previous step.
As you can see, the AdGuard Home dashboard is clean and neat.
Let's have a look at how we can configure the DHCP server to use with AdGuard Home in the network. Mikrotik hAP ac is used my home internet gateway router for DHCP server.
For all AdGuard Home related configuration including block lists, upstream dns servers and clients list, I have configured all in a YAML file called AdGuardHome.yaml located in /opt/AdGuardHome/ directory. The same configuration can also be done in the AdGuard Home web GUI.