Hi! I’m planning my first PC build - a home server/workstation setup, and I’d like some guidance on component selection and overall approach.
Core Requirements & Budget:
- Located in Europe
- Flexible budget - willing to invest in quality components where needed
- No existing parts or retailer preferences
- Planning to use Fedora/Fedora Server as OS
Project Overview: I’m looking to build a system that will serve as both a home server and development workstation. My main challenge is deciding between two approaches:
- Setting it up as a server using something like Cockpit (https://cockpit-project.org/) to manage containers and VMs, accessing everything remotely via RDP/SPICE
- Building it as a workstation that can run containers and VMs locally
The system will need to handle:
- Container workloads (PostgreSQL, NextCloud AIO, Jellyfin, LLM inference)
- Virtual machines (Home Assistant and a development VM for coding/LLM experiments in case of server build)
- Software development (mainly Rust) in case of workstation build
- LLM inference (planning to add a GPU later)
Current Planning & Questions: I’ve started a build on PCPartPicker (Part List - AMD Ryzen 9 9900X, Lian Li A3-mATX MicroATX Mini Tower - PCPartPicker) but I’m facing some decisions:
CPU Choice: I’m considering either the AMD Ryzen 9 9900X or 9950X. Since this will run 24/7, I’m wondering if the extra 4 cores/8 threads of the 9950X justify its 50W higher TDP?
Storage Strategy: I’m planning for:
- Two M.2 slots - one for OS, one for working storage (does this make sense?)
- Space to add two SATA SSDs later for backup
Other Requirements:
- RAM expandable to 128GB-192GB over time
- mATX form factor (seems to hit the sweet spot for size vs features I need)
- One PCIe slot for a future graphics card
Being new to PC building, I especially need help with:
- Motherboard selection that meets these requirements
- Appropriate CPU cooling solution
- Memory configuration recommendations
- Storage device selection
- Power supply sizing
Would really appreciate any guidance on these components and whether my overall approach makes sense for this use case. Also open to completely different suggestions if there’s a better way to achieve what I’m looking for!