Logbook
Working notes from the homelab and the day job.
Adding Flux to an already-running k3s cluster
Bootstrapping Flux onto a live cluster is different from starting fresh. Reconciliation will fight workloads you deployed manually unless you annotate them first.
Ollama on bare metal: what actually runs
16GB RAM is enough for 8B models. Phi-3 Mini runs fine. Llama 3 70B needs a GPU. The quantized 4-bit version is barely usable at homelab speed.
Toggl + Asana sync: building a script with Claude
Both have APIs. The sync logic was straightforward; the OAuth refresh for Toggl took most of the time. Claude wrote 90% of it. I spent my time on the refresh handling and the rate-limit edge cases.
Migrating photos off Google to Immich
Google Takeout exports cleanly. The problem is metadata: Takeout separates JSON sidecar files from images, and Immich's importer doesn't always reconcile the timestamps correctly. exiftool fixes it in bulk.
Slack alerts for datacenter maintenance windows
GridPane sends emails for maintenance and outages. I don't check email fast enough. Simple webhook from a scheduled script polling the status page; now it pings Slack immediately. Took an afternoon.