That took more time than I was expecting and at the same time it was way more smooth than expected. Delays were mostly done by me taking all possible precautions and testing everything every step of the way. And also some other real life issues that happened, but that’s not the point of this infodump.
All in all the plan was simple. Step one: prepare the new server. Role of the server is played by an OptiPlex thin client with maxed up ram and 512GB NVMe drive. I set it up with a ProxMox hypervisor and transplanted a 1TB SATA SSD drive from the old WYSE client I was using as NAS. After a couple of hours debugging and forcing the OS to play nice with the NIC came the fun part, VM creation. I had long shower sessions contemplating how to do this and here’s what I decided:
- One big linux VM with a lot of RAM for storage, databases, NAS and internal apps running in docker.
- One dedicated VM for Home Assistant OS with ZigBee dongle passthrough.
- One linux VM for Apache web server to run some other stuff.
- One small linux VM for dev, testing and overall management purposes.
There is also a Raspberry Pi zero W2 I got a couple of months ago just because I can, it’s powered from the same circuit as my network appliances and only runs SSH server and docker with a VPN-like endpoint just to serve as a backdoor in case of emergency. I didn’t really touch it other than re-assign its IP to finally have some consistency in addresses.
Once machines were up and running I moved databases, application data and docker containers to the VM and shut down the WYSE box. I kept it in reserve and also kept running the web server (RasbPi4) for another week, slowly moving or decommissioning stuff from it (I have a Nagios monitoring setup there… I haven’t logged into it in 2 years since I discovered Uptime Kuma which runs in docker and has a lot of nice integrations with things I actually use). Finally yesterday I switched the main web apps I use to run from the VM I made for them and unplugged the RasbPi for the first time since I got it. Then I proceed to dismantle the junk that grew around it to power and cool it all. All in all, I recovered one shelf and got all of my stuff to run below 15W from the 25W-ish it used to pull. And at the same time the compute power and memory tripled.
All in all I’m happy how it turned out. I wonder how long till I start changing it again… I give it a month.
If you’re interested in the previous installments of my home lab journey, here’s a chronological list:
I need to write those blogs more often, there’s been a lot updates along the way that went undocumented.