Nowadays, online privacy and network security are topics that cause anxiety for almost everyone, even for companies. Various ads, trackers, and harmful domains, together with unsafe websites, are constantly in conflict with users’ privacy and their smooth browsing. That is the point of features of AdGuard Home really come into play.
AdGuard Home is basically a DNS server network-wide that is capable of blocking ads, trackers, phishing, and harmful websites that are available on all devices connected to your network. Pairing up with Docker deployment management and maintenance of AdGuard becomes very simple.
Here, we are providing you with a guide that we made up of instructions on how you can install AdGuard Home using Docker, configure it correctly, and also secure your DNS filtering environment on a Linux server.

What Is AdGuard Home?
AdGuard Home is a powerful and capable combination of an internet ad blocker and DNS filter that works throughout the network. Its filtering of DNS requests takes place long before they finally get to the websites or applications.
This makes it possible:
- Blocking of advertisements
- Allowing only those trackers that are not a threat
- Deactivating malicious domains
- Boosting the overall speed of browsing
- Providing more robust privacy safeguards
- Giving protection to all the connected devices
Being different from extensions for browsers, AdGuard Home can operate over the entire network.
Why Install AdGuard Home with Docker?
Working with Docker makes the deployment of software easier by enclosing the applications in lightweight containers.
The use of Docker in the case of AdGuard Home results in plenty of benefits:
- Simple installation
- Good portability
- Easy updating
- Server management without clutter
- Better isolation
- Quick deployment
Also, Docker ensures that AdGuard Home maintains its functionality across practically all Linux environments.
Prerequisites
Check these first to avoid any problems:
- You should have Ubuntu, Debian, AlmaLinux, or any other Linux distribution
- You should have installed Docker
- You should have installed Docker Compose
- You should be able to use Root or sudo
- Ports for DNS and web access should be open
The least server specifications we recommend are:
- 1 CPU core
- 1 GB RAM
- 10 GB storage
Step 1: Update Your Linux Server
First, update the server packages.
For Ubuntu or Debian systems:
sudo apt update && sudo apt upgrade -y
For AlmaLinux or CentOS:
sudo dnf update -y
Keeping the server updated improves security and compatibility.
Step 2: Install Docker
If Docker is not already installed, install it using the following commands.
For Ubuntu or Debian:
sudo apt install docker.io -y
Enable and start Docker:
sudo systemctl enable docker
sudo systemctl start docker
Verify Docker installation:
docker –version
Example output:
Docker version 26.0.0
Step 3: Install Docker Compose
Docker Compose helps manage multi-container applications more efficiently.
Install Docker Compose:
sudo apt install docker-compose -y
Verify installation:
docker-compose –version
Example output:
docker-compose version 1.29.2
Step 4: Create AdGuard Home Directories
Create persistent directories for configuration and data storage.
mkdir -p ~/adguardhome/work
mkdir -p ~/adguardhome/conf
These directories ensure your AdGuard Home settings remain محفوظ even after container restarts.
Step 5: Create the Docker Compose File
Navigate to the AdGuard Home directory:
cd ~/adguardhome
Create a Docker Compose file:
nano docker-compose.yml
Add the following configuration:
version: ‘3’
services:
adguardhome:
image: adguard/adguardhome
container_name: adguardhome
restart: unless-stopped
ports:
– “53:53/tcp”
– “53:53/udp”
– “67:67/udp”
– “68:68/tcp”
– “68:68/udp”
– “80:80/tcp”
– “443:443/tcp”
– “3000:3000/tcp”
volumes:
– ./work:/opt/adguardhome/work
– ./conf:/opt/adguardhome/conf
Save and exit the file.
Understanding the Docker Compose Configuration
This configuration does several important things:
Image
image: adguard/adguardhome
This downloads the official AdGuard Home Docker image.
Ports
The ports expose DNS and web management interfaces.
Important ports include:
- 53 → DNS filtering
- 80 → HTTP dashboard
- 443 → HTTPS dashboard
- 3000 → Initial setup wizard
Step 6: Start AdGuard Home Container
Run the container using Docker Compose:
docker-compose up -d
Docker will automatically download the AdGuard Home image and start the container.
Check running containers:
docker ps
You should see the AdGuard Home container running successfully.
Step 7: Access the AdGuard Home Setup Wizard
Open your browser and visit:
http://SERVER-IP:3000
Replace SERVER-IP with your actual server IP address.
The AdGuard Home setup wizard will appear.
Step 8: Configure AdGuard Home
The setup wizard will guide you through the initial configuration.
Configure Web Interface
Select the default web interface settings or customize them according to your preferences.
Configure DNS Server
By default, AdGuard Home listens on port 53 for DNS filtering.
Ensure no other DNS service is already using port 53.
Create Admin Credentials
Set:
- Username
- Strong password
to secure the AdGuard Home dashboard.
Step 9: Change DNS Settings on Your Devices
After setup, configure your devices to use the AdGuard Home server as their DNS provider.
Example DNS server:
192.168.1.10
You can configure DNS on:
- Routers
- PCs
- Smartphones
- Smart TVs
- Gaming consoles
For full-network protection, configuring the router DNS is recommended.
Step 10: Verify DNS Filtering
Once DNS settings are updated, test AdGuard Home.
Visit websites with ads or trackers and check the dashboard activity.
The dashboard displays:
- Blocked requests
- DNS queries
- Client devices
- Filtering statistics
- Top blocked domains
This confirms that DNS filtering is working properly.
Updating AdGuard Home Container
Keeping containers updated is important for security and performance.
Stop the container:
docker-compose down
Pull the latest image:
docker-compose pull
Restart the container:
docker-compose up -d
This updates AdGuard Home while preserving your existing settings.
The Role of Hosting Control Panel in Docker Management
It’s easier to handle Docker Containers if you have a web hosting control panel. It simplifies Linux server administration with features like:
- Docker support
- Firewall management
- SSL management
- Resource monitoring
- Backup management
- Performance optimization
Conclusion
Implement this step-by-step procedure, and you will soon have a robust DNS filtering system up and running in your home, office, or hosting environment.
Docker container, auto updates, and central DNS protection are a perfect triad for efficient, scalable modern network security and privacy management.