this post was submitted on 20 Feb 2024
141 points (94.3% liked)

Selfhosted

39085 readers
333 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 1 year ago
MODERATORS
 

It looks like !buildapc community isn't super active so I apologize for posting here. Mods, let me know if I should post there instead.

I built my first PC when I was I think 10-11 years old. Built my next PC after that and then sort of moved toward pre-made HP/Dell/etc. My last PC's mobo just gave out and I'm looking to replace the whole thing. I've read over the last few years that prefabs from HP/Dell/etc. have gone to shit and don't really work like they used to. Since I'm looking to expand comfortably, I've been thinking of giving building my own again.

I remember when I was a young lad, that there were two big pain points when putting the rig together: motherboard alignment with the case (I shorted two mobos by having it touch the bare metal of the grounded case; not sure how that happened but it did) and CPU pin alignment so you don't bend any pins when inserting into the socket.

Since it's been several decades since my last build, what are some things I should be aware of? Things I should avoid?

For example, I only recently learned what M.2 SSD are. My desktop has (had) SATA 3.5" drives, only one of which is an SSD.

I'll admit I am a bit overwhelmed by some of my choices. I've spent some time on pcpartpicker and feel very overwhelmed by some of the options. Most of my time is spent in code development (primarily containers and node). I am planning on installing Linux (Ubuntu, most likely) and I am hoping to tinker with some AI models, something I haven't been able to do with my now broken desktop due to it's age. For ML/AI, I know I'll need some sort of GPU, knowing only that NVIDIA cards require closed-source drivers. While I fully support FOSS, I'm not a OSS purist and fully accept that using a closed source drivers for linux may not be avoidable. Happy to take recommendations on GPUs!

Since I also host a myriad of self hosted apps on my desktop, I know I'll need to beef up my RAM (I usually go the max or at least plan for the max).

