Pi-hole history and the shift to AdGuard Home for network admins
Pi-hole, created in 2014, is a DNS sinkhole that blocks ads at the network level. Network admins are migrating to AdGuard Home for better DoH support and per-client rules, despite Pi-hole v6.5 removing PHP dependencies.
Pi-hole began in 2014 when Jacob Salmela created it as an open source alternative to AdTrap, aiming to block ads at the network level. By 2015, the project released its first stable version on June 15, and by 2017, Pi-Hole, LLC registered the trademark in the United States. The application functions as a DNS sinkhole that intercepts queries for known tracking domains and returns dummy addresses instead of valid IP resolutions. It runs on low-power devices like Raspberry Pis but also supports standard Linux systems, using a modified dnsmasq called FTLDNS along with cURL, lighttpd, PHP, and the AdminLTE dashboard. This architecture allows it to filter traffic for every device on a private network, including smart TVs and mobile phones, without requiring browser extensions or individual app configurations.
Why admins are switching stacks
Network administrators often start with Pi-hole because the installation script gets users up and running in about ten minutes, handling most configuration automatically. However, as home networks grow more complex, the tool shows significant limitations. Pi-hole struggles to support local DNS over HTTPS (DoH) and DNS over TLS (DoT), features that AdGuard Home provides out of the box. The interface is aging, and deploying fully configured instances remains challenging compared to modern alternatives. AdGuard Home operates as a single Go binary, offering advanced filtering, built-in parental controls, and safe browsing features that Pi-hole lacks. For users who need encrypted upstream DNS resolution without relying on external proxies like cloudflared, AdGuard Home presents a compelling technical upgrade.
Migration requires converting Pi-hole’s gravity.db database into a format AdGuard can use. Administrators can extract domain lists directly from the SQLite database using specific SQL commands to generate blocklist files. Whitelists and blacklists require manual adjustment because regex rules may differ between the two interpreters. Local DNS records, such as A and CNAME entries for homelab resources, do not transfer directly since AdGuard lacks first-class local DNS management. Instead, users must configure DNS rewrites rules to simulate these responses, mapping domain names to specific internal IP addresses or other hostnames. While this method works, it is less elegant than Pi-hole’s native handling and requires careful setup to ensure requests do not leak upstream.
The state of Pi-hole v6
The Pi-hole team released version 6.5 on October 17, 2026, followed by Docker version 2026.10.1 on October 31, 2026. This major update removed dependencies on PHP and Lighttpd, replacing them with a web server built into FTL using Lua pages and JavaScript. The new release aims to make the project a single binary, improving performance and reducing maintenance overhead. The Docker image now uses Alpine base image version 3.24.3, which includes fixes for high-profile CVEs, although the team notes these issues should not directly affect Pi-hole operations. Nightly builds have also been refreshed to skip layer caching, ensuring every image is built from scratch for consistency.
Despite these improvements, some users report issues with historical data display after upgrading from earlier versions, such as moving from v5.5.1 to v5.6. In one documented case, a user found that while the pihole-FTL.db file remained intact and over 3GB in size, the admin dashboard failed to show query logs and statistics. This discrepancy highlights the risks involved in updating legacy infrastructure, where backend data integrity does not always translate to frontend visibility. Community discussions on Hacker News have long criticized Pi-hole for lacking per-client flexibility, forcing users to run multiple instances or maintain separate VLANs to apply different filtering rules to specific devices or groups. AdGuard Home handles per-client and per-group rules more natively, making it easier to manage diverse network environments without complex workarounds.
The choice between Pi-hole and AdGuard Home depends on whether you value the established community and simple setup of Pi-hole or the modern feature set of AdGuard Home. Pi-hole remains a solid option for basic ad blocking, but its architectural constraints limit advanced use cases. If your network requires encrypted DNS protocols and granular client-specific rules, the migration effort to AdGuard Home is likely worth the complexity. You will need to verify that all your local DNS records convert correctly via rewrite rules before decommissioning your existing Pi-hole instance.