I’m ready to graduate from my Raspberry Pi era of selfhosting and buy hardware specifically for use as a server.

I’ve been recommended in the past to look for used Lenovo Thinkstations and/or Dell Optiplex, but it has been so many years since I’ve shopped for a computer, I don’t know what kind of specs to look for. What are the types of specs I should look for to get the best value for money?

I’m hoping to spend around $300-400, get something that can be upgraded in the future to last 10+ years, and do the following things:

  • YUNoHost / reverse proxy
  • Nextcloud with a custom domain for email addresses, cloud drive, photos
  • Music Streaming with something like Navidrome
  • Serve static websites
  • pi-Hole
  • Maybe pi-VPN

And someday maybe:

  • Host game servers like minecraft
  • Jellyfin for videos
  • Kodi and output to TV?

So far based on my selfhosted journey, I expect to want the following:

  • Room for 3+ Hard Drives
  • External UPS (probably will go with the cheap APC at Microcenter that’s always on sale).
  • Solid Power Supply / Cooling
  • probably 1000 gigabit Networking (?)

The types of questions I have for Thinkstations / Optiplex:

  • How is the Power Supply / Cooling?
  • Processor? Do I need i5? i7? Generations? AMD? Clock Speed? I’m completely lost here.
  • How much RAM do I need?
  • Do I need a discrete graphics card? Can Thinkstations / Optiplex have a graphics card added to them later?
  • Anything else I’m missing?

Thanks!

  • teppa@piefed.ca
    link
    fedilink
    English
    arrow-up
    1
    ·
    13 days ago

    I would buy an i5 9400 PC off eBay. Dell or Lenovo. Should be less than 200$.

  • Mordikan@kbin.earth
    link
    fedilink
    arrow-up
    0
    ·
    13 days ago

    If you end up going with a SFF build, I would recommend a dedicated GPU for Jellyfin. Nothing fancy, just a low profile GTX-1030 or RX 550 to handle the transcoding. Otherwise you’ll probably run into high CPU spikes while watching content from browser or some smart TVs.

    • MaggiWuerze@feddit.org
      link
      fedilink
      English
      arrow-up
      2
      ·
      13 days ago

      An Intel CPU with quicksync is the better and way more energy efficient solution for transcoding. A regular 8th gen+ i7 can handle multiple 4k transcodes

    • kevincox@lemmy.ml
      link
      fedilink
      English
      arrow-up
      2
      arrow-down
      1
      ·
      13 days ago

      IMHO this isn’t really worth it.

      1. x264 is very fast at lower profiles. Especially if you aren’t streaming across the internet often the size hit from the fast profiles is fine. Even if you are streaming over the internet it is probably fine. Getting a slightly faster CPU will also get you super far and is more useful to have lying around than a GPU as it will benefit most things that you do on the server. And worst-worst case a bit of CPU usage isn’t going to hurt much of the things that he is running (except maybe a game server if people are playing at the same time and you are really maxing out all of your cores).
      2. Integrated GPUs are fine for a handful of concurrent streams. Especially the Intel ones which have amazing media engines.
      3. Even if you are going for a dedicated GPU I would go with an Intel ARC. They are way better at media encoding and cost less.
      4. You can always add a GPU later. Wait until you have a need and are seeing problems without.
      • hietsu@sopuli.xyz
        link
        fedilink
        English
        arrow-up
        1
        ·
        13 days ago

        Someone should explain me why transcoding is even needed (other than in case bandwidth is an issue)? My ”media server” at the moment is a custom ffmpeg script to edit all x264 mp4 files it finds by moving the moov atom to the beginning of the file (and what ever the similar thing for x265 was), and then lighttpd to serve them via dir listing. No file has yet had playback issues even over the internet…

  • Onomatopoeia@lemmy.cafe
    link
    fedilink
    English
    arrow-up
    0
    ·
    edit-2
    13 days ago

    Two requirements stand out: Media streaming (jellyfin) and multiple hard drives.

    In the video front, Jellyfin has documented what you want to look for if you’re building “new” (that is, not just using what you have lying about). Discrete video card is very much recommended for tranacoding (which will invariably happen). Check their docs here. They also cover which processor to use and why.

    Let’s consider drives now: what’s the reasoning for multiple drives? I had this requirement too, then had a Dell OptiPlex SFF (Small Form Factor) fall in my lap. Because it can only handle 2 drives (in addition to the M2 OS drive), it made me rethink things. At first I added a 4 port SATA card and four 2.5" drives I had lying around. It worked, but what I realized was my media server needed enough storage to hold my library, but it didn’t need internal redundancy. So currently it has an 8TB drive for my library, and an M2 drive for the OS (which is how this machine comes anyway). That drive is duplicated to a NAS and two other drives on different machines (to protect against drive failure).

    I run a monthly host OS backup to my NAS, just in case (but it’s a simple rebuild as my services/tools run in VM’s).

    I had a cooling issue at first, then realized it was an old machine (2017), and the cooler paste was likely hard. Cleaned it off and put on new and the fan now runs quietly, even when converting. At idle it hardly makes any noise at all.

    One nice thing is it has a relatively small power supply, so it peaks at 80w while converting, and idles about 15w.

    It lacks a discrete video card, so when it does transcoding the quality suffers a little. I’ll need to upgrade the power supply to add a video card.

    I’m really impressed with this little box - I’d buy another in a heartbeat.

    • sem@lemmy.blahaj.zoneOP
      link
      fedilink
      English
      arrow-up
      0
      ·
      13 days ago

      I could get by with 2 HD bays – it is more because I would like to use RAID if possible, and have an easier time to upgrade to larger capabilities as time goes on.

      I’ve also just appreciated larger cases with more room – with small cases sometimes it’s hard to work in there.

      Internal redundancy would be nice to have with a file server, but probably not necessary if I can have redundancy with regular backups instead.

      Thanks for the ideas!

      • kevincox@lemmy.ml
        link
        fedilink
        English
        arrow-up
        1
        ·
        13 days ago

        IMHO for 2 drives you don’t want redundancy. (I assume that is what you want RAID for, mirroring?). The per-drive failure rate is so low that you are unlikely to encounter it and nothing you are running seems particularly availability sensitive. Having a bit of downtime to rebuild in the very rare case of a drive failure is fine. The extra storage space is way more valuable.