Self-Hosting Stirling PDF on Kubernetes

If you work with PDFs regularly and you’re running your own infrastructure, Stirling PDF is hard to beat. It’s a self-hosted, web-based PDF toolbox with over 50 operations — merge, split, compress, convert, OCR, edit, watermark, rotate, and a whole lot more. It’s built on Java/Spring Boot with LibreOffice and Tesseract doing the heavy lifting under the hood. At 75,000+ GitHub stars and counting, it’s become one of the most popular self-hosted apps in the homelab community.

In this post I’ll walk through how I deploy it on my Talos Linux Kubernetes cluster using Ansible and the official Helm chart, and break down what you get on the free tier versus a paid plan.

Read more

Dispatcharr: Watch TV from Any IPTV Provider, Anywhere — and Keep It Running When Streams Fail

If you’ve ever wanted to consolidate multiple IPTV providers, watch live TV from anywhere over the internet, and never have a stream die on you without a backup ready to go — Dispatcharr is the tool you’ve been looking for.

Read more

Deploying Mealie on Kubernetes: Recipe Management with a Personal Touch

One of my favorite self-hosted apps running on my cluster is Mealie — a recipe manager that’s become a staple in our household. Sure, there are plenty of recipe apps out there, but Mealie does something that really sets it apart for me: it lets me import recipes from the web, store my own creations, … Read more

Hosting WordPress on Kubernetes with Ansible and Gateway API

This guide walks through deploying a production-grade WordPress site on Kubernetes using Ansible. The stack runs on Talos Linux with the official WordPress Docker image, a MySQL 8.0 StatefulSet backed by Longhorn storage, and traffic routing via the Kubernetes Gateway API. Stack Overview WordPress: wordpress:6.9.1-php8.3-apache — 3 replicas, RollingUpdate with zero downtime Database: MySQL 8.0 … Read more

Running Cloudflared with Traefik on My K3s Cluster

By switching to Cloudflared, I was able to remove the firewall rules I originally had that allowed external traffic from Cloudflare’s network to communicate directly with my cluster.This not only simplifies the overall design but also adds another layer of security to the setup. As with any technology, things are constantly evolving and changing. I … Read more

Automating TLS Certificates in Kubernetes with cert-manager and Cloudflare

If you’re running Kubernetes and want automatic HTTPS for your services, cert-manager is one of the best tools available. It integrates directly with Let’s Encrypt to handle certificate requests, renewals, and management. In my setup, I wanted to: To make the process easier to repeat, I split the configuration into four Ansible playbooks: cert-manager Helm … Read more

My Load Balancer and Ingress Setup: MetalLB, Traefik, and Cloudflare

When I first set up Kubernetes on my bare-metal cluster, one of the first things I needed was a way to handle load balancing. Since I’m not using a cloud provider, I needed something that could assign external IPs directly on my local network — and MetalLB fit that role perfectly. Why I Chose MetalLB … Read more

From NFS to Longhorn: Optimizing Persistent Storage on My Kubernetes Cluster

When I first set up my Kubernetes cluster using OrangePi CM4 boards on the Turing Pi V2, storage was a challenge. Since the OrangePi CM4 didn’t support NVMe and SATA across the four nodes, I resorted to NFS mounts for persistent volume storage. While this worked, it wasn’t the most efficient solution, especially for performance-intensive … Read more