> If you don’t have a static IP, you’ll probably want to set up dynamic DNS, too.
Setting up Wireguard is easy. THIS is the hard problem that needs solving. I’ve never had a good experience with dynamic DNS. I don’t see any way around this without relying on some sort of hosted/cloud service of some kind.
I wrote a script that runs periodically on my home server to update DNS (Cloudflare) if my IP changes. In practice, it almost never changes and my ISP's general flakiness is far more of a problem.
I used to use a chronjob + script that queried my external IP and then if it is different from the dns record make an API call to my dns hoster (name.com at the time). For a homelab, run it every 5 or 10 minutes and you'll always have an up to date record that you manage.
Setting up Wireguard is easy. THIS is the hard problem that needs solving. I’ve never had a good experience with dynamic DNS. I don’t see any way around this without relying on some sort of hosted/cloud service of some kind.