this post was submitted on 20 Feb 2024
143 points (94.4% liked)

Selfhosted

40676 readers
596 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 2 years 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] 44 points 10 months ago (1 children)

GPUs these days use a whole lot of power. Ensure your power supply is specced appropriately.

[–] fuckwit_mcbumcrumble 20 points 10 months ago (2 children)

And make sure it's an actually good PSU too.

I know in gaming, possibly in other loads Nvidia 40 series, and especially 30 series love transient spikes which can easily exceed 2x the nominal power consumption. Make sure your PSU can handle those spikes both in terms of brevity, and current.

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

My 3090 is a light flickering machine. Kind of annoying tbh.

load more comments (1 replies)
[–] grue 39 points 10 months ago* (last edited 10 months ago) (2 children)

Well, let's see:

  • You no longer have to set jumpers to "master" or "slave" on your hard drives, both because we don't put two drives on the same ribbon cable anymore and because the terminology is considered kinda offensive.

  • Speaking of jumpers, there's a distinct lack of them on motherboards these days compared to the ones you're familiar with: everything's got to be configured in firmware instead.

  • There's a thing called "plug 'n play" now, so you don't have to worry about IRQ conflicts etc.

  • Make sure your power supply is "ATX", not just "AT". The computer has a soft on/off switch controlled through the motherboard now -- the hard switch on the PSU itself can just normally stay on.

  • Cooling is a much bigger deal than it was last time you built a PC. CPUs require not just heat sinks now, but fans too! You're even going to want some extra fans to cool the inside of the case instead of relying on the PSU fan to do it.

  • A lot more functionality is integrated onto motherboards these days, so you don't need nearly as big a case or as many expansion slots as you used to. In fact, you could probably get by without any ISA slots at all!

[–] Spiralvortexisalie 4 points 10 months ago* (last edited 10 months ago) (2 children)

While I love this list, it is more applicable to the turn of the century than a a decade ago. I was half expecting to see “ram no longer has to be installed in pairs” on the list.

ETA: Talking about EDO memory not dual channel

[–] Rehwyn 10 points 10 months ago* (last edited 10 months ago) (1 children)

I think you may have misread OPs post. They haven't built a PC since shirtly after they were 10-11, which was almost 30 years ago. So developments since the turn of the century are in fact relevant here, heh.

[–] AtariDump 5 points 10 months ago (1 children)

They haven't built a PC since shirtly after they were 10-11…

Well, they’d need a much bigger shirt now than when they were 10 or 11.

I’ll see myself out.

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

Wait RAM doesn’t need to be installed in pair? I am an old apparently

load more comments (1 replies)
[–] [email protected] 17 points 10 months ago (1 children)

Compared to those pain points building a modern PC should be a breeze. CPUs go in Zero Insertion Force sockets so as long as you remember to lift the little lever you won’t bend any pins. People don’t even wear static discharge wrist bands anymore (all though it couldn’t hurt) or worry about shorting things out. And power connectors only fit one way unlike the AT power connector.

Speaking of breeze your only pain point might be making sure you have enough air circulation for cooling all that gear.

[–] CosmicTurtle 5 points 10 months ago (1 children)

I remember working on a PC back in my Geek Squad days that had a lever.

For air circulation, what should I be on the lookout for? Making sure I have clearances, of course, but should I buy more fan that I need?

[–] lobo 6 points 10 months ago (2 children)

Case usually have fans preinstalled that should be fine. Just pay attention to the direction, have tham all blow air front to back. There is usually an arrow indicating which way it moves air.

Run a benchmark after buiding the PC and check temperatures.

[–] fuckwit_mcbumcrumble 5 points 10 months ago

Don't just look at temperatures though, look at clock speed too. 95c+ is normal for modern high end CPUs (AMD 7000 series actively try to run at that temp under full load). What you want to make sure is that it's not throttling.

If this is a server and you don't want your thermal paste to be toast in a year then I'd suggest lowering the maximum temperature in the bios if it lets you.

