Installing an unauthenticated homelab tool sparked a deep dive into self-hosted authentication—exploring Cloudflare Access, Authelia, Pocket ID, Keycloak, and landing on Tinyauth with Nginx Proxy Manager.
Blog
Solving Homelab Authentication: A Story of Cloudflare, Authelia, Keycloak, and Tinyauth
The hidden trap in Terraform's S3 backend (and why Cloudflare breaks it)Why terraform init threw SignatureDoesNotMatch through Cloudflare Tunnels, and what AWS SDK v2 is doing behind the scenes.
Life after MinIO: Why I switched to SeaweedFS in my homelabAfter discovering MinIO's repository was archived, I evaluated SeaweedFS and Garage for self-hosted S3 storage.
Granular Proxmox Terraform state and live homelab discoveryWhy I wrapped Terraform in Bash to isolate Proxmox LXCs and VMs per VMID, how the state backend evolved to S3, and how a Python discovery engine auto-generates live infrastructure catalogs.
Ollama quietly stopped using my AMD iGPUWhy Ollama suddenly ran everything on the CPU on my AMD APU box, and the one environment variable that brought the GPU back.
Generating Semantic Note Filenames: Taming Local LLMs with Ollama and Gemma 4How I integrated LLMs into my PKM converter, refactored API abstractions, debugged network/port quirks, and compared local model performance.
Finding My Perfect PKM Fit: The Journey from Logseq to ObsidianWhy and how I built a custom Python migration CLI to extract semantic note structures from Logseq and bridge the gap to document-based PKM vaults.
- Moving Development to the Cloud: The AI-First Home Server
Why and how I shifted my development workflow from local laptops to a Proxmox-based remote setup, optimized for agentic workflows.
Winning the AWS Jam Toronto: An Unexpected JourneyMy experience attending the AWS Jam in Toronto, diving into DevOps and Generative AI, and unexpectedly taking the top spot.
How I Saved My Immich Installation from a Broken PostgreSQL Upgrade on TrueNASA deep dive into a manual PostgreSQL 15 to 18 migration for Immich on TrueNAS SCALE, using Warp's AI agent to navigate a broken upgrade path.
- Beyond "It Works on My Machine": Lessons from Modernizing a Legacy Ansible Role
My journey modernizing an old Ansible role for chezmoi, navigating the shifts in the Ansible ecosystem, and learning to treat AI as a senior peer.
- Self-Hosting Atuin with Docker and Coolify
My journey to solve fragmented terminal history by self-hosting an Atuin sync server using Docker and Coolify.