I’m going to show you how to set up a virtual private network (VPN) using WireGuard on Unraid.
AdGuard Home is a network-wide DNS server for blocking ads and trackers. Instead of having an ad-blocker software on each device, it will cover all devices connected to the home network. AdGuard Home also comes with a parental control feature. You can enable at any time to block adult content and force safe search in the browser of any device.
In this guide, I’ll be showing you how to install AdGuard Home on Unraid. We will go over the installation process and the configuration to block ads on all devices connected to the home network.
To install AdGuard Home on Unraid, you need to have Docker enabled. If you don’t see the Docker option on the Unraid menu bar, go into the Settings tab and click on Docker. Then, set Enable Docker to Yes, and click on Apply.
Then, to make the installation easy, we are going to be using the Community Apps plugin. If you don’t have that installed yet, you can learn how to set it up here.
After you have that configured, go to the Apps tab. You want to get the official AdGuard Home image from Docker Hub. So, go to Apps Settings and under, Enable additional search results from Docker Hub, set it to Yes. Click on Apply and then Done.
In the Apps tab, search for AdGuard Home and click where it says, Get more results from DockerHub. Locate the Adguard home official image and click on the Install button to access the container settings.
There are a few things that you need to configure before installing the container. On the top right of the page, change from Basic view to Advanced view. The container doesn’t have the AdGuard icon set up by default. However, you can add it under, Icon URL. You can get the icon here. Under WebUI, enter the following,
http://[IP]:[PORT:3000]. What this means is that when you try to access the AdGuard web interface from Unraid, it will use the IP address you set up for AdGuard, and it would go through port 3000. For the Network type, change it to Custom, and under Fixed IP address, enter the IP address that you would like for AdGuard Home.
Next, you need to create a new folder named adguardhome inside the appdata directory. Then, Inside that folder, you would set up 2 volumes to store the configuration and the data. So, click where it says Add another path, port, variable, label or device. Leave the Config type set to Path. Set the Name to Work Directory or Data Directory. For the Container type, enter /opt/adguardhome/work. Then, on the Host Path, click on the empty field and select appdata from the dropdown. At this point, you haven’t created the adguardhome folder yet, so at the end of the path, enter adguardhome/work. The installation process will create the adguardhome folder and the work subfolder automatically. Click on Add and then add another path. Set the Name to Config Directory. For the Container type, enter /opt/adguardhome/conf. On the Host Path, select appdata again. At the end of the path, enter adguardhome/conf and then click Add.
You also need to configure 2 ports—Port 3000 for the web UI and port 53 for DNS. So, click on Add. Set the Config type to Port. For the Name, enter WebUI. The Host Port set it to 3000, and the Connection type set it to TCP. Click on Add and then add another port. For the Name, set it to DNS Server. The Host Port to 53 and the Connection type to TCP. Click on Add, and the configuration is all set. Make sure that the option to Start container after install is checked, and then click on Apply.
When the installation completes, click on Done, go back to the Dashboard, and the container will now be running.
AdGuard Home initial configuration
To access the web interface, click on the AdGuard icon on the Dashboard, and on the pop-up menu, click on WebUI. When you access the web interface for the first time, you get the welcome screen to start the initial configuration. Click on Get Started, and on the first configuration step, you can configure the ports for the web interface and the DNS. Change the port for the web interface to 3000 and then click on Next. In the next step, set up a username and password for the web interface. Click Next, and on the following page, you get the details on how to set up your devices to connect to the AdGuard DNS server. Click Next, then Open Dashboard, and sign in using the new username and password you set up.
The dashboard provides a brief overview of what AdGuard is doing. You can see stats on DNS queries, blocked domains, and malware. If you enable parental control, it would also show stats on any blocked adult websites.
In the General Settings, you can enable Parental control and also Safe Search. Enabling these 2 options here will affect all devices in your home network. However, you can also set up these options on specific devices only. We’ll go over that in a minute. In here, you can also set up how long you want to retain the query logs and the statistics.
To change the DNS server that AdGuard uses, you can go into the DNS Settings. By default, AdGuard Home uses the Quad9 DNS server. However, you can change it if you would like. You can click on the list of known DNS providers and select the one you would like to use.
If you would like to configure settings like parental control that would only affect your children’s devices, you can do so in the Client settings. So, if you add a client, you can set up the person’s name or the device name, then under Tags, you can select the tag that would correspond to the client. For example, you can choose the type of device that a person uses, the OS type, and the user type. Then, under Identifier, you can add either the device’s IP address or the device’s MAC address. Something to have in mind is that if you set up a device IP address, you would need to have that device configured with a static IP address on your network. If the client you are setting up has multiple devices, you can add more than one IP address or MAC address under the same client.
Under Settings, you can enable parental control and safe search. Then on, Block specific services you can block social media websites, chat applications, and video streaming sites. If you would like the client to use a particular DNS server, you can go to the Upstream DNS servers and add a specific DNS.
Save the configuration, and the device or devices set up under that client will follow those specific settings.
DNS blocklist & Custom filtering rules
Next, let’s look at the Filters tab. If you go to DNS Blocklists, AdGuard, by default, is using its DNS filter. However, there are several DNS blocklists out there that you can use. You can enable the other 2 blocklists already added to AdGuard or add additional blocklists.
If you want to whitelist or block a website, you can create a custom rule under Custom filtering rules. Adguard provides a few examples of common rules that you can use. For example, to whitelist a website, you can enter double “@” symbol, double pipe “|”, then the URL for the site you would like to whitelist and end the rule using a caret “^” symbol (
@@||example.com^). If you would like to block a website, you would use the same but without the double “@” symbol at the beginning (
Alright, last but not least, we have the Query log tab. Here, you can see all the DNS queries that are going through the AdGuard DNS server. You can check what domains were blocked and not blocked, and you can also either block or unblock a specific domain. When you do either action, Adguard will create a custom rule for that domain.
Setting up AdGuard Home as the DNS server
After you have AdGuard Home configured, the next step is to set it up as the DNS server for your home network. So, access your router settings and locate your DNS configuration. If you have a UniFi router, you would go into Settings, Network, Edit the LAN settings, and under DHCP Name Server, change it from Auto to Manual. Then below, enter the AdGuard DNS IP address. Save the changes, and the network is good to go. Your devices will need to reconnect to the network to get the new DNS settings.
Alright, so you now have a network that will block ads on all your devices, protect them from malware, and also protect your family from unwanted content.