My main requirements:

  • Intel i7 processor (I've tried i5s and they can't keep up with what I code; I know i9s are the latest hotness but don't think the price is worth it; I've also tried AMD processors before and had terrible luck. I'm willing to try them again but I'd need a GOOD recommendation)
  • At least 3 SATA ports so that I can carry my drives over
  • At least one M.2 port (I cannibalized a laptop I recycled recently and grabbed the 1TB M.2 card)
  • On-board Ethernet/NIC (on-board wifi/bluetooth not required, but won't complain if they have them)
  • Support at least 32 GB of RAM
  • GPU that can support some sort of ML/AI with DisplayPort (preferred)

Nice to haves:

  • MoBo with front USB 3 ports but will accept USB 2 (C vs A doesn't matter)
  • On-board sound (I typically use headphones or bluetooth headset so I don't need anything fancy. I mostly listen to music when I code and occasionally do video calls.)

I threw together this list: https://pcpartpicker.com/list/n6wVRK

It didn't matter to me if it was in stock; just wanted a place to start. Advice is very much appreciated!

EDIT: WOW!! I am shocked and humbled by the great advice I've gotten here. And you've given me a boost in confidence in doing this myself. Thank you all and I'll keep replying as I can.

top 50 comments
sorted by: hot top controversial new old
[–] [email protected] 10 points 6 months ago* (last edited 6 months ago)

AMD is the gold standard for general user PCs in the last 5+ years. Intel simply cannot compete at the same energy expenditure/performance. At the same/close price/performance, Intel either burn a small thermonuclear power plant to deliver comparable performance, or simply is worse compared to similar Ryzens

Ryzens are like aliens compared to what AMD used to be before them

So I'd go with them

As for the GPU, if you want to use Linux forget Nvidia

[–] [email protected] 15 points 6 months ago

There is no need for a separate sound card now, it is built in.

[–] [email protected] 10 points 6 months ago

lots of good advice here. I just want to restate: do yourself a favor and migrate your HDDs over to any solid state drive. Whether that means "classic" SSDs with a SATA-Port or M.2s is your prerogative, but in either case you'll start wondering how you could ever stand that s pinning noise and the vibrations and the slow, slow data transfer.

[–] [email protected] 13 points 6 months ago* (last edited 6 months ago)

Get Nvidia GPU for AI, period.

Read the manual for the motherboard you want and make sure that the M2 slot supports NVMe rather than SATA. (Also, learn to tell NVMe from SATA chips.) M2 slots that are SATA usually share a SATA lane with the SATA connectors and if you populate the M2 slot you might lose a connector.

Another thing to read about is whether populating which M2 slot reduces the speed of one of the PCIe slots. Same reason (shared lanes) but with PCIe instead of SATA. These things should be spelled out next to the M2 connectors.

NVMe drives in Linux have /dev/nvme* designations not /dev/sd*.

[–] [email protected] 11 points 6 months ago (1 children)

For AI/ML workloads the VRAM is king

As you are starting out something older with lots of VRAM would be better than something faster with less VRAM for the same price.

The 4060 ti is a good baseline to compare against as it has a 16GB variant

"Minimum" VRAM for ML is around 10GB the more the better, less VRAM could be usable but with sacrefices with speed and quality.

If you like that stuff in couple of months, you could sell the GPU that you would buy and swap it with 4090 super

For AMD support is confusing as there is no official support for rocm (for mid range GPUs) on linux but someone said that it works.

There is new ZLUDA that enables running CUDA workloads on ROCm

https://www.xda-developers.com/nvidia-cuda-amd-zluda/

I don't have enough info to reccomend AMD cards

[–] [email protected] 1 points 6 months ago

I got ROCm to work on a 7800XT after fixing some Python errors. It was quite unstable though.

[–] [email protected] 3 points 6 months ago* (last edited 6 months ago)

Asrock's DeskMeet or DeskSlim series could fit your bill in a small form factor.

[–] [email protected] 3 points 6 months ago

Btw, there are fast and beautiful M.2/NVMe to USB cases, for your SSD.

[–] [email protected] 4 points 6 months ago

Someone might have already mentioned it, but M.2 is just a physical connector. You can have M.2 SATA or M.2 NVME drives. Prefer NVME (a modern motherboard should support it but older ones only do SATA)

[–] [email protected] 8 points 6 months ago* (last edited 6 months ago)

I'd defintely go with an M.2 SSD, you can get 1tb for 50€ and 2tb for 100€ now and they're much faster, more reliable and take up way less space.

For ML/AI stuff, you might be just fine using an AMD GPU. AMD GPUs are a lot easier to use on Linux and are also a good bit cheaper. I use Fedora with an AMD GPU and I just installed the packages for OpenCL and HIP and now I can run LLMs on my PC using my GPU. I've also used Stable Diffusion with that GPU on Linux before. If there's something specific you want to do regarding that, I'd look up first if you need an Nvidia GPU for that but from my experience AMD GPUs work just fine.

I'd take a look at AMD CPUs again. Last time I checked they were even cheaper (including mobo price) than Intel even though they're also more efficient (faster and less power draw). Prices might have changed tho. You should probably use a Ryzen 5, a Ryzen 7 will only make sense if you use all cores because game performance is pretty much the same. A Ryzen 3 is more of a budget option tho, I wouldn't use that. If it's in your budget, you should also use the newest generation that uses the AM5 socket because you'll be able to upgrade your CPU without needing a new mobo. I think it also only supports DDR5 RAM, which is more expensive than DDR4. If you use a Ryzen generation that uses the AM4 socket, it's gonna be cheaper but if you want to upgrade you'll need a new mobo with AM5 and new DDR5 RAM in addition to the new CPU.

As for Linux distros, my recommendations are Linux Mint if you want something very easy, EndeavourOS if you want something Arch-based or Fedora if you want something that's not quite as easy as Mint but more up-to-date. I personally use Fedora but I used EndeavourOS before. I detailed why I switched to Fedora in a reply here somewhere.

[–] [email protected] 4 points 6 months ago

Seems like you got your answers already, but pcmasterrace community also exist

[–] [email protected] 4 points 6 months ago* (last edited 6 months ago) (1 children)

They sadly don't have 3.5" [floppy] drives anymore, and both the ISA and PCI busses are nowhere to be found 😔

I used pcpartpicker for my latest build it's a good help when assembling and can help avoid those incompatible parts.

[–] [email protected] 2 points 6 months ago (1 children)

Technically 3.5" SSDs are still out there, but they're massive (16-64 TB) and target enterprise use (with a price to match).

And 3.5" is still the standard for platter HDDs, which are still the more economical option if you need large amounts of storage.

Now if you meant no more 3.5" floppy disk drives, then yes, those are definitely gone. ;)

[–] [email protected] 2 points 6 months ago

I meant to write 3.5" floppy drives, and yes the 3.5" and 2.5" form factors are still going strong, even if the NVMe's probably will reduce the use of 2.5"

[–] [email protected] 3 points 6 months ago (1 children)

Linus tech tips recently made huge pc build guide video that you might benefit from watching.

https://m.youtube.com/watch?v=BL4DCEp7blY&pp=ygUbbGludXMgdGVjaCB0aXBzIGJ1aWxkIGd1aWRl

[–] [email protected] 0 points 6 months ago

Here is an alternative Piped link(s):

https://m.piped.video/watch?v=BL4DCEp7blY&pp=ygUbbGludXMgdGVjaCB0aXBzIGJ1aWxkIGd1aWRl

Piped is a privacy-respecting open-source alternative frontend to YouTube.

I'm open-source; check me out at GitHub.

[–] [email protected] 6 points 6 months ago (1 children)

You state i5s can't keep up with what you code. What do you code?

[–] [email protected] 3 points 6 months ago

I typically code a lot of back-end and processor intensive workloads. The issue I have with i5s is that they don't seem to be as "snappy" as i7s. I've worked with both for good long periods of time. When I had an i5 laptop, I had to off-load a good majority of my development to the cloud because I couldn't do containers and listen to music and run two monitors at the same time. I never had the same issue with i7 processors, even on a laptop.

load more comments
view more: next ›