An ad blocker is a tool that removes advertisements on websites you visit. There are many ad blockers out there for you to choose from, and they vary on things like price and effectiveness. From a user's perspective, there are various fundamental reasons why one would want to use ad-blocking;

1. It makes your online browsing safer
In some of the world's most popular websites, hackers are buying up advertising space to distribute malicious ads that can do significant harm to your computer. The fastest way to close this tap is to block online ads from showing up at all.

2. It stops advertisement servers from tracking you
Advertisement servers also like to watch along while browsing online to gather all sorts of personal information about you and your habits that can be sold to third parties or used to send you even more targeted advertising. Blocking ads stop ad servers from being able to track you at all.

3. It makes your favorite websites load faster
By blocking online advertisements, your browser is free to concentrate on loading the actual content of the site that you want to visit instead of analytics code, text, and imagery.

4. It can majorly declutter your browsing experience
Using an ad blocker gives you an overall better online browsing experience. You get cleaner websites, no annoying pop-ups, and no sudden, very unwelcome sound effects. Replacing all the ads with pleasant, reader-friendly white space can make the time you spend online feel like a radically different experience.

AdGuard Home

AdGuard Home is a network-wide software for blocking ads & tracking. AdGuard Home free, open-source and serves as a privacy protection center for you and your devices. It operates as a DNS server that re-routes tracking domains to a "black hole," thus preventing your devices from connecting to those servers and is written in the popular programming language Go.

AdGuard Home allows you to run your DNS server and do much more than using a public DNS server (like Google, CloudFlare or Quad9). It allows you to choose what the DNS server will block, monitor your network activity, and add custom filtering rules.

AdGuard Home is a competitor to Pi-hole, a popular ad blocker among Raspberry Pi users. AdGuard Home has a lot in common with Pi-hole. Both block ads and trackers using "DNS sinkholing" method and both allow customizing what's blocked. AdGuard Home provides a lot of features out-of-the-box with no need to install and configure additional software.

Getting started

Since I am using Portainer and Watchtower to manage my Docker hosts, setting up AdGuard Home would be preferably using a Docker Stack in Portainer. A Docker Stack is closely related to setting up a Docker Compose file. Docker Compose is a tool for defining and running multi-container Docker applications. With Docker Compose, you use a YAML file to configure your application's services.

I created the following YAML file containing the configuration for running AdGuard Home using their official repository. Keep in mind that you might need to change the :latest image tag according to your machine's architecture. You can look up these tags in their repository.

version: '2'
services:
  adguardhome:
    container_name: adguardhome
    image: adguard/adguardhome:latest
    restart: always
    volumes: 
      - adguardhome_data:/opt/adguardhome/work
      - adguardhome_conf:/opt/adguardhome/conf
    # Uncomment when you want to setup a DHCP server as well
    # network_mode: "host"
    ports:
      - "53:53/tcp"
      - "53:53/udp"
      - "67:67/udp"
      - "68:68/tcp"
      - "68:68/udp"
      - "80:80/tcp"
      - "443:443/tcp"
      - "853:853/tcp"
      - "3000:3000/tcp"

If you are using UFW to secure your Docker host, make sure to allow the ports stated above.

AdGuard Home also enables the possibility to set up a DHCP server if you are unable to modify the DNS server in your home router. Make sure to uncomment the network_mode: "host" line in the Docker Compose file.

Finally, you can reach the setup of AdGuard Home at http://localhost:3000.

Using AdGuard Home

AdGuard Home | Dashboard
AdGuard Home | Dashboard

After you have set up the application and your device's DNS settings according to the setup wizard by AdGuard Home, you can access the Dashboard and view valuable information about the blocked ads & trackers.

By default, AdGuard Home uses Quad9 as the upstream DNS server using DNS-over-HTTPS to securely forward unblocked DNS requests made by your devices. You can modify the upstream DNS settings in the application's settings along with other settings like managing the blocked DNS queries and setting up a DHCP server in your network.

That's it! You are now running AdGuard Home as a tool to block online advertisements to improve your overall online browsing experience. I highly recommend checking out AdGuard Home's repository for more in-depth information and thanks for reading!

Post image by Erik Mclean