I have read many posts in this subreddit and so many recommend using a domain (buying it) and then registering DNS.
Maybe I misunderstood because I’m new, but in theory isn’t it enough to use a DNS in lan like pihole, and then from the client browser using Wireguard simply write the domain defined on pihole? (Maybe even configuring nginx to have all the ports pointing to the correct services)
Am I wrong?
The point of purchasing a registered domain name and connecting it to a public DNS server is to make it findable from any Internet location. If you only ever want to use the domain name internally, you don’t need to have a public domain name and you can make up your own internal domain name that is served by your local DNS. To avoid future conflicts with public domains, I’d probably use a TLD that doesn’t exist (e.g. not .com or the like).