A good way to access multiple web UIs on one local device?
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?
A reverse proxy will achieve what you're looking for, yes. I do precisely what you're describing. I use "local DNS" on my pihole, with CNAMEs for each service pointing to my server IP address. I'm running Caddy on the server, specifically this (because my services are running in Docker containers): https://github.com/lucaslorentz/caddy-docker-proxy
As far as a "dashboard" app, you have options there as well. I'm using Heimdall currently, but Homarr also looks pretty nice.
PiHole can't specify specific ports for each cname, which is what you need a reverse proxy for.
Typically, you create all of your cnames in pihole and direct them to your reverse proxy server IP. From your reverse proxy of choice, you specify each url to the specific ip:port of your service.
How can I use my Pi-hole as DNS Server also over VPN? I run Wireguard on Unraid. And while the VPN works, I can’t seem to the DNS over VPN to go my way.