Reaching Homelab Services from GitHub Actions via ARC
How I put an ARC self-hosted runner inside my homelab K8s cluster so GitHub Actions workflows can reach internal services without tunnels.
Infrastructure & Engineering
Kubernetes, Homelab, and self-hosted tool setup and operations
How I put an ARC self-hosted runner inside my homelab K8s cluster so GitHub Actions workflows can reach internal services without tunnels.
Using LiteLLM Proxy to unify Lemonade (AMD ROCm llama.cpp) and a ChatGPT subscription behind a single OpenAI-compatible API in my homelab.
Commit message generation was quietly draining my Copilot free quota. Fixed by pointing the utility model at a local Gemma-4-E4B via LiteLLM.
Running llama.cpp on my k3s + AMD GPU cluster kept hitting memory access faults. The culprit: a bug in MES firmware 0x83 shipped with amdgpu-dkms-firmware.
I set up Strix Halo as a k3s worker via Incus VM + VFIO, then hit a wall: once the GPU enters a dirty state, recovery is impossible without bare metal.
device-plugin gives the GPU to one Pod at a time. Here's why I switched to DRA on k3s, and three Strix Halo-specific issues I had to patch around.
How I joined GMKtec EVO-X2 (Ryzen AI MAX+ 395) to my k3s cluster as a GPU node via Incus VFIO, covering APU-specific passthrough gotchas.
How I built a Discord BOT in Go to securely interact with my private homelab server without exposing it to the internet.
A guide to building a disposable remote dev environment on homelab Kubernetes with Coder to keep your PC clean, and its relevance in the AI agent era.
Pragmatic homelab backups using TrueNAS and Google Drive. A 3-tier storage architecture using Cloud Sync PUSH, prioritizing cost over strict 3-2-1 rules.
Migrating homelab from VMs to Incus (LXC) + K3s. Solve MicroK8s challenges and set up optimized container orchestration with our step-by-step Incus guide.
A debugging story of Beszel and Pocket ID integration. Uncovering the trap of 'silent' standardized output and the true culprit: unverified email addresses.