I’ve been running a headless Ubuntu server for about 10 years or so. At first, it was just a file/print server, so I bought a super low power motherboard/processor to cut down on the energy bill. It’s a passively cooled Intel Celeron J3455 “maxed out” with 16BG of RAM.

Since then it’s ballooned into a Plex/Shinobi/Photoprism/Samba/Frigate/MQTT/Matrix/Piwigo monster. It has six drives in RAID6 and a 7th for system storage (three of the drives are through a PCI card). I’m planning on moving my server closet, and I’ll be upgrading the case into a rack-mount style case. While I’m at it, I figured I could upgrade the hardware as well. I was curious what I should look for in hardware.

I’ve built a number of gaming PCs in the past, but I’ve never looked at server hardware. What features should I look for? Also, is there anything specific (besides a general purpose video card) that I can buy to speed up video encoding? It’d be nice to be able to real-time transcode video with Plex.

Get rid of that molex to sata adaptor, they catch fire. Molex to sata = lose your data

If you’re on a budget, check out X99 socket Xeons. You can pick up Mobos and chips for super cheap. 10+ core hyper-threaded Xeons with solid clocks and a motherboard for 120-180 bucks total. Support 64 GB of RAM, more if you have a proper server board.

For transcoding, depending on the codec, dedicated GPU is best.

I’m not sure about Plex, but I know on Jellyfin, the new Intel Arc GPUs are really great for encoding, not too expensive for the lower end cards either, and low profile options for smaller rack cases.

@ch00f@lemmy.world
creator
link
fedilink
36M

Thanks for the tips!

To clarify, by “x99,” do you mean LGA2011-3? That’s the socket wikipedia associates with the hardware.

And as for Arc, it looks like they’re a great option for video encoding. I’m actually using QuickSync already on my Celeron processor which has helped. From what I can understand, it looks like QuickSync is basically the same processor on all of the Arc cards, so I can just go with the cheapest card if I don’t plan to use much of the other features? Looking like an A380 can be had for $100 or so.

Sorry for the slow reply. Yes, I mixed the chipset up with the socket lol.

The A380 is the same I’ve been looking at for my own home Media setup, should be plenty of encoding power for your use case.

Good luck!

@BigDaddySlim@lemmy.world
link
fedilink
English
1
edit-2
6M

I see a lot of drives there, all presumably connected via SATA. If you’re looking to add more drives in the future I recommend a SAS card or two, specifically a Dell PERC H310 flashed in IT mode. I picked one up on eBay for $20 a while back and it gives me 8 drive connectivity. Also snag some mini SAS to SATA cables to connect the drives.

I’ve got 44TB running in my Plex server using it and have had 0 issues with the card. Even had a friend 3D print a fan housing and attached a small Noctua fan to the heatsink for some peace of mind when doing large data transfers to make sure the card doesn’t overheat.

Edit: Like so

@ch00f@lemmy.world
creator
link
fedilink
16M

That’s interesting. I’m running a software raid since I’ve been warned of dying raid controllers making your data irretrievable unless you buy an exact replacement. I guess the enterprise folks have that figured out.

Having a little trouble finding details online. Do those two cables going off to the right split off into a bunch of SATA connections?

@smb@lemmy.ml
link
fedilink
English
16M

my 2 cents just in case…:

A raid6 is not a replacement for backup ;-) i use rdiff-backup which is easy to use, stores only one full backup and all increments are to the past while it is only possible to delete the oldest increments (afaik no “merging”) i never needed anything else. The backup should be one off-site and another one offline to be synced once in a while manually. Make complete dumps (including triggers, etc) from databases before doing the backup ;-)

i like to have a recreateable server setup, like setting it up manually, then putting everything i did into ansilbe, try to recreate a “spare” server using ansible and the backup, test everything and you can be sure you also have “documented” your setup to a good degree.

for hardware i do not have much assumptions about performance (until it hits me), but an always-running in-house server should better safe power (i learned this the costly way). it is possible to turn cpu’s off and run only on one cpu with only a reduced freq in times without performance needs, that could help a bit, at least it would feel good to do so while turning cpu’s on again + set higher frequency is quick and can be easily scripted.

hard drives: make sure you buy 24/7, they are usually way more hassle-free than the consumer grades and likely “only” cost double the price. i would always place the system on SSD but always as raid1 (not raid6), while the “other” could then maybe be a magnetic one set to write-mostly.

as i do not buy “server” hardware for my home server, i always buy the components twice when i change something, so that i would have the spare parts ready at hand when i need it. running a server for 5+ years often ends up in not beeing able to buy the same again, and then you have to first search what you want, order, test, maybe send back as it might not fit… instable memory? mainboard released smoke signs? with spare parts at hand, a matter of minutes! only thing i am missing with my consumer grade home server hardware is ecc ram :-/

for cooling i like to use a 12cm fan and only power it with 5v (instead of the 12v it wants) so that it runs smoothly slow and nearly as silent as a passive only cooling, but heat does not build up in the summer. do not forget to clean the dust once in a while… i never had a 5v powered 12V-12cm fan that had any problems with the bearings and i think one of them ran for over a decade. i think the 12volt fans last longer with 5v, but no warranty from me ;-)

even with headless i like to have a quick way at hand to get to a console in case of network might not be working. i once used a serial cable and my notebook, then a small monitor/keyboard, now i use pikvm and could look to my servers physical console from my mobile phone (but would need ssl client certificate and TOTP to do so) but this involves network, i know XD

you likely want smart monitoring and once in a while run memtest.

for servers i also like to have some monitoring that could push a message to my phone somehow for some foreseeable conditions that i would like to handle manually.

debsums, logcheck logwatch and fail2ban are also worth looking at depending on what you want.

also after updating packages, have a look at lsof | egrep “DEL|deleted” to see what programs need a simple restart to really use libraries that have been updated. so reboots only for newer kernels.

ok this is more than 2 cents, maybe 5. never mind

hope these ideas help a bit

@ch00f@lemmy.world
creator
link
fedilink
16M

Yeah, I have an offline backup I do every year in a fireproof safe in my basement. Might open a safe deposit box at some point, but I feel reasonably safe.

Good call on power efficiency. I’ll have to keep that in mind. I think I’m currently drawing around 100W which is mostly the hard drives (the CPU doesn’t even need a fan). I assume that might go up a bit in a new build, but I think the benefits will be worth it.

Self Hosted - Self-hosting your services.
!selfhost@lemmy.ml
Create a post

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

  • No harassment
  • crossposts from c/Open Source & c/docker & related may be allowed, depending on context
  • Video Promoting is allowed if is within the topic.
  • No spamming.
  • Stay friendly.
  • Follow the lemmy.ml instance rules.
  • Tag your post. (Read under)

Important

Beginning of January 1st 2024 this rule WILL be enforced. Posts that are not tagged will be warned and if not fixed within 24h then removed!

  • Lemmy doesn’t have tags yet, so mark it with [Question], [Help], [Project], [Other], [Promoting] or other you may think is appropriate.

Cross-posting

If you see a rule-breaker please DM the mods!

  • 1 user online
  • 1 user / day
  • 1 user / week
  • 12 users / month
  • 36 users / 6 months
  • 1 subscriber
  • 161 Posts
  • 283 Comments
  • Modlog