Currently my home server runs a few services that have a web UI. I currently access them by typing in the IP address and port number, but it’s now starting to get annoying to remember the ports.
What’s the best way to handle this?
I’ve thought of two solutions:
- I’m running a local DNS server, so I probably would be able to make CNAMEs from something like
adguard.server.local
to the IP, and do a reverse proxy with something like Caddy - Maybe there’s some unified dashboard app that is a reverse proxy with some simple frontend where I can just navigate to
server.local
and click a button to choose which specific service I want to see?
What are your opinions on this?
Short answer: something like nginx proxy manager with a single wildcard dns entry makes this super simple.
Wait, does it mean I can use something like *.example.com in my pihole for all services? Atm Im using jellyfin.example.com, nextcloud.example.com, etc.
Exactly.
As long as you don’t need something like mail.example.com to point somewhere else.
I have a subdomain for my home stuff (so jellyfin.h.example.com and h.example.com is the wildcard) so that any other subdomains are still usable for internet things.
Only thing is, Pihole doesn’t have it in the UI. It’s widely requested, so I’m sure it will come soon™
If you are happy SSHing in, tweaking some files, then it’s doable.
https://hetzbiz.cloud/2022/03/04/wildcard-dns-in-pihole/
Edit: I actually use my router as my DNS, with its DNS set to be the pihole. My router can do wildcard DNS overrides. However, I do lose insights from the pihole metrics: all requests are from 10.0.0.1
Thanks ended up doing a wildcard dns entry but not with Nginx Proxy Manager but with Caddy. On NixOS I can just add like 3 lines of code to declare a reverse proxy for a specific service in the same file where I enable same service.