$ cat /etc/motd

a homelab, built from spare parts.

Two used mini PCs from a corporate refurb lot. Four Raspberry Pis from a Kubernetes project I abandoned in a weekend. A NAS I saved for. A little networking gear picked up over time. Nothing new, nothing expensive, nothing bought all at once.

From that pile: a running homelab. Two Proxmox hypervisors, nine Debian VMs, four Pis running DNS / home automation / a general-purpose workhorse. Ansible on WSL (a Linux terminal inside Windows) keeps it from rotting.

If you're staring at some old hardware wondering whether it's enough to start with — yes it is. Start here.

$ ls /blog  // read in order — each post assumes the previous one

$ cat /etc/naysync/rack.conf  // what all of it ended up being

[hypervisors]     ; used i5-6th-gen mini PCs, cheap refurb lot
pve1              ; proxmox host
pve2              ; proxmox host

[vms]             ; debian 13 trixie, docker on all except pbs
monitor           ; prometheus + grafana + loki + alerts
pbs               ; proxmox backup server 4.x → nightly to NAS
postgresql        ; postgres + timescaledb
jenkins           ; ci for personal projects
amd64-1           ; general-purpose docker host
jellyfin          ; media server (ubuntu 24.04 lxc)
torrenter         ; pins through vpn-gateway
vpn-gateway       ; openvpn tunnel provider
server            ; side-project stack, isolated

[pis]            ; 3× pi 4b 2gb, 1× pi 4b 8gb — the "abandoned project" set
pihole-p          ; primary dns (pi-hole + unbound)
pihole-s          ; secondary dns — the "no household outage" insurance
hass              ; home assistant, boots from USB-SSD
arm64-1           ; general-purpose ARM64

[control]
ansible from WSL on my laptop
one repo, ~30 playbooks, ~20 roles

[what-it-does]
ad-blocking DNS the whole house uses
self-hosted media server on every TV
home automation that won't get acquired
backups I can actually verify
observability so I can see what's breaking

[uptime]
target = "good enough"
policy = one machine at a time; critical stuff gated by health checks