Right now I self host a handful of servers from an old server at my house. There are a lot of reasons I really like self-hosting: more privacy, nobody can shut my servers down (even if they shut off my internet I still have them at home), I get really good speed and uninterrupted connectivity at home even with the terrible internet found in rural US communities.
But I’m moving soon. Once next month to another location in the US, and then several months later out of the country altogether. I have some concerns.
First is form factor. My server is a full-size tower server which means it weighs 20+ pounds and measures something like 6"W x 18"T x 30"L. I’m not going to put that in my airline luggage, which means it will take weeks to months to arrive overseas unless I spend hundreds of dollars to ship it.
The second is actual capability to host at my destinations. I have no idea what kind of service I can expect from a Japanese ISP. It could be that I can’t even open some of the ports I use.
My solution was to move it all to the cloud and host it there. What a mistake.
Full disclosure: I didn’t even get everything to the cloud. Setting up Plex was easy, but migrating the data over was terrible. My terrible rural texas internet was getting 1.5 Mbps upload, which…isn’t great. I have about 2TB of plex data to upload. So I devised a clever plan to spin up a VM on Linod and restore from the cloud backup to the Wasabi cloud storage. The actual plex configuration was a tiny $5/month instance with the storage on S3FS with Wasabi on the backend (because they’re cheap). That took forever, but worked straightforward enough.
Setting up the datase server was similarly easy, especially since I was scripting everything using Terraform. Woodpecker, my CI system, was much more difficult. It literally took me multiple days just to get it running, and I don’t even remember why. But once I had gotten that running, I realized that I was already at $35/ month and still had several servers to start. I realized I could move to using docker and a larger instance, but the costs still would have been pretty high, and it still was in the cloud, which I don’t love.
So I think I’m giving up on the cloud. I’m just going to go back to self hosting. I’ll fix the portability problem with a SOC cluster. I’m thinking a few RockPro64 from Pine64 with Kubernetes, which will be very similar to what I’m doing now, but with increased scalability and portability over a behemoth server. I’m a little nervous about performance, specifically for plex, but it’s not like I have a huge demand. I’m fairly certain I’m the only person who uses most of my servers.
As for the connectivity/port problems, I can always set up a tunnel to a cloud machine, and I’m very interesting in Greenhouse as an even better option.
It’ll be fun. I’ll try to actually keep notes and pass on what I learn while I do it. Look forward to it!