T-Mobile as an internet provider isn’t bad, overall. As a technophile sometimes it can be frustrating; a good example would be behind double CGNAT.

The way that T-Mobile sets up the network, in layman terms, means that your IP is constantly shifting which, in CEO terms, means that hosting services is a pain in the ass because they’re always moving around like deadbeat dads trying to avoid child support payments.

There are a few solutions, though. One solution involves contacting T-Mobile and going through weeks of back and forth conversations in order to get a business account and an appropriate router containing firmware with the correct feature. This way is doable… except it’s not, because you still don’t have a reliable IP.

Another solution involves relying on another service; here we are relying on No-IP’s dynamic update client. (Oh, but wait, I forgot this isn’t a viable option behind double NAT!)

I created a fresh VM with an Ubuntu server OS and, during the installation, checked the boxes that ensured I had Docker up and running within the server posterior to installation. I also clicked various other boxes in the installation, because I like clicking boxes, but nothing else of note for future me.

The Docker image for the Dynamic Update Client appears very simple to set up; I’ve got two separate accounts for the personal and the non-personal domains so I took the same set of actions for each:

As you might be able to tell if you’re reading this, I got frustrated. For the household net, at least, tailscale is just fine.