i am running *arr apps on a pi, using tailscale with mullvad exit nodes as a VPN, how do i add adguardhome or pihole to the stack without screwing everything up?
-all *arr apps in docker containers using docker compose
-tailscale has friendly tailnet name
-...magicdns enabled
-...global nameservers have mullvad public dns in them
not very confident here, can I just follow this guide (link: https://tailscale.com/kb/1114/pi-hole/) and it works or do I need to change some settings? I notice it tells me to add a custom DNS but mullvad is already in there? how does it know which to use or in which order?
You can most likely leave the DNS server of mullvad as second priority so you have a backup if your AdGuard container is not reachable
That's not really how DNS works. If you have two DNS servers configured, the OS will usually do either one of two things:
Balance the requests between them; or
Send the request to both servers and use the one that replied faster
If you mix Mullvad and AdGuardHome DNS servers, you'll very likely end up with a mix of both being used. The DNS servers configured on your clients should either be all AdGuardHome or all Mullvad so that you don't confuse yourself ("why are some ads blocked but not others??") :)
If you want to continue using Mullvad's DNS servers, that's fine, but you'd set them as upstream servers in AdGuardHome, and then configure all devices to use the AdGuardHome DNS. Ideally use their DNS servers using DNS-over-HTTPS or DNS-over-TLS: https://mullvad.net/en/help/dns-over-https-and-dns-over-tls
😮really, that would be really not intuitive design, have to check this on my OpnSense, in that case
But generally, ads are always blocked, tho.
Edit: See pic for how tailscale describes it:
I understand it so, that your DHCP (your tailscale and for me OpnSense) will give the complete DNS list to devices, and those decide how to handle DNS lookups and may prefer mullvard prior AdGuard and thus will show ads. If that happen, you have to disable mulvards DNS server by removing it from the list.