SumGuy's Ramblings
The art of wasting time.
Docker, self-hosting, AI/LLM, Linux, and DevOps — explained by someone who learned the hard way. No fluff, no enterprise jargon, just practical stuff that actually works on real hardware.
Recent Posts
-
Sizing 7 Days to Die and Other RAM Hogs
Size RAM for a 7 Days to Die server and other hogs (Palworld, Valheim, modded Minecraft). Measure real use, cap it in Docker, and restart on a schedule.
13 min read -
Home Lab Threat Model: What's Exposed
Mass scanners find a new home lab IP within hours. Audit what the internet can reach, from UPnP to Docker ports to IPv6, then build a threat model that fits.
15 min read -
Kyverno: K8s Policy Without Rego
Kyverno on k3s: validate, mutate, generate, verify signed images, handle exceptions, and test policies in CI. Plus the CEL policy types replacing ClusterPolicy.
12 min read -
Local LLM JSON Output That Doesn't Lie
Constrained decoding makes local LLMs emit valid JSON in llama.cpp, Ollama, and vLLM. It guarantees syntax, not truth. Working curl, Pydantic, and retry code.
13 min read -
AppArmor Profiles for Docker, Step by Step
Docker puts every container under the docker-default AppArmor profile. See what it blocks, then build a tested nginx profile with audit deny and complain mode.
15 min read -
Catch Your Self-Hosted Apps Phoning Home
Self-hosted is not silent. Audit outbound calls with DNS query logs, watch live connections, block egress with Docker networks, then flip telemetry opt-outs.
13 min read -
Btrfs Send/Receive: Incremental Backups
Back up btrfs with send and receive: full and incremental streams over SSH, parent snapshots, restores, failure modes, and btrbk to automate the whole loop.
13 min read -
Docker Build Cache in CI: Make It Hit
Docker layer cache works on your laptop but CI starts cold. Fix it with registry cache or type=gha, set scope and mode=max, and debug why hits still miss.
14 min read -
Sync Game Saves Without a Cloud Account
Sync game saves between PC, Linux, and Steam Deck without a cloud account. Ludusavi backs up the saves, Syncthing moves them, and Proton paths get sorted out.
14 min read -
Pre-Commit Hooks That Catch Secrets
A secret that reaches git push is already gone. Compare gitleaks, TruffleHog, and detect-secrets as pre-commit hooks, with working configs you can copy.
14 min read -
zstd vs lz4 vs gzip vs xz: Measured
zstd -3 compresses 4 to 6x faster than gzip -6 with smaller files. At the top end, xz -6 beat zstd -19 on speed. 19 configs, 4 public data sets, measured.
18 min read -
Grafana Dashboard Sprawl: 50 Panels to 10
Your Grafana dashboard is a wall of 50 panels nobody reads. Use USE and RED to cut it to ten, move the rest to drill-downs, and keep the result in git.
13 min read