10 Reasons to Install AdGuard Home on Your Server Today
Let’s be honest: your internet service provider (ISP) is spying on you. Every single website you visit, every app you open, every device in your home that phones home to some random server—it’s all logged, tracked, and sold to the highest bidder. You think you’re safe because you’re not doing anything illegal? That’s not the point. The point is that your data is a commodity, and you’re the product.
Enter AdGuard Home. Think of it as a bouncer for your entire network. It sits between your devices and the internet, checking every request they make against a massive blocklist of known trackers, advertisers, and malware domains. If a request is bad, it gets blocked instantly—before it ever leaves your network. No more ads on your phone, no more tracking pixels in your emails, no more smart TV spying on your viewing habits. And the best part? You own it. No subscription, no cloud dependency, no "premium tier" to unlock basic features. Just you, a Linux server, and a piece of software that tells the entire advertising industry to go screw itself.
This guide is going to take you from zero to fully operational. I’m assuming you’ve got a Linux server running—whether that’s a Raspberry Pi 4 sitting in your closet, a Beelink Mini PC you picked up for cheap, or a VPS (Virtual Private Server—basically a rented computer in the cloud) from DigitalOcean or Linode. If you don’t have hardware yet, a Raspberry Pi 4 is more than enough for this, and it’s what I’d recommend for a beginner. It sips power, runs silently, and costs around $100 AUD / $65 USD. If you want something with a bit more horsepower for other self-hosted projects, grab a Beelink Mini PC—they’re tiny, efficient, and won’t break the bank.
Before we start, here’s what you’ll need:
- A Linux server running Ubuntu 22.04 LTS (or any Debian-based distro). I’m using Ubuntu for this guide because it’s the most beginner-friendly.
- Root or sudo access to that server. You need to be able to install software and modify system files.
- A static IP address for your server on your local network. If you’re running this at home, you’ll want to reserve an IP in your router’s DHCP settings (Dynamic Host Configuration Protocol—basically the thing that assigns IP addresses to devices). If you’re on a VPS, you already have one.
- Port 53 open on your firewall. That’s the standard port for DNS (Domain Name System), which is the phonebook of the internet. It translates human-readable names like
google.cominto IP addresses like142.250.72.14.
Got all that? Good. Let’s get our hands dirty.
Step 1: Update Your System
First things first, log into your server via SSH (Secure Shell—a way to remotely access your server’s command line). If you’re on Windows, use PuTTY. If you’re on Mac or Linux, just open your terminal and type:
ssh username@your-server-ip
Once you’re in, update your package lists and upgrade all existing packages. This ensures you’re running the latest software and security patches.
sudo apt update && sudo apt upgrade -y
The sudo command gives you admin privileges. apt is Ubuntu’s package manager—it’s how you install software. The -y flag automatically answers "yes" to any prompts so you don’t have to babysit the process.
Step 2: Install AdGuard Home
Now for the main event. AdGuard Home is distributed as a single binary file, which means you don’t need to compile anything or install a bunch of dependencies. Just download it, extract it, and run it.
First, navigate to your home directory:
cd ~
Now download the latest version. You can find the current release number on AdGuard’s GitHub page, but as of writing, v0.107.43 is the stable release. Here’s the command for a 64-bit system:
wget https://static.adtidy.org/adguardhome/release/AdGuardHome_linux_amd64.tar.gz
wget is a tool that downloads files from the internet. The URL points directly to the AdGuard Home binary package.
Next, extract the archive:
tar -xvf AdGuardHome_linux_amd64.tar.gz
tar is a tool for archiving and extracting files. The -xvf flags mean extract, verbose (show what’s happening), and file (specify the filename).
This will create a directory called AdGuardHome. Move into it:
cd AdGuardHome
Now, run the installation script:
sudo ./AdGuardHome -s install
This installs AdGuard Home as a system service, which means it runs in the background automatically, even after you reboot. The -s install flag tells the binary to set itself up as a service.
Step 3: Initial Configuration
Now that AdGuard Home is running, open your web browser and navigate to:
http://your-server-ip:3000
You’ll see a web-based setup wizard. This is where you configure the admin interface and set your DNS listening port.
The first screen will ask you to set up an admin account. Pick a strong username and password—this is the gatekeeper to your entire network’s privacy, so don’t use "admin" and "password123."
Next, it will ask you to configure the web server and DNS server ports. The default web port is 3000, which is fine. For DNS, the default is port 53. If you’re running this on a VPS, port 53 might already be in use by a system DNS resolver. If that’s the case, you’ll see a warning. Don’t panic—just stop the system resolver first:
sudo systemctl stop systemd-resolved
sudo systemctl disable systemd-resolved
Then go back to the setup wizard and click "Next." AdGuard Home will now be listening on port 53.
Step 4: Point Your Devices to AdGuard Home
Now comes the fun part—actually using it. For this to work, your devices need to send their DNS queries to your AdGuard Home server instead of your ISP’s DNS.
The easiest way to do this is to change the DNS settings on your router. Log into your router’s admin panel (usually at http://192.168.1.1 or http://192.168.0.1), find the DHCP settings, and set the DNS server to your AdGuard Home server’s IP address. This way, every device on your network automatically uses AdGuard Home without you having to configure each one individually.
If you can’t change your router’s DNS settings (some ISP-provided routers lock this down), you can manually set the DNS on each device. On Windows, go to Network Settings → Adapter Options → IPv4 Properties → Use the following DNS server addresses → enter your server’s IP. On Mac, go to System Preferences → Network → Advanced → DNS → add your server’s IP.
Step 5: Enable the Blocklists
AdGuard Home comes with a default blocklist, but it’s not enough. You want to be aggressive here. Go to the AdGuard Home dashboard, click on "Filters" in the left sidebar, then click "DNS blocklists."
You’ll see a list of pre-configured blocklists. Enable the following:
- AdGuard DNS filter — blocks ads and trackers.
- AdGuard Tracking Protection filter — blocks tracking pixels and analytics.
- AdGuard URL Tracking filter — strips tracking parameters from URLs.
- OISD Full — a comprehensive blocklist that covers ads, malware, and phishing.
Click "Add blocklist" and select the ones you want. Then click "Save."
Step 6: Test It
Now, let’s verify everything is working. Open a browser on a device that’s using AdGuard Home and go to a website that’s known for aggressive ads, like theverge.com. You should notice a significant reduction in ads, and the page should load faster.
To verify that AdGuard Home is actually blocking things, go to the "Query log" section in the dashboard. You’ll see a real-time feed of every DNS request your network makes, along with whether it was allowed or blocked. It’s both fascinating and horrifying to see how much tracking your devices were doing without your knowledge.
Common Pitfalls & Troubleshooting
Pitfall 1: Port 53 is already in use.
This is the most common issue, especially on Ubuntu. The systemd-resolved service grabs port 53 by default. If you see an error during installation or setup, run:
sudo systemctl stop systemd-resolved
sudo systemctl disable systemd-resolved
Then edit the /etc/resolv.conf file to remove the reference to 127.0.0.53:
sudo nano /etc/resolv.conf
Change nameserver 127.0.0.53 to nameserver 8.8.8.8 (or any public DNS server). Save the file and restart AdGuard Home:
sudo systemctl restart AdGuardHome
Pitfall 2: Devices aren’t using your DNS server.
If you’ve configured your router to use AdGuard Home but devices still show ads, it’s likely because your router is using its own DNS settings rather than passing yours along. Check your router’s DHCP settings and make sure the "DNS Server" field is set to your AdGuard Home IP, not "Automatic" or "ISP Default."
You can also manually set DNS on a single device to test. If that works, the issue is with your router’s configuration, not AdGuard Home.
Final Thoughts
You’ve just taken a massive step toward reclaiming your digital privacy. AdGuard Home is now filtering every DNS request on your network, blocking ads, trackers, and malware before they can even reach your devices. You’re no longer feeding the advertising machine, and you’re not relying on some cloud service that could shut down or sell your data at any moment.
If you want to take this even further, consider pairing AdGuard Home with a VPN like NordVPN for when you’re on public Wi-Fi, or set up a private email service like Tuta or ProtonMail to escape Gmail’s surveillance. And if you’re looking for a domain name to run more self-hosted services, grab one from Namecheap or Porkbun—they’re cheap, they don’t play games with your data, and they won’t upsell you into oblivion.
You’ve got a running AdGuard Home instance now. That’s one less corporate entity tracking your every move. Go grab a coffee. You’ve earned it.
Glossary & Resources
Hardware Suggestions
If you are building a setup for this project, here are some options that work well:
Terms Used in this Guide
- VPS: A Virtual Private Server is a rented computer in the cloud that you can use to run your own software.
- ISP: Your internet service provider is the company that gives you access to the internet, like Comcast or Verizon.
- blocklist: A list of known bad websites or trackers that the software uses to block them from loading.
- tracking pixels: Small, invisible images in emails or web pages that let companies know you opened them and track your online activity.
- self-hosted: Running software on your own hardware instead of using a service provided by someone else.
Join the Self-Hosting Revolution
Don't let the cloud giants control your data. Get my latest tutorials, hardware reviews, and deployment guides delivered straight to your inbox.
Subscribe for Free