load more comments (1 replies)
[–] Crisps 15 points 10 months ago

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

[–] [email protected] 14 points 10 months ago (9 children)

Some thoughts:

Ubuntu, most likely

I'd encourage you to take a look at Linux Mint, it alleviates some of the Ubuntu fuckiness. And if you want to join the "I use arch btw" crowd, maybe checkout EndeavourOS if you're feeling more brave than just Ubuntu variants (which is built on arch, but makes barrier to entry a little easier).

i9s are the latest hotness but don’t think the price is worth it

Take a look at last generation to soften the blow to your wallet. E.g., instead of looking at a 14900k, look at 13 or even 12 series. In fact, this is a useful strategy all around if you're being price conscious: go one gen older.

GPU that can support some sort of ML/AI with DisplayPort

Probably going to want to go with a discrete card, rather than just integrated. Other major consideration is going to be nvidia vs AMD, for which you'll need to decide if CUDA should be part of your calculus or not. I'll defer to any data science engineers that might wander through this post.

The rest of your reqs pretty much come as regular stock options when building a pc these days. Though another nicety for my latest builds, is multi-gig nics (though 2.5Gb was my ceiling, since you'll also need the network gear to utilize it). Going multi-gig is nice for pushing around a fuckton of data between machines on my lan (including a NAS).

Very last thing that I've found helpful in my last 3 builds spanning 15 years: I use newegg for its reviews of items, specifically so I can search for the term "linux" in any given product's reviews. Often times I can glean quick insight on how friendly (or not) hardware has been for other's linux builds.

And I lied, I just remembered about another linux hardware resource: https://linux-hardware.org/?view=search

You can see other people that have built with given hardware. Just remember to do a scan too once your build is up to pay it forward.

Good luck, and remember to have fun!

[–] CeeBee 7 points 10 months ago

maybe checkout EndeavourOS

After about a decade of being exclusively on Ubuntu I got fed up with it and moved to EndeavourOS and I love it.

Although I am being tempted by the NixOS crowd, right now I'm perfectly happy with EndeavourOS.

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

I have to agree here. I use PopOS mostly, but most Ubuntu derivative nowadays beat the living crap out of Ubuntu. PopOS, Zorin, Mint, etc. Like many others, Ubuntu was my gateway to Linux, but I lived out of that in less than a year. Started spinning Mandriva (damn I'm old), Debian itself, and I've tried Ubuntu a few times over the years, mostly on VMs now, since now I hold no hope that it'll ever go back to what it was.

load more comments (7 replies)
[–] [email protected] 13 points 10 months ago* (last edited 10 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 10 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

load more comments (1 replies)
[–] shadowintheday2 10 points 10 months ago* (last edited 10 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] 10 points 10 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] 8 points 10 months ago (1 children)

Honestly any parts you buy today probably won't be much good in 30 years.

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

Honestly any parts you buy today probably won't be much good in 30 years.

At least not when AGP comes to town.

[–] [email protected] 8 points 10 months ago* (last edited 10 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] 7 points 10 months ago (13 children)

I for one would not purchase any Intel hardware as long as AMD is around. Not that they're bad or anything, but AMD gives me much Kore "bang for the buck". To future proof your rig, I strongly suggest you go with the latest socket (be it Intel or AMD, doesn't matter) and make sure you get DDR5 RAM. PCI Gen 4, and then have at it.

Getting an 80 Plus Gold power supply is always nice too.

And then there's the cooling. I see you went with a radiator and fan, but I strongly suggest getting some type of liquid cooling. The prices are not that bad anymore (unlike about 10 years ago, which was insane).

As for the board, you'll get all kinds of different suggestions. Some people swear by Asus, I'd rather go with Gigabyte (love the Aorus line), so it'll come down to brand trust at the end of the day.

As for the card, I hear a lot of crap given to Nvidia about being closed source, and I sort of agree that's messed up, but ATI cards (while pretty good) are always a step behind Nvidia. Plus, most distros have them working out of the box.

It can be intimidating after so many years, but its way simpler than it was back then.

Good luck man, you got this, there's nothing to fear but fear itself.

[–] CeeBee 3 points 10 months ago (3 children)

ATI cards (while pretty good) are always a step behind Nvidia.

Ok, you mean AMD. They bought ATI like 20 years ago now and that branding is long dead.

And AMD cards are hardly "a step behind" Nvidia. This is only true if you buy the 24GB top card of the series. Otherwise you'll get comparable performance from AMD at a better value.

Plus, most distros have them working out of the box.

Unless you're running a kernel <6.x then every distro will support AMD cards. And even then, you could always install the proprietary blobs from AMD and get full support on any distro. The kernel version only matters if you want to use the FOSS kernel drivers for the cards.

load more comments (3 replies)
[–] [email protected] 3 points 10 months ago (1 children)

May I ask why water cooling? Its just more loud and more expensive afaik, they just look awesome.

Decent air coolers are cheap, silent and easier to install. When I was overclocking i5 9600k temperature was not an issue at all. Is it different with CPUs today?

load more comments (1 replies)
load more comments (11 replies)
[–] [email protected] 6 points 10 months ago (12 children)

I went through the same process myself a couple years ago, first PC build in a while. The biggest shock for me was finding out hard drives (SSD, HHD, etc) were outdated: its all about NVMe cards which look like a stick of RAM and plug directly on the motherboard.

[–] [email protected] 5 points 10 months ago (7 children)

Unless you want a bunch of storage and modularity. The benefit to Sata is that it is much more flexible and Sata SSD's are cheaper and can be put in a ZFS raid to increase maximum speeds.

load more comments (7 replies)
load more comments (11 replies)
[–] maryjayjay 6 points 10 months ago (1 children)

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

load more comments (1 replies)
[–] [email protected] 6 points 10 months ago (1 children)

It is not exactly what you asked, but if it is customization and expand ability you are looking for, did you consider custom build cites like cyberpowerpc.com? You can select from wide variety of components, they build and test it for you, and make sure that everything is compatible and working. You do pay a bit premium for the assembly and tests but it is not that much, and you save your time and have a peace of mind that everything works.

[–] CosmicTurtle 5 points 10 months ago (3 children)

Oooh, I had not considered that but thank you for the recommendation. The only thing I don't like about these PCs is that they all have RGB lighting. I really don't need this and I don't get their appeal.

[–] grue 5 points 10 months ago

I really don't need this and I don't get their appeal [of RGB].

It costs manufacturers pennies to include but gives them an excuse to mark the price up by dollars, so every single one of them shoves it down all our throats.

[–] tabular 4 points 10 months ago* (last edited 10 months ago)

The only PC fan manufacture that has not gone RGB at all is a Noctua (premium). Their fans are poop brown and beige or black for consumer, grey for industrial, but are great in terms of noise to cool performance. If noise is important then there's videos of people comparing fans so you can pick a tone that is subjectively best.

I enjoyed the days of one color LEDS. Couldn't beat a Tron blue or The Matrix green.

load more comments (1 replies)
[–] [email protected] 6 points 10 months ago* (last edited 10 months ago) (1 children)

A lot of great suggestions here already. But nobody is mentioning that if you really want to future-proof, you should go fully quantum.

[–] CosmicTurtle 14 points 10 months ago (1 children)

I actually did. And the quantum twin that succeeded is now solving global warming.

I am the twin that didn't succeed.

load more comments (1 replies)
[–] [email protected] 4 points 10 months ago* (last edited 10 months ago) (2 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.

load more comments (2 replies)
[–] Sanctus 4 points 10 months ago (1 children)

Here is my next planned build. Also with linux in mind. Get yourself that GPU. It'll get you there.

[–] [email protected] 4 points 10 months ago* (last edited 10 months ago)

That GPU is

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

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

[–] InformalTrifle 4 points 10 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)

load more comments
view more: next ›