Comment on leng - a fast DNS server with adblocking, built for self-hosting
nico@r.dcotta.eu 11 months agoYes (much simpler) and also allows you to specify custom DNS, which is very useful for more advanced self-hosted deployments - this is something PiHole is just not built to address
ShunkW@lemmy.world 11 months ago
How is PiHole not built for custom DNS? It literally has an entire management page for that.
chiisana@lemmy.chiisana.net 11 months ago
Last I used PiHole many years back, it was possible to use it as DHCP but not possible to add custom DNS records like TXT, SRV, etc. . Perhaps that’s what OP is trying to solve for?
myogg@lemmy.world 11 months ago
Pinhole has allowed custom local records for a very long time now
nico@r.dcotta.eu 11 months ago
Including SRV records? I found that some servers (blocky as well) only support very basic CNAME or A records, without being able to specify parameters like TTL, etc.
I also appreciate being able to define this in a file rather than a web UI
Appoxo@lemmy.dbzer0.com 11 months ago
You can set CNAME and DNS. Not much else I need at home for a reverse proxy.
nico@r.dcotta.eu 11 months ago
Like chiisana@lemmy.chiisana.net said - I want to be able to add my own records (SRV, A, CNAME…) so that I can point to the services hosted in my VPN. CoreDNS is good for this but it doesn’t also do adblocking. If PiHole can do this, I don’t know how.
I also don’t need a web UI, DHCP server, and so on: I just want a config file and some prometheus metrics
jherazob@kbin.social 11 months ago
Tangential partial offtopic aside: Unless i'm misunderstanding, you're setting this up behind your home router and allowing it on your various devices using a VPN. Am i right? Any details, or even better, guides, on how to replicate this setup? I guess the DNS records on Leng are to be able to call services inside your home LAN by name instead of IPs, which is a nice quality of life upgrade.
nico@r.dcotta.eu 11 months ago
What you described is correct! How to replicate this will depend heavily on your setup.
In my specific scenario, I make the containers of all my apps use leng as my DNS server. If you use plain docker see here, if you use docker compose you can do:
Personally, I use Nomad, so I specify that in the job file of each service.
Then I use wireguard as my VPN and (in my personal devices) I set the DNS field to the address of the leng server. If you would like more details I can document this approach better in leng’s docs :). But like I said, the best way to do this won’t be the same if you don’t use docker or wireguard.
If you are interested in Nomad and calling services by name instead of IP, you can see this tangentially related blog post of mine as well