Hi. I want to host pihole or adguard dns on fly.io. Is it possible to do that? How much bandwidth would pihole use? Whould that be under free-tier bandwidth?
Also, are the IP’s assigned to the app static? Because I have to point to the IP address to resolve DNS queries.
The IPV4 address is static while the app is active (though we are planning to reclaim IPV4 addresses on suspended apps, we aren’t doing that yet).
As for the bandwidth question, that would depend on how many DNS queries you do. Unless you are a special high traffic case, it would be unlikely that you’d approach the current free tier limit of 160GB of traffic in a month.
Environment variables (which is how pihole docker is generally configured (see docs) can be set in the fly.toml file and then retained with the image at deployment time.
If you wanted to run a persistant cache with the DNS responses, then you would have to configure a volume and configure pihole to persist data to that volume.
Other changes may require that you edit the Dockerfile to pass particular arguments to the app or copy over locally held config to build to include that in the image.