A repository to hold the code running (in) my homelab.
My homelab runs on a diverse set of machines, and there's a bunch of workloads I'be been playing with in it. I don't quite know what I'm doing, so I wanna make sure it's less of a pain when it comes time to upgrade/undo/redo. Hardware fails, I tend to trip over ethernet, and thus this lab's automation and design is focused on allowing me to be as lazy and chill about failure as possible.
Most things these days can and will run great with docker, and some things will be better off running outside a container. A few essential services run like this and those are provisioned on nodes with ansible. Every other workload is scheduled with nomad.
Power efficiency is the name of the game; I started with a 40 watt/hour budget which has slowly grown along the amount of hardware in my rack. Now we're on a 100 watt/hour budget, which I wanna try to stick to for a long time.
These happily chug along inside my little rack, converted from an ATLAS half-size airline trolley.
ajusco
: quad-core 32-bit ARM microcomputer; second to join the cluster, now a stream box.xitle
: Broken screen, found on the streets of Brooklyn.tláloc
: Old personal laptop.These hosts run a few services I think of in three layers, in descending order of essentialness:
Without a working network, either wired, wireless or through a vpn, nothing else works. Apart from regular network-y services, the router runs:
coredns
forwards and caches queries (ad-blocking tbd) to the internet at large. Queries to *.nidi.to from within internal networks dynamically resolve from consul.wireguard
runs a site-to-site to a "cloud" DC as well as allowing me to connect outside these walls.consul
, nomad
and vault
provide the basis for running workloads and doing the service discovery/config dance. Along DNS and VPN, I consider these services "tier-1", as everything else is dead without it.
tier-2 services provide nicer abstractions for roberto, the power-user, to run stuff on. These services are:
prometheus
, grafana
and loki
to get an idea of what's happening inside these boxesFinally, there's tier-3 services that actually do stuff for humans in my home:
garagehq
Previously, I've also ran: