I am several months into the self-hosting journey and I feel I have outgrown my Pi 4 B 8GB. I'm only running around 3 dozen containerized services and it seems to struggle to keep up. But I'm not sure of the best bang for my buck. I'd like good, long-term performance, but I don't really have a grand lying around for a Lenovo Tiny or Dell Optiplex or ASUS NUC. I'm thinking of buying an SSD to boot from, but will this even help much? For $350-500, could I make a more cost effective homeserver upgrade?
For $350-500 you could easily get a used desktop and processor with 16-32 gb ddr4. But it sort of depends on your home lab goals and workloads.
Do you need a lot of storage? Are you CPU bound or memory bound?
Some people will suggest used Dell/HP servers, and they’ll look affordable, but keep in mind enterprise gear will eat power and is usually loud.
Personally I’d go for a used AMD 5800 or 5900 processor and mobo, install your favorite Linux, and call it a day. AMD processors don’t have quick sync which makes them slightly worse for plex hosting but better for everything else.
Not sure if I'm CPU-bound or RAM-bound, but I'd hazard to guess both lol And the lower the power consumption the better as this is an always-on, very passive deal.
Personally, I only plan to run another dozen or so containers. What I want most is reliability/stability. I want everything I set up to, once it works, continue working without issue. This is where the Pi has begun frustrating me as it seems to just seize up sometimes. I do need as much storage as possible as I'm a bit of a media hoarder, but that can always be solved with more drives.
Makes sense. I think you’d be fine with pretty much any modern(post DDR4) motherboard/CPU combo these days. I feel Linux hardware support is only really shakey if you’re using a SoC without upstream patches or if you’re using brand new hardware/laptops.
With that being said if you’re running a lot of containers on one host have you looked into docker compose or kubernetes(k8s)? Maybe k8s is overkill for home use, but both offer support to restart containers if a health check fails. With k8s you also can spread out containers across multiple physical node, so you could just add a second RPI and “double” your resources.