I finally did it
A post after such a long drought. I’ve been busy working on lots of little projects, and I realized that I really ought to take the time to write on the blog sight I take such pain to keep up and running.
You might be thinking to yourself, pain? Shouldn’t this be like a set and forget sort of ordeal? Well, it would be, except that I tinker too much for my own good.
As they say, there are two wolves inside each man, one that craves stable, calm waters, maintainable code, reproducible builds, and the other wants to look under
hood, fat finger rm -rf /
and other monstrosities that I don’t care to joke about because they hurt me too much.
So, I moved off of the Raspberry Pi Zero W2, and on to a much more legitimate pc build. The blog could have run fine on the pi, but it didn’t take long for me to feel justified in spending some money on a faster machine. Bought it second hand from a crypto mining rig, swapped out the pentium for a respectable i7 of some recent generation, and I had an upcycled machine ready for some data crunching!
The Services
Eventually, I envision a whole bunch of services running in my ‘home lab’, as home-labians have taken to calling their piles of processors, but for now, I have a humble three:
-
The wonderful website you find yourself on currently
-
My newly hosted gitea instance to host all of my current and future repos! This was a bugger to setup, but I ended up figuring out the issues WRITE ME
-
I don’t want to say what the actual subdomain is (though its probably discoverable) just because the project using it is still WIP, but my wife and built a budget app together, and this machine hosts the REST Api I wrote in Zig.
The Alt Timeline with Guix
Arch Linux was not actually the first OS I put on this new (to me) machine. I had drunk from the FSF goblet and got it in my head to try out Guix System, or Guix SD, or whatever its officially called. I recommend checking it out. It was a couple month adventure, but I think my lisp-less mind couldn’t handle the parantheses required. It has some really cool concepts similar to NixOS, your whole system (users, installed packages, mount points, etc) is defined in one or more files. Despite its great documentation, it is hard to understand what is going on without some good Guile / Scheme fundamentals, which I lack. So, back to what I know: Arch (btw).
What Did I Learn?
I am not exaggerating that I have completely nuked my machine (server, work and/or personal) many times. But, I’ve learned a whole lot from it: mostly that I need to setup proper backups as soon as my system is running. So, with this new machine, especially because I am going to start storing all of my code on it, I am following the 3 - 2 - 1 rule:
-
3: Copies of the data
-
2: Storage medias (harddrive, usb, ssd, nas)
-
1: Offsite
I decided to go with Hetzner’s Storage Box solution for Offsite. And its waaay offsite (for me), the company is located in the EU. But, for only ~$5.00 a month, I get access to a sftp server with 1TB capacity, which mirrors the server’s nvme drive running the OS, and then I also am backing the nvme drive up to a HDD drive connected to the computer. I have lots more to say about so many of these things, I spent pretty much all day configuring everything and getting it all to work, but I told myself to prioritize frequency over comprehensiveness, so I will leave it at that.
Oh! I almost forgot, if you want to use the gitea instance I am running as an alternative to having your code fed to AI models, please email me! Im no enterprise company with infinite backups and resources, but I’d love to share what little I have if it would be useful to you!
Thanks for stopping in :)