this post was submitted on 20 Feb 2024
144 points (95.0% liked)

Selfhosted

40394 readers
304 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.

you are viewing a single comment's thread
view the rest of the comments
[–] _dev_null@lemmy.zxcvn.xyz 14 points 9 months ago (4 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@lemmy.world 7 points 9 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.

[–] jjlinux@lemmy.ml 4 points 9 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.

[–] Fisch@lemmy.ml 2 points 9 months ago

Used EndeavourOS for a few years too but switched to Fedora Workstation recently. EndeavourOS is still great but I like Fedora more now since it's just easier. A lot of stuff I did manually before like switching ext4 for BTRFS, enabling compression and switching to Pipewire is done by default (also LUKS for full diks encryption which I was too lazy to install before) and I can update my system and install most software through GNOME Software without having to use the CLI. It's also very easy to get OpenCL and HIP working, it's just one package each you need to install. Only downside for me is that it's not as easy to install stuff from COPR than it is from the AUR because you first have to enable the repo for each package you want to install from COPR. I think COPR is more secure tho, especially for someone like me who never looked at the PKGBUILD when installing from AUR.

[–] CosmicTurtle@lemmy.world 1 points 9 months ago (1 children)

And if you want to join the “I use arch btw” crowd...

I may be a linux nerd and pedantic, but not that pedantic. 😅 I've looked into Linux Mint and not opposed to an distro switch. I've been very happy with Ubuntu over the years. My first distro was slackware, then Fedora. Settled in Ubuntu and haven't turned back.

if CUDA should be part of your calculus or not.

Probably not, if my cursory google search is correct. But happy to be convinced otherwise.

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)

I've had the benefit of laying my own CAT-5e in my house. Given the distances, CAT-6 was going to cost twice as much with a negligible increase in bandwidth. That said, I'm restricted by the narrowest straw, which is wifi (when streaming media to my phone) and ISP (which taps out at around 300mb/s). My current PC has 1gb/s card and I've only occasionally had issues.

I use newegg for its reviews of items, specifically so I can search for the term “linux” in any given product’s reviews.

Oh that's a good tip!

[–] CeeBee@lemmy.world 1 points 9 months ago (1 children)

I may be a linux nerd and pedantic

There's nothing pedantic about using Arch. There's a reason it and its derivatives are so popular.

[–] darganon@lemmy.world 2 points 9 months ago (2 children)

There's nothing pedantic about using Arch. There's a reason it and its derivatives are so popular.

Way to show off how not-pedantic you are!

[–] CeeBee@lemmy.world 2 points 9 months ago

I'm not sure you know how to use that word.

[–] darganon@lemmy.world -1 points 9 months ago (1 children)

Pedantic is an insulting word used to describe someone who annoys others by correcting small errors, caring too much about minor details, or emphasizing their own expertise especially in some narrow or boring subject matter.

??

[–] CeeBee@lemmy.world 1 points 9 months ago

Ya, that just solidifies that you don't know how to use the word.

How does using a certain operating system equate to "someone who annoys others by correcting small errors"?