unnamed

Why Invoice Ninja Kept Logging Me Out — And How CrowdSec Was the Culprit

I set up Invoice Ninja for my business invoicing needs. After logging in, refreshing the page would immediately kick me back to the login screen. After a deep troubleshooting session, the culprit turned out to be a CrowdSec AppSec rule designed for Langflow AI — misfiring on Invoice Ninja’s /api/v1/refresh endpoint. Here’s exactly how I found it and fixed it

Gemini_Generated_Image_1omwip1omwip1omw

Migrating from Nginx Proxy Manager to NPMPlus with CrowdSec: A Complete Walkthrough

I replaced my standard Nginx Proxy Manager instance with NPMPlus (an enhanced fork) and integrated CrowdSec for automated threat detection and blocking — including Cloudflare Turnstile captcha challenges. The whole stack runs in Docker, managed via Dockge, and sits behind itself as a reverse proxy. Here’s exactly how I did it, including the gotchas I hit along the way

Gemini_Generated_Image_qpefjnqpefjnqpef

3-2-1 and Then Some: How I Back Up My Entire Home Lab

A comprehensive breakdown of my homelab backup architecture, built around the “3-2-1” principle. The strategy utilizes TrueNAS as the central hub, employing ZFS snapshots for immediate disaster recovery, Rsync to a secondary PC for local hardware redundancy, and Proxmox Backup Server for managing VM/LXC backups. Finally, all critical datasets and backups are automatically synced offsite to Storj, ensuring the entire network is well protected against failure

unnamed

Your Backups Need a Backup: Syncing PBS to Storj for Offsite Peace of Mind

A guide to implementing offsite homelab backups by syncing a local Proxmox Backup Server (PBS) directly to Storj’s decentralized S3-compatible cloud storage. Taking advantage of PBS’s native S3 support and Storj’s free egress, the author explains how to configure S3 endpoints with path-style access, create a remote datastore, and set up a pull-based sync job to automatically upload deduplicated and doubly-encrypted backups every night.

Gemini_Generated_Image_lqpvj0lqpvj0lqpv

Supercharge Your Photo Library: Hosting Immich on Proxmox LXC with TrueNAS & NVIDIA

A technical walkthrough on self-hosting the Immich photo library inside a lightweight, unprivileged Proxmox LXC container. It covers securely mapping a TrueNAS NFS share to bypass unprivileged LXC permission errors, passing through an NVIDIA GPU (GTX 1080ti) to the container, and using Dockge for deployment. The result is a highly secure, hardware-accelerated photo backup system with blazing-fast video transcoding and AI facial recognition.

Gemini_Generated_Image_bta7q3bta7q3bta7

From Wasted Space to Unified Storage

How to repurpose an underutilized bare-metal backup machine into a TrueNAS Scale NAS to create unified, shared storage. To keep backup capabilities without virtualization overhead, Proxmox Backup Server (PBS) is hosted natively on top of TrueNAS inside a lightweight Debian 12 container. The guide explains dataset mapping, bridge networking, and installation steps to create a highly efficient, low-resource backup and storage solution.

In the homelab world, it’s easy to fall into the trap of over-provisioning hardware for a single task. Until recently, I had a dedicated bare-metal machine running Proxmox Backup Server (PBS). It had 2TB of usable storage, but my actual Proxmox VE backups only totaled around 350GB.

Leaving all that unused space locked strictly to backups felt like a massive waste. At the same time, I didn’t have a dedicated NAS appliance on my network. I really needed a centralized place for shared storage—dropping family photos, storing videos, and keeping all my Batocera save files synced up.

The solution? Nuke the bare-metal PBS installation, turn the hardware into a TrueNAS Scale appliance, and run Proxmox Backup Server on top of TrueNAS inside a lightweight Linux container. Here is a detailed look at how I pulled it off.

Screenshot_20260216_022334

Converting an Old NTFS Drive to ext4 on Arch Linux (The “Nuke and Pave” Method)

