Roché Compaan

32 Followers
71 Following
216 Posts

👋 I'm a full-stack coder and DevOps veteran with 26 years experience, founder of Upfront Software, and software architect at Six Feet Up. 🚀 When not crafting code or designing systems, you'll find me running marathons 🏃.

I'm building https://agibase.com for fun and profit.

I'm passionate about streamlining the dev experience and making deployments robust using Kubernetes.

Nextcloud sucks hard, and I'm not the only one saying so! I don't think I've had a single successful filesync since adding it to my Homelab. I'm going to try copyparty next. Amazing that "the whole thing is just the one single Python file"!

https://www.youtube.com/watch?v=15_-hgsX2V0

introducing copyparty, the FOSS file server

YouTube

If you take just one thing away from #FOSDEM this is it.
👇🏽
“If we lose our democracies, Open Source is irrelevant and goes away”

or putting it another way:

If we don’t apply, enforce, adopt and embrace Open Source in our public and government institutions we risk to lose our democracies.
#OpenSource #SaveDemocracy
Boost if you agree!
👍🏾

I may regret this at some point, but I felt the need to put down in writing how I feel about this moment in the tech industry.

It is not kind. You may well be insulted by it. If you are... then you really should question yourself.

https://www.garfieldtech.com/blog/selfish-ai

#AI #LLM #Programming

Selfish AI | GarfieldTech

Now I need to move the rest of the family from OneDrive/Dropbox/Google Drive to Nextcloud.

After that:

- Spin up blogs for Juan and me
- Move Home Assistant into k8s
- Self-hosted mail

And then, extrication from the Cloud Mafia!

Nextcloud has landed in my homelab, fully cloaked and only reachable through OpenZiti! Ziti DNS was tricky in k8s since I already run ziti-edge-tunnel on every node outside the cluster. Codex helped me add a CoreDNS service to proxy .compaan queries (my internal Ziti domain) to the Ziti interface on each node:
https://github.com/rochecompaan/nixdots/blob/main/argocd/homelab/infra/ziti-dns-forwarder.yaml

Called my son, Juan, on Discord, had him install the Windows OpenZiti Desktop
client + the Nextcloud desktop app, and he was syncing files within 10 minutes!

nixdots/argocd/homelab/infra/ziti-dns-forwarder.yaml at main · rochecompaan/nixdots

my NixOS system configuration . Contribute to rochecompaan/nixdots development by creating an account on GitHub.

GitHub

The admin interface is built in Go + htmx. The weigh-in points run as a React PWA using the device camera for QR scanning, and REST calls to the scale to weigh crates.

Go has been a joy to work with. It has the same simplicity and batteries-included feel as Python, but with a real step up in performance headroom. Bulk employee imports complete instantly, and the UI stays responsive throughout. Coming from Python, the difference is very noticeable. I’m keen to write more about this soon.

I originally called it CropDash, until GoDaddy said I could buy the .com for $2,499! I was shocked to see croprun.com is still available. I thought all the common noun and verb combinations had long been claimed by domain squatters.

To make it feel like I'm still on holiday, I stepped out of my Python & Django comfort zone and changed up the stack.

My holiday plans to finish my homelab got upended by my empathy for my sister. She and her partner were drowning in admin on a new strawberry farm, manually capturing picking sheets for close to 200 employees in Excel each day.

The systems they looked at couldn’t automate the weigh-in process, so I decided to vibe-code a product to help them out.

Meet CropRun!

I thoroughly recommend reading all of Cory Doctorow's recent speech on AI skepticism, it's crammed with new arguments and interesting new ways of thinking about these problems https://pluralistic.net/2025/12/05/pop-that-bubble/#u-washington
Pluralistic: The Reverse-Centaur’s Guide to Criticizing AI (05 Dec 2025) – Pluralistic: Daily links from Cory Doctorow

I made significant progress with my Homelab this weekend. I finally found time to install OpenWRT on an Asus RT-AX53U. It was pleasantly straightforward. I love that I can install and run HAProxy on OpenWRT to load-balance services in my homelab.

I wondered if one can manage OpenWRT in Nix and found https://github.com/MakiseKurisu/dewclaw. Can't say how practical it is for use, but will revisit it later.

Declarative DNS with NixOS-DNS, OctoDNS and Hetzner was a sweet, sweet discovery: https://rossabaker.com/configs/dns/

GitHub - MakiseKurisu/dewclaw: dewclaw: semi-declarative OpenWrt configuration

dewclaw: semi-declarative OpenWrt configuration. Contribute to MakiseKurisu/dewclaw development by creating an account on GitHub.

GitHub