The New Stack: RKE2, Ghost, and Finding Balance

Share
The New Stack: RKE2, Ghost, and Finding Balance

This isn't so much a tech article or guide, but more of an opening up into a little bit about myself, and a current struggle I'm going through.

If you’ve noticed the site looks a bit different, it’s because I’ve finally pulled the trigger on a full replatforming. Out goes the WordPress bloat and the fleet of Proxmox VMs, and in comes a lean GhostCMS instance running on a fresh RKE2 cluster. This was something in the works for a while, but as the old setup I had ended up having a catastrophic failure, I had to act.

But if I’m being honest, the migration wasn’t just about technical efficiency. Lately, things have been a bit heavy. I’m going through a bit of a tough patch, and much like a tangled server rack, I realised my mental bandwidth was being consumed by too many 'background processes'. This post is about that cleanup—both in the terminal and in my head.

The House of Cards

For a long time, I managed my home stack with a patchwork of automation tools—Cobbler for image builds, Puppet for configuration—that served their purpose well. But that was the problem. It was becoming increasingly difficult to actively maintain and update these services. With everything crammed into a single Proxmox host, simply changing one thing or trying to update a package could cause a whole boatload of issues further down the line. It was becoming a brittle house of cards.

I have a tendency to deprioritise my own needs, a habit that bleeds into how I manage my systems. I kept it running for as long as I could, as best as I could. I knew the main OS drive was failing, and I’d been taking periodic backups of critical items (a few websites, a couple of Minecraft servers for the kids, and a few other bits & bobs).

Now, I know what you’re probably thinking… “Why didn’t you just replace the drive sooner?”

It’s a recurring struggle—putting myself last—and in a way, the server collapse was a physical manifestation of that neglect. Finally, the drive just went ‘off-line’.

The Total System Failure

If I’m being honest, the server’s collapse happened right in the middle of my own personal ‘crash,’ and the timing was brutal. I’d been dealing with a heavy set of contributing personal factors that felt like they were coming at me from all sides. When things finally gave way and I reached out to the doctors for help, I was signed off work and completely done. I couldn’t even look at a laptop for over a week—the energy just wasn’t there. Much like that old Proxmox host, I was overwhelmed and had simply shut down.

It wasn’t until I’d been off for a while, navigating new medication and trying to find some level ground, that I even considered the lab again. Dealing with burnout is a strange, hollow experience—the power is technically on, but the underlying thought processes just don't register. Even talking to my manager when I was first signed off felt like a mountain.

I’ve always hated downtime, especially my own, and it’s taken this total system failure to realise that prioritising my own maintenance isn’t optional. This new RKE2 cluster didn’t happen in a burst of productivity; it was a slow, quiet process I picked at only when I felt I had the headspace. Eventually, piecing this together became a way to reclaim a little bit of control—not as a project, but as a way to breathe again.

Rebuilding with Resilience

With the fix no longer being a ‘nice-to-have’ but a 'need-to-have', I had to crack on. But this time, I wanted to treat the infrastructure differently—less like a delicate, hand-crafted pet, and more like a resilient, self-healing herd.

I looked at k3s with Ansible, but it felt overly abstracted. When you’re used to granular control, ‘simple’ can just feel like a black box. RKE2 offered the balance I was looking for—it felt complete without hiding the machinery.

So, what does this new setup actually look like? I wasn’t interested in building a flashy, "money-is-no-object" rack (I simply can’t afford nor justify that). Instead, I’ve gone for a much more practical and budget-friendly route using Lenovo M900 SFF PCs. These little machines are fantastic—they’re cheap, readily available, and offer a great price-to-performance ratio, especially if you’re willing to grab "spares and repairs" units and fix them up yourself. Since I already had a box full of spare parts, it made perfect sense.

The deployment process is where the real magic (and sanity-saving) happens. I’ve moved away from manual configuration toward a streamlined, automated pipeline:

  • Provisioning: First, I use a custom Ubuntu 24.04 LTS image. When I boot a node from a USB drive, cloud-init takes over to automatically partition the disks and handle the initial OS setup.
  • Orchestration & Storage: Next, Ansible steps in to bootstrap the core cluster components, specifically RKE2 for the orchestration and Longhorn for distributed storage.
  • Application Delivery: Finally, I use ArgoCD to manage everything else. It treats the cluster as a "collection of apps," automatically deploying dependencies like my database clusters, cert-manager, and monitoring tools, followed by the actual services I use every day—like this Ghost instance.

It's strange how fixing the tech is helping me see patterns in my own life. With this new setup, I’ve moved away from that single, fragile host and into something more resilient. It’s not just about uptime; it’s about having the breathing space to not constantly react to failures. I’m slowly but surely piecing together a stable, relatively hassle-free home lab, and in a way, it’s helping me to focus more on my own needs without waiting for another total crash. That feels like a real win to me.

Moving Forward

It’s sort of like this blog in a way. I originally created this site as an outlet for things I find interesting, wanted to share, feelings, thoughts… but I never gave it the full attention it deserved, either because I just didn’t have the time, or feeling like ‘Who in their right mind would read this crap?’. Maybe putting more effort into this too—not just using it as a platform to share things I’m working on, but as a genuine outlet—could help enforce in myself that it’s OK to put the effort into myself, too.

Reflecting on all of this, I’ve realised that reaching out is just as critical as maintaining my systems. If you find yourself in a dark place, please know you’re not alone. I find it hard to open up in person to people, and I'm finding it somewhat difficult putting this together too, as honestly, it makes me feel extremely vulnerable to a wider, unknown audience. Peer support networks like ANDYSMANCLUB do incredible work providing a safe space for men to talk, and they can be a lifeline.

It’s okay to pause, and it’s okay to ask for help.

Support & Resources