Software written for this environment and released as open source. Each one solves a problem the homelab actually had.
Runs speed tests using Ookla, LibreSpeed, or a private iperf3 server, recording download, upload, ping, jitter and packet loss. You enter the plan you pay for and the share of it your ISP is obliged to sustain — the app then builds the evidence trail for when they fall short: outages, sustained breaches, and latency or loss spikes, each with downtime totals.
docker compose up -d is the whole install. Multi-stage images run as a non-root user and apply schema migrations on every boot; GitHub Actions runs typecheck, unit tests, and a build of both images on every push and pull request.
Gardens hold pots, soil mixes and planted instances, each garden visible only to the members invited to it. The shared species library is filled by searching the Trefle botanical API and importing a match — Trefle's 0–9 ordinal scales for light, soil humidity and nutrients are mapped onto the app's own enums on the way in, so an imported species arrives as a real care profile rather than raw numbers. Live conditions and a four-day forecast come from Open-Meteo, no key required.
A Vue 3 SPA and a FastAPI backend over Postgres, all in Docker. nginx serves the built SPA and proxies /api/ to the backend on the same origin, so auth is a plain httpOnly cookie with no CORS to configure and login is rate-limited at the proxy. Phase 1 — the web app — works today; the next phase adds ESP32 nodes reporting soil moisture over MQTT, so watering can be decided from sensor readings, schedule and forecast instead of by hand.