Ability to export/import Local DNS configuration via Teleporter

I would suggest to add the ability to export/import Custom DNS configuration via Teleporter.

We will likely have to adapt permissions for /etc/pihole/custom.list so the teleporter can write to this file, let's see.

One other question: Are there other files which would need to be included/restored?

I've seen requests for setupVars.conf and pihole-FTL.conf as well.

With v5.0 I could imagine users would also like to export/import the group management associations. I'm not sure how to handle this in a good way if clients are not present in another location. But as a mere "backup" for the same device it might work.
The pure groups, adlist ->group, domains ->group could be easier to restore if all necessary information are imported as well. But this might get fairly complex.

Restoring those would also need permission changes. Restoring setupVars.conf would even be dangerous as it contains (device-local!) IP addresses.

I know, maybe it is better not to im/export this file as users have to install pihole in the first place and this file is generated accordingly to the specific device they want to import to. I see the pitfall if someone overrides this with an older backup from another device.

In v5.0 the import still contains the term "Blocklists" but should be "Adlists" now.
Bildschirmfoto zu 2020-05-09 10-30-39

On top of the import/export. Having them automatically sync to a partner either on a schedule or upon change would be ideal as well


Please open a new feature request. Thanks.

1 Like

I thought about opening a feature request for this functionality but only run Pi-hole on two pis inside the same local network. I choose to just use a simple script to copy the entire gravity.db from my "primary" to the "secondary". In V4 I did use the Teleporter if I made list changes but with the introduction of Groups it seemed easier for my specific situation to just copy the database in its entirety. Moving this functionality to Teleporter might help those who run multiple installs as I do but I could see it opening up a lot of requests for unique situation support for individuals that are trying to use Teleporter to manage Pi-hole installations remotely.

setupVars.conf appears to already exported (new/dark branch). I suspect someone requested it in the past.

From the developers perspective, fundamentally what is the purpose of Teleporter? As a user, looking at what is currently available, I form the impression that the Teleporter is for export/import of 'lists". I would then make the leap to expect it to be able to export/import all "lists". I think the definition of lists has changed between with the architecture change between V4 and V5. I would not expect anything else configuration wise to be written out (would not complain as more information is usually useful).

It is exported, but there is no web GUI option to import this from the teleporter file. For the reasons discussed.

Basic use - set up a new Pi or rebuild your existing install, the teleporter exports your settings so you can restore the new Pi-hole to the previous settings.

Teleporter needs to be renamed Backup/Restore. Nobody but J and I knew what the name meant.


I fully agree.

Just wanting to highlight that there is also

While I still think this is somewhat out-of-scope (solely in a difficult-to-maintain-and-suport way of things), what some of you want from Teleporter may better fit into this category.

1 Like

I am willing to attempt making a contribution to make the function name change if you would point out which branches would be most appropriate to use as the base with the upcoming V5.0 release. Probably more beneficial than what I have currently been playing with.

Hold on to it for a day or so, things are going to be moved around.

Will do. I need to figure out what I messed up when I forked the repository anyways. I updated basic-install.sh to point to my repository but the branch I created does not show up as an available branch during checkout.

This feature request (among other things) will be implemented by

1 Like

Implemented with v5.1