Best current hardware solution for selfhosting?

tehnomad@lemm.ee to Selfhosted@lemmy.world – 93 points –

I use my desktop PC for Jellyfin and torrenting, but I'm looking for something that I can keep on 24/7 that draws less power and run other self-hosted services on Linux. I would like to have at least 2x 14 TB 3.5" hard drives in or attached to it with the possibility of expanding in the future.

From my research, these seem to be some good options:

  1. Mini PC like this Beelink S12 Pro + USB hard drive enclosure. The price seems reasonable for the specs and low power consumption. Not sure if USB will limit transfer speeds.
  2. ODROID HC-4 or similar SBCs. I feel like these have much lower performance for not much price savings, and it's harder to get software running up because of ARM. But it seems like they don't use too much power.
  3. Used enterprise PCs/servers. I know they can be found cheap used, but I'm a little lost at comparing the performance and power draw to other options.
  4. DIY build. I'm interested in getting a Mini-ITX case like this Jonsbo N2 and getting parts for it, but it seems like it will be the most expensive option. It does seem like the most modular and upgradable.
  5. Classic NAS products like Synology. It seems like these are falling out of favor because they are pretty under powered for the price.

What does selfhosted think about these options, and what would you recommend?

66

For the money: Used sff like an optiplex 7050 or similar for $100. Typically <20W, real computer performance, can handle a bunch of ram, pcie accelerators depending on what you get into. Add a multi drive enclosure for more storage when needed.

This is what I did and I love it. I will add that sff is bad for upgrades. I wanted to add a gpu to mine and now I have to buy a larger case to put it in.

As I always say, have a look through https://forums.serverbuilds.net They have tons of guides on building whatever you need at whatever price point you can afford. The NAS Killer 5.0 is pretty great and I went with a second box for transcoding. Both low power and pretty cheap.

Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I've seen in this thread:

Fewer Letters More Letters
DNS Domain Name Service/System
NAS Network-Attached Storage
NUC Next Unit of Computing brand of Intel small computers
NVMe Non-Volatile Memory Express interface for mass storage
PCIe Peripheral Component Interconnect Express
PiHole Network-wide ad-blocker (DNS sinkhole)
Plex Brand of media server package
RPi Raspberry Pi brand of SBC
SATA Serial AT Attachment interface for mass storage
SBC Single-Board Computer
SSD Solid State Drive mass storage

