Built out a storage / virtualization server trying to optimize for budget, while still maintaining features, expandability, and performance. These are just the specific components I used since I had some parts already and wanted to be able to run some docker containers and virtual OSs for testing stuff. CPU, GPU, and HDD prices are still astronomically high, so definitely wait for Black Friday deals or general sales/deals if you can. Put alerts on Slickdeals.com and install the phone app to get notifications.
Unraid (https://unraid.net/). It's proprietary and you sacrifice some performance (but most people won't have 2.5 or 10GbE networks anyway, but you get the most flexibility in scaling drives, preventing data loss on multiple drive failure, etc). It's a powerful hypervisor as well if you want to run server OSs or just host plex / game servers.
Fractal Design Define R5 (https://amzn.to/2TOoFxH): One of the best cases I've ever used and super cheap. 8x 3.5" HDD bays, I think 2 more if you bottom mount and 3 more if you throw in a hotswap bay in the disk drive slots. Plus 2x 2.5" SSD slots for caching drives. It can fit most motherboards you might want as you scale up or you can throw a tiny cheap mobo/processor in it for a budget build.
AMD Ryzen 3900X 12-core (https://amzn.to/3hPEaxa): I upgraded my desktop CPU so I put this in the server. You can get away with even an old Ryzen 1600 or slower if you are mainly doing storage. Try to find a deal on an older 2200/2400G or 3200/3400G and you won't need the graphics card below since those have integrated graphics (G line are the only Ryzen desktop CPUs that do). If you go with an Intel mobo + processor make sure you get a non "F" labeled processor so they have integrated graphics and you don't need to get an additional graphics card.
ZOTAC GeForce GT 710 (https://amzn.to/3e53Jcl): One of the only 1x slot GPUs on the market and strangely enough one of the only cards not affected by the current GPU craziness (although this is just to run the server GUI, not to game on). I got this so the full size PCIe slots are available to other devices/GPUs to passthrough into VMs.
Apevia 800W 80+ Gold (https://amzn.to/2U0zMDs): For a 24/7 server do not skimp out on the PSU. Get at least Gold-rated. I went with this budget PSU but you might want to go with something from Seasonic for more peace of mind (but you will pay 2-3x the price). The fan on this is loud, so it's good for a closet or spare room (make sure there is Air Conditioning / airflow wherever you put this server). UPS: Anything 500-900W depending on how you spec things (https://amzn.to/3xwnv8A): ALWAYS RUN A UPS! EVERYTHING PLUGGED INTO YOUR SYSTEM NEEDS TO BE PLUGGED INTO BATTERY BACKUP OUTLETS ON THE UPS!
Last but not least, HARD DRIVES, glorious Hard Drives: This is the tricky part. Hard drives are going to be the most expensive part of any NAS setup.
Specific Storage Drives: Best Buy WD EasyStore drives are everyone's favorite. Buying consumer drives in enclosures and taking them out is called "Shucking" (yes, like a clam). They are usually cheaper than buying bare drives at MSRP. These specific drives are large in capacity, cheap, and usually WD Red/White NAS (network attached storage) drives inside depending on the model. Sometimes you need to cover up the 3.3v pin with tape to make them work with consumer power supplies, but I haven't experienced that. 14TB for $379.99 each is ridiculous for normal people to afford. https://www.bestbuy.com/site/wd-easystore-14tb-external-usb-3-0-hard-drive-black/6425303.p?skuId=6425303. I picked three of these up for $208.04 each (including tax) last November on sale which is about as cheap as you can expect cost/TB until the new 16TB drives go on sale for similar prices (likely won't happen anytime soon). Some might want to consider using a higher number of smaller drives to mitigate data loss. You can find similar WD drives on Amazon and elsewhere and they will likely be Red/White NAS drives, but you will have to look at review / reddit to determine this. Always get NAS drives for something that will be running 24/7 as consumer drives are not rated for this type of operation and can fail prematurely.
Unraid using something called a caching pool. This is a faster storage pool that is used to ingest data at a faster rate and transfer it to your storage array at a set interval (usually nightly). I used 2x of these Samsung 1TB QVO drives in mirrored mode for a total of 1TB cache with redundancy (one drive can fail): https://amzn.to/3wuUitm
Three is the minimum number of drives you need for a setup with data parity (2 drives hold data, the 3rd holds parity data to rebuild if one of the drives fails. You only get the capacity of 2/3 of the drives you put in, but any one of those drives can fail without data loss. Taking it a step further you can have 2 parity drives so any 2 drives can fail. Unraid is nice because it lets you add arbitrary numbers and sizes of drives to your array without rebuilding everything (getting all data off, reformatting, moving all data back on) like some other solutions require. The only requirement is that your parity drive(s) need to be as big as the largest drive in the array, i.e., you can have an array of [ 4, 8, 12(Parity) ] but the 12TB will need to be the parity drive so you will lose out on those 4TB of storage. I built this out planning on using 3x 14TB drives initially (42TB total, 28TB usable) and add two more 14TB drives (one more storage, one more parity - 70TB total, 42TB usable) on the next sale (this hasn't happened yet, thanks Chia coin).
USB Boot Drive (https://amzn.to/3r1ZmUH). I like these, any flash drive that doesn't get too hot will do. I prefer low profile drives for this purpose, though.