My home server recently failed (as anyone who tried to visit www.sectordisk.pw may have seen if they attempted to go to it for the week or so that it was down). I'm not exactly sure what happened to be honest -- Ubuntu corrupted somehow and just refused to come back to life. Every time I booted in it would take forever hanging on services, and once I finally did get in it could take a command or two before the entire system would hang. This happened after I tried to mount some backups trying to figure out where the heck my Letsenrypt renewal script went (as my sites hadn't renewed their SSL certificates), but it's difficult to tell if the two events were related. The server just hung up at some point while I was working on that, and it never recovered after restart. I tried fsck'ing the volume and even upgrading Ubuntu in place (in case that'd fix whatever broken service or kernel module was causing the issue), but it just wouldn't work. So, in an attempt to mitigate any further possible damage, I ordered a new SSD and rebuilt it from the ground up, copying over basically all my files and configs that I could think of from the old SSD. This time around, though, I decided to put things like my websites and Gopher and such all in virtual machines so that I could better manage them. When I very first set all this stuff up all the way back in 2017, it was on a Raspberry Pi 3B that I connected over an SSH reverse tunnel to my Vultr server in order to forward the ports (since I was behind my college's NAT and firewall). This is how I set up pretty much everything, and while it worked, it was a pretty terrible solution. Everything had to be run as root, and even though I had SSH KeepAlive enabled, I still set up a script to make the server say "Ping! Pong!" every few seconds just to make sure the connection didn't die. Plus, all traffic look like it originated from the localhost, which was a nightmare for security. This is still the solution used by quite a lot of people to forward their website out to the world, and it IS admittedly an easy solution, but it's definitely not the best way to do it. So a good while back I learned how to set up a Site-to-Site VPN with Wireguard and set up rules with UFW and iptables in order to forward traffic properly. The only downside of this solution is that all internet traffic period ends up being routed through the Wireguard VPN, but frankly in a VM I think that's fine. (Actually, there might have been a way to preserve non-forwarded traffic, but I don't remember how to do it because that's not how I set it up ultimately lol). Still, it has the added benefit of automatically coming back online, unlike my SSH tunnel quite a lot of the time. I spun up a test VM and a test Vultr server back in April of last year to learn how to set this up, and I ended up succeeding in it and applied the change to Sector Disk, getting rid of the SSH tunneling stuff altogether. I didn't, however, apply it to all my other stuff, because it was all running on the actual host (no longer a Raspberry Pi lol) and not in a virtual machine. It wasn't until the server crashed that I actually migrated all those things to a VM and set up Wireguard, but it was a much needed move so I guess in a way it was a good thing the server finally crashed when it did lol. Now I also have it so that the VMs all start on startup, so in the event of a power outage there should be less downtime and manual work getting stuff back running. Honestly it's kind of a nice relief, and things seem a lot snappier than before, so my server is perhaps a bit happier about it too lol. Anyway, that's all for now. Hope everyone's doing great! Bye for now! :>