It’s been a week and a half since I posted “Self-Hosting Whatever, Wherever” discussing my approach to moving my self-hosted services out of the cloud and back into our house, using our asymmetric cable modem connection, an overlay network, and a small edge router in the cloud to proxy requests and responses back to our home network without exposing the home network to the rest of the internet in the process. As I’ve made some more progress, an update is in order.
Since the last post, I’ve cleaned up some of my configuration in terms of the internal routing on the overlay network – specifically, I’ve gotten dnsmasq set up in a small VM on my home network that is now providing DNS only on the overlay network, along with a small script that queries my ZeroTier network controller every now and then and updates the hosts file that dnsmasq is using as its source records.
Additionally, I went ahead and took the leap to also move the toot-lab, my personal fediverse instance, back out of the cloud. This one stressed me out, as all operations to move my instance around do. Mastodon’s not a lightweight service to run – it has lots of moving parts, any of which failing is enough to make the rest all but useless. However, I’ve made this particular migration a few times now, back and forth into and out of the cloud depending on what my home network looked like at the time, and I was successful once again. The toot-lab is now fully hosted on equipment in my home, with only the public-facing nginx reverse proxy being hosted in the cloud. Since mastodon loves to hang on to data, it’s much cheaper for me to give it the resources it wants from my stock of computing hardware on hand rather than paying someone monthly for the privilege of storing my toots (and all y’all’s toots too)!
Now that the toot-lab’s back in our basement, I was worried that the added stress of having thousands of fedi instances sending and receiving toots over our cable modem was going to be overly stressful for our svelte 35mbps upstream. I’m happy to report my concerns were unfounded – in fact, my edge router/proxy in the cloud that shuffles all of that traffic into our basement and back out, hasn’t slipped over 10mbps traffic since the changeover, leaving plenty of upstream for our interactive use of our connection. If things get tight, I’ll set up some bandwidth quotas and limitations, but for now everything looks to be fine.
I still have a lot of rearranging of my digital life to do – I recently got a beefy workstation-class machine back to a healthy state, so I’ll be juggling some workloads and setting up some more internal failovers in case any of my sketchy hardware decides to give up and pine for the fjords – but for the moment this particular set of experiments is working out nicely, and I’ve converted approximately US$150/month in hosting costs into under US$20/month of proxy costs, and saving money is always a nice thing.
I’m happy to answer any questions anyone may have about their own efforts in this direction – hit me up in the fediverse and let’s chat!