Pi-hole and NGINX Reverse Proxy

I love my Pi-hole instance. From network wide adblocking, to local DNS records is one those very few softwares that I cannot think how things worked before it.

Used to run it on 1st gen RaspberryPi with a 4GB SD card but now is part of my Proxmox server as a container.

My routers DNS settings point to the IP address of my Pi-hole, so every request from my network devices has to go through it.

Adding adlists to it means that every time a device tries to load an ad or a known malicious site it will be blocked. You also get to see in real time your DNS queries, which device is making those queries, % of blocked queries etc.
Everything just works! But, even if the do not work as desired, e.g. my wife kept wondering why clicking on the 1st result on Google didn't work, that is easily solved as you can whitelist certain domains.

Another cool thing you can do with Pi-hole is local DNS records.
Pair that with NGINX and you get custom domains instead of IP addresses!

I have a Shelly Plug to monitor energy on my homelab. Instead of typing the devices IP address - 192.168.2.58 - to access it through my browser I can point that IP address to plug.local on Pi-hole. So, no need to remember IPs to access your services.

But if your service is running on a specific port, there you will need NGINX proxy manager!

Let's say I want to access my Home Assistant which is running in http://192.168.2.61:8123/
I can't point Pi-hole from home.thanos to an IP with a specific port (8123 in this case).
Instead I point it to NGINX IP address - 192.168.2.76 - and from there it gets the port number

The end result is really worth it, as I don't have to remember all my IP addresses or constantly visit my Homarr instance

Just type thanos.local from any device connected to my network and voila!

Internet usage really becomes unusable without Pi-hole.
So much so that I find myself constantly connecting to my wireguard VPN or Tailscale when I'm away from home!