adguardhome
Run AdGuard Home DNS server
TLDR
Run AdGuard Home
Specify a configuration file
Store the data in a specific work directory
Install or uninstall AdGuard Home as a service
Start the AdGuard Home service
Reload the configuration for the AdGuard Home service
Stop or restart the AdGuard Home service
SYNOPSIS
AdGuardHome [global-flags] <run|migrate> [command-flags]
PARAMETERS
-h, --help
Show context-sensitive help
-c, --config <path>
Path to YAML config file (default: AdGuardHome.yaml)
-s, --service
Run as daemon/service (background mode)
--pidfile <path>
PID file location (default: /var/run/AdGuardHome.pid)
--no-check-updates
Skip automatic update checks on startup
-v, --version
Display AdGuardHome version
DESCRIPTION
AdGuardHome is an open-source, network-level DNS resolver that blocks ads, trackers, malware, and phishing domains across all connected devices. Deployed on Linux via the AdGuardHome binary, it serves as a drop-in replacement for traditional DNS services.
Launch it with AdGuardHome -s run to daemonize and auto-generate AdGuardHome.yaml if missing. Configure via YAML file or intuitive web UI at http://<IP>:3000 (default credentials: admin/admin).
Features include DoH/DoT support, parental controls, query logging, statistics dashboard, custom rules, and DHCP integration. It's lightweight (<50MB RAM), supports millions of queries daily, and integrates with popular filter lists like OISD or StevenBlack. Ideal for routers, Raspberry Pi, or servers. CLI flags override select config options, but most tuning happens in UI/config.
CAVEATS
Requires root/capabilities for UDP/TCP port 53; conflicts with systemd-resolved, dnsmasq, or bind9—disable them first. Config binds to 0.0.0.0:53 by default; adjust firewall. Not for high-load production without tuning.
WEB UI
Access at http://IP:3000 post-startup for setup, stats, filters, and logs. Changes sync to YAML.
CONFIG STRUCTURE
YAML keys: dns (listen/upstreams), filters (blocklists), querylog, statistics. See AdGuardHome.yaml comments.
HISTORY
Launched in 2020 by AdGuard team as fully open-source (GPL-3.0). Evolved from internal tools; v0.107+ added subcommands/CLI polish. Active development with 20k+ GitHub stars; used in millions of home setups.
SEE ALSO
unbound(8), dnsmasq(8), systemd-resolve(8)


