This is not a bug report, this is a please consider / feature request.
my Goal: Sync the various lists between multiple hosts / pihole instances. Ideally I would like to add a white/black/ad list entry on one host and have it replicated across other hosts.
I understand why moving away from text files and towards a binary database will be worth it. I am really looking forward to being able to put comments next to various whitelist entries!!!!
However, this move now makes it very difficult to keep multiple PiHole instances in sync with each other. It's trivial to sort out conflicts when merging text files, but it's not as simple when merging conflicts in binary files!
Similarly, It is not reasonable to assume that the multiple pihole instances could share a common database host. That is: if PiHole added support for Postgres or MySQL in addition to the SQLite files it may not be the case that $PiHoleHost1
and $PiHoleHost2
could both access $PiHoleDataBaseHost
The Ask: Please give operators a way receive notifications when a user changes part of the database. It can be as simple as just placing a shell script in /etc/pihole/gravity-hooks.d/
that the PiHole web application will invoke with some environment variables that explain what action the user just took or it can be an API that I'd use to register a call back with.
TL;DR: I am looking forward to the additional capabilities that will come with the SQLite database files for various PiHole lists. I am equally saddened that this will break my current git
based techniques to keep my black/white/ad lists synchronized across multiple hosts. I am asking for an API or other mechanism that would allow for notification when the user makes a change to the PiHole databases so that change can be logged, audited, and replicated across other PiHole instances.
I am aware that there are several tools out there that support synchronizing SQLite databases, but they almost always use a Master -> Slave model or otherwise require live network connectivity. I would like to keep my git-based log/audit/sync methods for keeping multiple PiHole instances in sync.
of course, i am open to other ideas about how to best accomplish my goal
Discussion is welcome :).