I'm hoping to find a build list for a general home server/NAS. The goal is to have a server capable of running 2-3 VMs along with a handful of containers, act as a Plex server, and act as a NAS for media storage.
The VMs will be game servers so probably on the beefy side. Plex will need to transcode but never likely more than 3-4 simultaneous streams at most.
Budget isn't too important within reason, my general preference is to go bigger than needed to future proof myself a little and give a cushion for changing needs. I'd like to keep the build < $3000 if possible.
I have no preference on specific hardware or OS so long as the end product can perform well and meet my needs. I'm also not opposed to buying something premade if there something out there that might fit the bill.
Really appreciate any insight, thanks!
EDIT: Should add I'm also not super concerned about noise, this will be located in an out of the way closet so it shouldn't be an issue.
I am running a AMD Athlon(tm) X4 860K Quad Core Processor with 32GiB of RAM, Radeon HD 7450, 16TiB of HDD storage and 256GiB SSD. The only upgrade I am considering is buying 4TiB SSD drives to replace the HDD drives, this is only because I've noticed SSD's have gotten really cheap.
I would plan for Docker and not Virtual Machines, as VM's emulate an entire computer and then you run an entire operating system within them and then the application, the result is they need far more resources to act as a host for an application. Server applications have been moving to Docker because its a defined way to sandbox applications, run them consistently and uses far less resources.
I then deployed Portainer Community Edition on to the server, this provides a Web UI to manage the docker contaners running on the server. I have 9 docker containers currently running on the server.
You mentioned Plex: Plex provide a docker image for running their application that supports NVidia GPU Acceleration and seems to run fine on AMD hardware. You will find almost every server application offers an official docker image.
With my business hat on, think how many docker containers you want and plan for that + 1 cores in your CPU, you can probably look up the applications you want to run and add up their recommended RAM usage, as a home rule of thumb 16 GiB of RAM is the minimum, 64GiB would be overkill.
I have a similar setup except I'm using Jellyfin instead of Plex.
For hardware, it's a Ryzen 5900X, 128 GB of memory, 1 cheap SSD for the OS, 2 1TB NVME drives for fast storage, 2 2TB SSDs for normal storage, and 4 20 TB drives for bulk storage. 1 cheap GeForce GT 710 for video, and 1 Nvidia T1000 for transcoding.
For OS, I'm using Proxmox. I have a few VMs, but mostly everything lives in LXC containers.
For the NAS part, I have the hard drives mounted as a raidz2 on the Proxmox host, and I pass access through using LXC Bind Mounts. The pair of SSDs are in a mirror, and same with the pair of NVME. Game servers live on the NVME, and everything else on the SSD.
Game servers that run on linux run in LXC, otherwise I have a windows VM. I've never liked running game servers in Docker.
I also have Proxmox Backup Server running on the Proxmox host itself.
I have a Dell R720XD as my home NAS. I bought it used off eBay. The XD version has 12x 3.5" drive bays. I have eight of them occupied with 8TB spinning disks. The server runs TrueNAS and the disks are part of a ZFS RAID. I spent a few hundred dollars on the server itself, a hundred or so on more RAM, and $2200 on the hard drives.