[Thread #77 for this sub, first seen 24th Aug 2023, 01:25] [FAQ] [Full list] [Contact] [Source code]

Check out ServeTheHome's "Project TinyMiniMicro" on Youtube for a great overview of ultra-small form factor ("1 liter") business PCs.

The big three PC makers each have standardized products in this form factor with (relatively speaking, compared to smaller manufacturers) tons of spare parts available.

This is the correct answer. And I think in September most companies do hardware refresh so keep an eye on ebay

I hate to admit that I love using these micro business computers, but they're pretty awesome. Stackable, powerful, upgradeable, cheap second hand or refurbished. I've considered nucs, but you can find buckets of these for cheaper.

I feel like a loser after reading some of these awesome setups, but i just use an rpi4 4gb. It's enough for 1-2 ppl casual use as NAS, media server, nextcloud, pihole, and a few other things here and there. I have USB hub with it's own power supply because if not the hard drives lose power occasionally. All in all it's like 20W max but usually under 10. Best of all it's completely silent.

Same. I'm using a 2012 Mac mini running Proxmox attached to an OWC Thunderbay 4. It's old but does everything I need it to do.

I think your setup is fine. I use a raspberry pi on each TV in my home as a media player (Jellyfin, retroarch, sometimes steam link) then also make them act as a docker cluster on the backend to play around with making some services 'high availability' so that the service moves around to whichever TV is not under load. I'm also playing with HDMI-CEC on those Pi's to let my home assistant (also running on a single board computer, zima board) send commands to the TVs and all HDMI connected devices. I have a Pi running Open Media Vault with two drives that provide redundancy. The only high power device I use is my Linux gaming machine also doubles as my Jellyfin transcoder.

I too enjoy the silence and lack of moving components of this setup.

I set myself a budget of ~€150 and eventually settled on a Lenovo Mini PC with an i5 and 8 GB of ram for €160 including shipping. In retrospective, one of those Beelink mini PC's would have been a better option, they use significantly less energy and have a better performance/price ratio.

Just make sure you get an Intel box. If OP ever wants to use Plex it only plays nicely with Intel and Nvidia hardware transcoding.

I suggest you to look at SBCs:

  1. RockPro64
  2. Quartz64
  3. And many others

I don't find running them problematic, but this is maybe because I have crossdev on gentoo.

Here's how to install distro on sdcard for SBC:

  1. Partition sdcard
  2. Make devicetree file
  • For most SBCs dts files are already made
  1. Configure and install bootloader(e.g. u-boot)
  2. Unpack base system to sdcard
  3. Configure, compile kernel and then copy to boot partition(can be shared with system, bootloader must support FS)

My home server is a RockPro64. I didn't specifically buy it for that purpose but since I had it lying around I figured I might as well use it.

It has a PCIe Slot which I used for a SATA controller, with two 3,5" HDDs.

They have an official NAS case for it too, not sure I'd recommend it as it's kind of expensive, doesn't isolate HDD vibration / noise at all and isn't very convenient to service (to replace the drives for instance). I'm not aware of a better case option for this board though.

I run debian and OpenMediaVault on it (I didn't have to mess with the kernel or device tree at all), with the ZFS plugin, and several docker containers (Jellyfin, PiHole, Syncthing, Tailscale).

For my needs it's working perfectly fine and doesn't need much power. But:

  • It isn't particularly great at video transcoding
  • 4GB of RAM isn't a ton especially with ZFS, keep that in mind if you wish to run more / heavier services such as Nextcloud
  • being ARM based, this board basically limits you to OMV or manually setting up stuff on Linux through the CLI, as TrueNAS, Unraid and Proxmox only support x86. OMV is fine for it's core functionality and you can get some more advanced features through plugins, but at that point it often gets kind of janky and annoying compared to e. g. TrueNAS. Also, the KVM plugin apparently doesn't work on ARM.

TL;DR these low power ARM boards are just fine as a cheap option for getting into homelab / Self hosting and I wouldn't necessarily recommend against them, but sooner or later I want to build a low power x86 based NAS with more RAM, SSD cache and TrueNAS Scale instead.

I just decided to bite the bullet on paying for a Synology DS920+ and I don't regret it at all. For media hosting on my scale, 4K direct or 1080p transcodes to 6 or less concurrent streams, it does everything I need it to do and it has pretty decent software.

Only problem that I have with mine is it just doesn’t have the power to transcode audio flawlessly. I have a lot of DTS content and it just stutters all the time. I had to set up a Tdarr pipeline just to add EAC3 tracks to everything.

I have not experienced this with any lossless transcodes and my friends streaming remote haven't said anything about it. What client are you using to watch media?

It was streaming locally from my 920+ directly to my LG tv using the official Plex app on the tv and the Plex docker container on the NAS with iGPU passthrough. Tried it in both mp4 and mkv formats. Since the tv doesn’t support DTS it was transcoding into (I think) AAC. When I would change the playback from DTS to any other codec (for files with multiple formats), the video would play flawlessly, it was just the audio transcoding.

I think every time I've heard about the plex smart TV app it has not been positive lol

Gonna be honest, I don't know the exact logistics behind plex transcoding and what resources it may or may not use on the client and I've never tried a smart TV app as a client. I'm really not in a place to comment on it. But I can attest to having no issues when transcoding lossless formats to windows or the Nvidia shield.

It's not one of the options you listed, but it's worth considering a laptop since it has a UPS built in.

  1. Laptop with broken screen

Perfectly server grade, the way the manufacturer intended

Amen. Also they tend to draw less power than your average cheap desktop, so it’s a great middle ground between pc and sbc

And usualy they ARE SBCs. So...

Here's what I did...

JONSBO N1 Mini Itx Case 5 HDD (Size of your choosing) Mini Itx MB AM4 ~500 Series Best/Cheapest Amd Processor with GPU (I got a R7 3800G) 350w Itx PSU RAM of your choosing

I use 2.5GBE for my network, so I just got a USB to 2.5GB Ethernet Adapter. So make sure the Mobo has USB 3.1 or 3.2, or a 2.5GBE Port. I bought most refurbished, or clearance. If you really wanna go crazy transcoding, you can pickup Tesla P4s for cheap on Ebay.

It's low power, small, and powerful enough to run the whole suite of Arrs*, Jellyfin, Jellyseer, etc., etc.

There is no 3800G afaik

You are correct. It was a R5 5600g, sorry bout that...

As someone with a used 4U server... the noise, weight, cost, poeer consumption all are an inconvenience generally. I now have some mini PCs and I wish I started small and built up, rather than trying to treat myself with the best single solution possible.

Depending on power prices in your country I would take that into strong consideration, while some server or desktop grade hardware might be technically very good, they often have high idle power consumption without offering greater functionality.

Take a look at this German Forum Post: https://www.hardwareluxx.de/community/threads/die-sparsamsten-systeme-30w-idle.1007101

They also have this google sheet: https://goo.gl/z8nt3A

Yeah, the power prices in my city are really high (USA). They're even higher than Hawaii, from what I've heard. That's why I'm leaning towards the mini PCs and SBC options, even if used server/desktop parts have better performance for the price.

I've been getting pretty excited about RISC-V devices. They are quite efficient and outstrip similiar SOCs in many ways.

The Lichee Pi4A has better benchmarks than a Raspberry Pi 4 at a TDP of 4W and includes a NPU. They are coming out with a cluster board as well.

Cristopher Barnatt does a review of it here: https://www.youtube.com/watch?v=1apoFXZ9ad8

Since Debian has added RISC-V as a supported architecture, we should start seeing most major software like Docker and KVM being packaged for it. If not, it can be compiled too.

I've tried a few of the things you mention over the years.

However, I've lately gotten into the used business PCs. The performance of even a 6th get Intel CPU more than double an RPI4 or the ATOM in my NAS, depending on how you count. Sure, it's quite a bit more power, and they have their place (RPI in the garage), but I've gotten a few SFFs that have room for multiple HDs for like $50-$60 shipped, as long as i'm patient, since I don't care for the windows license.

The CPU benchmark sites are what convinced me that more SBCs was not the solution for me.

I also tell myself that i'm recycling what could have been ewaste otherwise. I am afraid to calculate the energy cost.

I also try and ignore energy costs and prevent ewaste: my home server is my three builds back gaming PC with a lower power GPU shoved into it. Whenever I build a new main gaming PC my old one becomes my wife's gaming PC, and her old PC is rebuilt into the home server.

Can you talk a bit more about the CPU benchmarking? What sites do you usually refer to? Is score the best metric or do you look for something else as well?

There are lots of them out there.

For example passmark is one of many.

https://www.cpubenchmark.net/cpu_list.php

passmark

I just go find my CPU and use the number to compare to eBay listings. Is it perfect? No.

But it gives you an idea. Each site has some set of algorithms and they get a score for how quickly it can execute on that hardware.

Some of them they allow users to run their system and submit numbers so you get a better sense.

I had a 10Gbps USB Icy Box enclosure, speeds were ok but cooling was simply inadequate. Now I have just built a pc with an Asus B550-Plus and a 5600G, idles at 19W with the drives in standby but with three fans active. I thought about going with a mini pc and a better external enclosure, but that would've been much more expensive and I doubt that I would've saved that much power with that anyway

There's an old adage for cars that I think applies to home servers.

Fast, Cheap, Reliable. Pick two

In my experience, SBCs take a whole lot more tinkering than I like to do. I bought a cheap matx motherboard and a second hand ryzen 2400g which has served me well. Inside a second hand htpc chassis with an ssd for the os and a couple hdds for storage. It even has a 5.25" bay I can install a drive for ripping. I'd rubbing OpenMediaVault with Docker for Sonarr/Radarr/Overseerr/Nextcloud etc.

It's probably not the cheapest to run, but it was cheap to buy and it's very reliable because it's based on x86 so the support will probably outlast me.

Same question here. I'm about ready to upgrade from my 8GB Pi 4B, but I'm overwhelmed by options and lost as to where to go next.

My $0.02c worth - I have run all sorts of servers at home over the years, and one of the main challenges around the hardware is managing heat.

I’ve used mini-ITX mobos and tiny cases for builds. They look gorgeous, but at some point, when you stick enough drives in there (assuming you can) or make the CPU/GPU busy, you are going to have a heat problem, or a noise problem, or both.

On my mythtv build I used M-itx and a gorgeous Lian Li small case. It was a beautiful add to my home theatre stack, but in the end I drilled a ton of small holes in the top and added a slow 140mm fan to control the heat without noise.

The same goes for my file server - it was a slightly larger case with no GPU, but once I added my 6th HDD and had a ton of services running, heat became an issue and I was having to add extra fans, which could only be 80mm so they ran fast and noisy.

My new build I’m going to go all the way with a Phanteks Enthoo Full Tower and a few 120mm fans. I’ve decided that looks don’t matter

The other problem for me with these tiny builds is cable management. I’m complete shit at it, and small builds requires some skills. A big case gives you space to spread those cables out.

Lastly, you can get ATX or EATX mobos with 6, 8 or more SATA connectors - room for growth! And there are very low power options available.

I’ll soon have the appleTV + TV upstairs, laptop in the office, and the monster server downstairs with cat-6 + Gb fibre throughout.

  • Mini PC if you want small hardware that can be bought for cheap second hand, my recommendation goes for HP;
  • ARM SBC if you're crazy about power consumption and you don't care about having potentially unstable systems and/or spend the same as a second hand mini pc in extras like a case, power supply, adapter for this and for that;
  • DIY build with a micro-ATX or micro-ATX board if you've the space for it. You can a very powerful machine for less than. Check one of mine here https://lemmy.world/comment/2676457 ( i5-7400 + 8GB RAM + Board for 70€ second hand)

To be totally direct, SBCs are cool but are a waste of money. You won't able to get anything with a decent CPU for less than 120€ considering all the accessories they require and at that price range you can get HP or Dell mini PC's (i5 6th generation) that are WAY more stable and powerful with everything out of the box. Those machines can be found with mobile CPUs so they won't waste power.

I have a DIY NAS... Not sure of specs any more. Some micro-atx board with a cheaper AMD CPU. All it's for is an NFS share and I use almost no resources on it.

I have a bunch of PI4 8GB and lenovo m92p tinys that I use for the compute. Their storage is the DIY NAS.

If I was starting out and planned on growing m'y setup, id go option 4. Just do an all in one thing, run everything on it. When you run out of ram/CPU consider a pi or mini like I have. When you need more disk, add it into the NAS.

If you just want something simple option 1. USB will 100% limit transfer speed but what kind of speed do you actually need? What will you run?

Is your NAS in an old tower PC?

I think I had the misconception that USB was slower than SATA, but USB-C is actually just as fast. And anything USB 3.0+ should be faster than 1 gigabit ethernet I guess?

Theoretically, USBC 3.1 has 10Gbit/s from what I'm reading so it sounds like you're right. My concern is the chipset on the MoBo, how many lanes it has, and what it supports. I haven't looked into it but I bet this is the limiting factor. Especially if you're adding a lot of USB devices.

Yep, just an old PC that I moved into a case with hotswap hard drive bays. I also bought a LSI 9300-8i to support the hard drives.

I have a used 2016 super micro server. It was $600, has 2 18 core/36 thread cpus and 256 GB of DDR4 and 12 HDD hot swap trays. It also idles at 180 watts. Way over kill but I have cheap electricity and it's nice being able to spin up a vm with just about any specs I could want. If I got some more normal cpus it would probably burn a good bit less power.

As an owner of the HC-2, I’d say if you don’t need to transcode and you really only need qBitTorrent and Jellyfin, the HC-4 should be an awesome NAS and media host. You really only need more power when you have scope creep, and you realize you want your home server to do more and more. In any case it’s a pretty low cost of entry, should you choose to upgrade in the future.

I run proxmox on a System76 Thelio. ZFS mirror, 16 cores, 64GB. Synology NAS for data storage and backup. Dual NICs bonded with ovs for the VMs. The onboard NIC for connecting to proxmox itself. One of the VMs then rclones the backup share to rsync.net

One of the VMs is Plex/Sonarr/Radarr/Transmission. Media is stored via NFS to the NAS.

The Thelio looks awesome, but it seems overkill for what to do and spend. I would probably do DIY if I wanted something with the specs of the Thelio.

Why VMs?

I don't like lxc containers, and my build automation works well at the full system level vs containers.

Running your services bare metal these days is insane. If I have a problem, I just restore or rebuild that purpose-built vm from configuration management. This is also a lot more flexible and cost effective vs having separate hardware for each thing.

Redundancy is also easier, should I decide it is worth the hardware investment.

While you are correct with insanity of running bare-metal, this argument is manipulative. Indeed, no sane person will ditch existing kernel(e.g. Linux of FreeBSD) and write one themselve, running program in common OS is not bare-metal.

Another manipulation is VM vs per-dervice dedicated hardware.

Redundancy is also easier, should I decide it is worth the hardware investment.

Same thing valid for regular userland.

I recently got the Beelink Mini S12 Pro. I'm completely impressed with its capabilities, especially for that price. I got the 16GB Ram N100 version. Great piece of hardware.

I'm running 27 different services, including the *Arrs, Jellyfin, paperless-ngx, home assistant, and even stuff like Kasm workspaces and emulatorjs.

I’m seriously thinking of getting this. Maybe the Firebat brand though as it has two Ethernet ports and it’s cheaper for me.

Have you had Pi’s? I’m currently using a pi4 4gb and wondering how it compares.

I’m also frustrated with arm as a lot of docker images aren’t working. Recently had issues with Hugo and Jekyll which needs node.js that doesn’t support arm at this version.

Have to tried Immich on it?

Yes, I have a Pi4 2GB, it's still working as a second pi hole node. That's what got me into the world of self-hosting, but 2GB is not enough for a lot of things. I went from that to a N100 with 16GB of RAM, so the difference is huge and I think it's totally worth the money.

I haven't tried Immich, but I probably will once I have a better solution for storage.

Yeah, the mini PCs look great. How do you have your storage set up?

I just have the included 500GB SSD and an external 2TB HDD, but I'm planning on getting a 4TB 2.5" SSD to put it inside the mini PC, since it has an extra slot for that.

Do you have a NAS? It can be a good way to get decent functionality without extra hardware, especially if you're doing proof of concept or temporary stuff.

My self-hosting Docker setup is split between 12 permanent stacks on a Synology DS920+ NAS (with upgraded RAM) and 4 on a Raspberry Pi 4B, using Portainer and its agent on the Pi to manage them. The NAS is also using Synology's Drive (like Dropbox or GDrive) and Photos (like Google Photos).

I've had the NAS running servers for Valheim and VRising in the past, but they require that fewer containers be running, as game servers running on Linux usually have no optimisation and/or are emulating Windows.

If I decide to host a game server again, I'll probably look at a NUC. I've done the DIY mini-ITX route in the past (for an XBMC-based media centre with HDMI output) and it was great, so that's another option.

Is there some low-power hardware that takes ECC RAM? I want something to replace my Atom mini-ITX board, but I also want ECC.

If you want x86-64 support in fanless, take a look at Celeron (low powered) based industrial PCs. Qotom comes to mind. You can get a passively cooled machine. Most come with a NVMe and 2.5 slot for storage, do doing raid 1 is possible without external storage. I've bern running my J1900 based one for nearly 5 years and haven't had an issue with hardware at all.

It’s up to you how much you want to pay vs. how much time you are willing to sink into it. A synology is overpriced and underpowered, but you get a nice plug and play solution eith sane defaults. I went with that, fully knowing that price-wise, it’s not optimal. But I don’t enjoy tinkering as much as I used to.