Video tutorial coming soon.
Deploy AdGuard Home as a network-wide DNS server that blocks ads, trackers, and malware for every device on your network — no client software needed.
Grab the automated bash script from GitHub to follow along.
wget https://raw.githubusercontent.com/mhmdali94/Docker/main/networking/adguardhome/adguardhome-ubuntu.sh
chmod +x adguardhome-ubuntu.sh
sudo bash adguardhome-ubuntu.sh
The script installs Docker, pulls the AdGuard Home image, and starts the DNS and web UI. Port 53 is configured for DNS queries.
wget https://raw.githubusercontent.com/mhmdali94/Docker/main/networking/adguardhome/adguardhome-ubuntu.sh
chmod +x adguardhome-ubuntu.sh
sudo bash adguardhome-ubuntu.sh
Open your browser and navigate to the setup wizard. Choose your admin UI port and DNS port, then create an admin account:
http://YOUR-SERVER-IP:3000
In the Dashboard, go to Filters → DNS Blocklists. Add popular lists like AdGuard DNS filter or EasyList. Enable or disable individual rules as needed.
Set your router's DNS server to your server's IP address so all network devices use AdGuard Home automatically. Alternatively, configure DNS per device manually.
| Port | Protocol | Purpose |
|---|---|---|
| 53 | TCP/UDP | DNS Queries |
| 80 | TCP | Admin Web UI (HTTP) |
| 443 | TCP | Admin Web UI (HTTPS) |
| 3000 | TCP | Initial Setup Wizard |
/root/docker/adguardhome/docker-compose.yml