How to setup high-availability PiHole with Keepalived and Nebula-Sync

Abstract We will setup two PiHole instances in an active/passive failover setup using Keepalived. The two PiHole instances will be synced with each other using nebula-sync, where one instance will be the primary and one will be the secondary. This setup will allow your primary PiHole instance/hardware to fail for whatever reason and automatically switch DNS duty over to the secondary instance, without reconfiguring clients. The two instances will share a “Virtual IP Address”, and PiHole will be served from this address. ...

August 14, 2025 · 9 min · 1850 words

How to setup high-availability PiHole with Keepalived and Gravity-Sync

Abstract This guide is deprecated as of PiHole Verson 6. Gravity-Sync is not compatible with PiHole versions newer than 5.x. Nebula-sync is a new alternative tool for syncing PiHole 6+. We will setup two PiHole instances in an active/passive failover setup using Keepalived. The two PiHole instances will be synced with each other using gravity-sync, where one instance will be the primary and one will be the secondary. This setup will allow your primary PiHole instance/hardware to fail for whatever reason and automatically switch DNS duty over to the secondary instance, without reconfiguring clients. ...

June 25, 2024 · 7 min · 1437 words