While I’m not a systems administrator by a long shot I have used Linux in the past and thought I might be able to come up with a suitable setup for my requirements. I could have just rented in the cloud but since I had access to older enterprise hardware for free (through my brother’s business) I took it as an opportunity to learn something new.
The most important requirement was redundancy, so I set up two servers in two locations: an old Dell PowerEdge and a Lenovo ThinkStation. Both are Intel Xeons with 16GB (Dell) and 24GB (Lenovo) RAM. Using software RAID1, the Dell has SSDs, the ThinkStation HDDs. The Dell is also connected to an UPS.
Both servers are running Rocky Linux 8, configured as virtual machine hosts. They run identically configured Ubuntu virtual machines with Conda, JupyterHub, PostgreSQL, Syncthing. They independently update the database everyday.