Two friends and I would like to build a PC as a server in my house. The idea would be to have a headless server with 3 VMs. I was wondering what would be the best thing to do so that everyone could have their own private space, while optimizing disk space as much as possible (1TB M.2 SSD + 8TB HDD via RAID1). Each of us could play with Docker to have services on top. What software would you use to set up VMs and manage disks, and what advice would you give us in general?
The other option would be to go cloud, with Hertnez + Mega (autoscaling).
I see two paths that might be fun for you.
- Building a local home server
Here you set up something like Debian or Rocky Linux with KVM. You set up 3 VMs. These VMs live on the SSD. 30% each with the remaining 3% aka 30GB reserved for the host system.
You then set something up like GlusterFS or CEPH or even NFS all with set up with a 1/3 quota. You then access these in the VMs and have fun. Pretty isolated and secure. The only catch is that everyone has to trust the person who set up the Linux KVM host and the person who’s home the server lives in.
- Cloud servers
No point of sharing a single machine it would be better for each of you to have your own machine. This being said if you do go this route I think a fun option would be for the three of you to set up and run a Kubernetes cluster.
https://github.com/kube-hetzner/terraform-hcloud-kube-hetzner
Personally i like XCP-ng as hypervisor coupled with Xen orchestra.