ramset/pihole-ha-cluster — explained in plain English
Analysis updated 2026-05-18
Keep DHCP running automatically if the primary Pi-hole server goes down.
Sync blocklists, custom DNS records, and settings across multiple Pi-hole instances without SSH keys.
Give clients a single floating IP that always points to whichever Pi-hole node is currently healthy.
Force a manual failover to a specific node, or disable all HA behavior with one kill switch.
| ramset/pihole-ha-cluster | nelsonwerd/idea-to-ship-skills | totvs/engpro-advpl-tlpp-skills | |
|---|---|---|---|
| Stars | 56 | 54 | 54 |
| Language | Shell | Shell | Shell |
| Setup difficulty | moderate | moderate | easy |
| Complexity | 3/5 | 3/5 | 3/5 |
| Audience | ops devops | vibe coder | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires at least two Pi-hole v6+ instances, root access, and Debian or Ubuntu for the bare metal install path.
Pi-hole HA adds high availability to a cluster of Pi-hole servers, the network ad-blocking DNS tool many people run at home. On its own, Pi-hole is a single point of failure: if the machine running it goes down, DHCP and DNS for the whole network stop working. This project keeps multiple Pi-hole instances in sync and automatically fails over between them, all over plain HTTP with no SSH keys or outside dependencies, running either directly on the machine or as a sidecar container next to Docker. It supports two setups depending on how your network already works. If Pi-hole is your DHCP server, it provides full failover, meaning a standby node takes over within about 40 to 80 seconds if the primary goes down, and hands control back once the primary recovers. If your router or another device already handles DHCP, it leaves DHCP alone entirely and instead keeps each Pi-hole's blocklists, custom DNS records, and settings synchronized, while monitoring which node is healthy. An optional floating virtual IP address can also be used so clients always reach whichever node is currently active, giving real health based failover rather than just listing two static DNS servers that stall when one dies. Other features include a manual override to force a specific node to take over, a single kill switch to disable all failover behavior across the cluster, optional push notifications when a failover happens, and a web panel built directly into Pi-hole's own admin interface. Joining or leaving the cluster is done with a button click rather than manual configuration editing, and mixed setups with some nodes on bare metal and others in Docker are supported. This is aimed at people running more than one Pi-hole at home or in a small network who want it to keep working automatically if one server fails. It requires at least two Pi-hole version 6 or newer instances, a Debian or Ubuntu based system for the bare metal path, and root access to install. It is an independent, unofficial project not affiliated with the official Pi-hole project. The full README is longer than what was shown.
Adds automatic failover, config syncing, and an optional floating IP across a cluster of Pi-hole DNS ad-blocking servers.
Mainly Shell. The stack also includes Shell, systemd, Docker.
No license information was found in the README excerpt.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly ops devops.
This repo across BitVibe Labs
double-check against the repo, no cap.