A practical, step-by-step guide on wiping a Windows NTFS hard drive and preparing it for native Arch Linux use. The post walks you through using cfdisk to recreate the partition table, forcing a format with mkfs.ext4 to overwrite stubborn NTFS signatures, configuring auto-mounting via /etc/fstab, and resolving the common ext4 root-ownership permission block so that the drive is fully usable by your user account

unnamed

Switching from Windows 11 to CachyOS Linux

After growing tired of Microsoft’s aggressive pop-ups and forced features, the author shares their experience migrating their primary AMD gaming rig (Ryzen 7 7700X, Radeon 7900 GRE) from Windows 11 to CachyOS, an Arch-based Linux distribution known for speed and performance. The post details the smooth gaming experience (easily hitting 165 FPS in EVE Online out of the box), adapting to KDE Plasma and package managers like Flatpak, and a clever workaround using a Proxmox-hosted Windows 10 VM via Remmina for their daily work needs. Ultimately, the author highly recommends the switch for enthusiasts looking to take back control of their hardware.

extend-volume-greyed-out-how-to-increase-c-drive-s

How to Extend Your C: Drive by Managing the Recovery Partition

A practical guide on how to extend a Windows C: drive when a stubborn Recovery Partition is blocking the adjacent unallocated space. The post walks you through safely using the diskpart command-line utility to delete the obstructing partition, extending the C: drive using Windows Disk Management, and optionally (but highly recommended) shrinking a small portion of the C: drive again to create and properly configure a brand-new Windows Recovery Environment (WinRE) partition.

IMG_1560

The car hobby journey begins

In 2021, I made the decision to sell my Opel Corsa 1.0T and upgrade to a 2018 Subaru Impreza 2.0 CVT. As someone who had never owned a car like this before, I was both nervous and excited to see what it could do. Little did I know that this car would ignite my passion for cars and change my life in unexpected ways.

At first, the CVT transmission felt strange to me. I had only ever driven manual transmission cars, so it took some time to adjust. But as I got more comfortable with the Impreza’s smooth and seamless shifts, I began to appreciate its benefits, especially for city driving. The power of the Impreza was another thing that impressed me. With a horsepower of about 115kw, it was the fastest car I had ever owned. Compared to my Opel Corsa, which was only rated at 80kw, the Impreza was a major step up. I loved the feeling of acceleration and power that came with driving the Impreza, and it only fueled my interest in cars and their capabilities.

After a few months of driving the Impreza, I decided to make my first modification. I had a locally made axle-back exhaust installed to delete the mufflers and bring the car’s sound alive. The resulting roar of the engine was music to my ears and completely changed my perception of Subarus. It was this moment that made me fall in love with Subarus as a whole. The exhaust not only gave the car a more aggressive sound, but it also improved its performance. The exhaust system allowed for better airflow and less restriction, which in turn increased the horsepower and torque output of the car.

However, the Impreza was still under warranty, and when it was time to go for its last service under the motorplan at Subaru Pietermaritzburg, I had to swap out the axle-back exhaust for the factory muffler by myself so that they would not void the warranty. This was my first “self-done” mod, and I was proud of myself for successfully completing it.

As I continued to drive the Impreza and learn more about cars and car culture, I faced some challenges along the way. I initially struggled with figuring out where to start, as there were so many aspects of car culture to explore, from performance upgrades to aesthetic modifications. But I was determined to take it one step at a time, starting with basic maintenance tasks like changing the oil and checking tire pressure.

One of the things that impressed me most about the car-hobby world was the passion and dedication of the community. From attending car shows to participating in online forums, I discovered a whole new world of like-minded people who shared my interests and enthusiasm. It was inspiring to see how people from all walks of life came together over their love of cars.

In retrospect, I’m grateful for my decision to dive into the car-hobby world with the Impreza. It may not have been the most luxurious or expensive car, but it opened up a whole new world of possibilities and experiences for me. I look forward to seeing where this journey takes me next and to continue learning and exploring the world of cars.