~/homelab
homelab.
three nixos boxes on tailscale. runs everything i refuse to cloud β photos, media, matrix, push notifications. host telemetry pushed every 60s by the homelab-agent module on each box; service status scraped from uptime-kuma on nova.
01 //topology.
ascii Β· the whole rack in 20 lines [ internet ]
β
ββββββ΄βββββ
β router β home gateway Β· 192.168.0.0/24
ββββββ¬βββββ
β
ββββββ΄ββββββββββββββββ¬βββββββββββββββ
β β β
βββββ΄βββββ βββββ΄βββββ ββββββ΄ββββ
β nova β βgilbert β β void β
β .10 β β .11 β β .12 β
β caddy β β ripper β β zfs β
β matrix β β mc β β nas β
β media β β nfs β β samba β
βββββ¬βββββ ββββββββββ ββββββββββ
β
βΌ
[ tailscale β cloudflare dns β *.flaked.org ]02 //hosts.
3 machines Β· all nixos Β· all on tailscale- cpu
- IntelN100 Β· 4c
- ram
- 15.4 GiB
- storage
- root: 39.6 GiB / 467.9 GiB
- os
- nixos 26.05
- load
- 0.16
- uptime
- 39d 12h
- last seen
- 27s ago
- cpu
- Inteli7-6700 CPU @ 3.40GHz Β· 8c
- ram
- 15.3 GiB
- storage
- root: 54.0 GiB / 232.7 GiB
- os
- nixos 26.05
- load
- 0.07
- uptime
- 39d 12h
- last seen
- 1m ago
- cpu
- Inteli5-4460 CPU @ 3.20GHz Β· 4c
- ram
- 15.5 GiB
- storage
- storage: 2.72 TiB ONLINE
- os
- nixos 26.05
- load
- 0.00
- uptime
- 38d 15h
- last seen
- 1m ago
03 //services.
9 containers across 3 hostsjellyfinmedia@nova
self-hosted media library; streams whatever gilbert ripped to whichever tv is on
statusup
uptime100.00%
latency64ms
immichmedia@nova
photo library, replaces icloud for anything i actually care about
statusup
uptime100.00%
latency0ms
matrix-synapseinfra@nova
matrix homeserver; federates out, postgres-backed
statusup
uptime100.00%
latency93ms
piholesecurity@nova
network-wide dns blocklists for the whole house
statusup
uptime100.00%
latency98ms
uptime-kumainfra@nova
monitors every other service. this page reads from its api.
statusup
uptime100.00%
latency63ms
rommmedia@nova
rom library + emulator frontend; postgres-backed
statusup
uptime100.00%
latency0ms
rustfsstorage@nova
s3-compatible object store; serves as a backup target
statusdown
uptime0.00%
latency0ms
gotifyinfra@nova
push notifications for nixos upgrades + alerts
statusup
uptime100.00%
latency0ms
igotifyinfra@nova
second gotify instance β split channel for noisier alerts
statusdown
uptime0.00%
latency0ms
04 //storage.
raid6 Β· nightly restic β b2capacity// zfs pools across all hosts
0.3TiB used
total 2.7 TiBfree 2.4 TiB10% used
backups// rustic-backup module
- tool
- rustic (restic-compatible)
- schedule
- nightly via systemd timer
- encryption
- per-host repo password (sops)
- last snapshot
- tbd β agent will report
network// tailscale + caddy
- subnet
- 192.168.0.0/24
- tailscale
- nova as exit + subnet router
- public dns
- *.flaked.org via cloudflare
- dns blocking
- tbd β pihole stats