Homelab
alexandria is where my projects actually run. Every change reaches it through a pipeline I built (s3ntry), and a monitor I wrote tells me when something breaks.
- 1git pushto main on GitHub
- 2Self-hosted runnerGitHub Actions job runs on alexandria itself
- 3CI gatebuild and checks must pass, or nothing ships
- 4Deployas the non-root s3ntry user, over SSH deploy keys
- 5Runningservices up behind nginx, with a rollback path
Failure drill
I stopped the live 1337 container five times at random points in the poll cycle and timed how long the Discord alert took to arrive, using a test script and each message's timestamp.
- Trials
- 5
- Up/down changes caught
- 8/10
- Mean time to alert
- 5.7s
- Poll interval
- 10s
The 2 misses: one recovery and the next failure landed 5.1 seconds apart, inside a single 10-second poll, so neither was ever seen. Periodic polling can’t catch a flap faster than its interval; only event-driven monitoring would.
alexandriaHomelab server
Ubuntu Server, named after the library: if you’re going to hoard knowledge, commit to the bit. Runs 1337, s3ntry and re::curse, plus a Dockerised *arr stack (Sonarr, Radarr, Prowlarr) and Jellyfin, behind nginx.
valhallaLaptop
Razer Blade 14 ’23, dual-boot. The speakers took a year to fix, then the aux port broke. Worth it.