April 15, 2021 - Patrick Kerwood

Setting up AdGuard Home

Like Pi-hole, AdGuard Home is a network-level software for blocking ads and tracking. It operates as a DNS server that re-routes tracking domains to a "black hole", preventing your devices from connecting to those servers.

If you would like to compare AdGuard to Pi-hole have a look at this link. (opens new window)

# Docker Compose

Below are a list of ports AdGuard Home uses for added features. You can find documentation on their wiki about Encryption (opens new window) and DNSCrypt. (opens new window) I have not included these in my docker compose.

  • 67:67/udp, 68:68/tcp, 68:68/udp - AdGuard Home DHCP server.
  • 443:443/tcp - HTTPS/DNS-over-HTTPS server.
  • 853:853/tcp - DNS-over-TLS server.
  • 784:784/udp - DNS-over-QUIC server.
  • 5443:5443/tcp, 5443:5443/udp - DNSCrypt server.

Below is as docker compose that deploys AdGuard Home with my usual Traefik setup.

version: "3.8"

networks:
  default:
    name: traefik-proxy

volumes:
  adguard-data:
  adguard-config:

services:
  adguard:
    image: adguard/adguardhome
    container_name: adguard
    restart: unless-stopped
    ports:
      - 53:53/tcp
      - 53:53/udp
    volumes:
      - adguard-data:/opt/adguardhome/work
      - adguard-config:/opt/adguardhome/conf
    labels:
      - traefik.enable=true
      - traefik.http.services.adguard.loadbalancer.server.port=3000
      - traefik.http.routers.adguard.rule=Host(`adguard.example.org`)
      - traefik.http.routers.adguard.tls.certresolver=le
      - traefik.http.routers.adguard.entrypoints=websecure

When going throug the setup process, make sure to set the admin interface to port 3000 as in the screenshot below.

Setup your DHCP server to give your clients the IP address for AdGuard as the DNS and you are good to go.

# References


Found a bug? Help me improve this page!
Last Commit: