I have a QNAP TS-253D (Celeron J4125, 4GB RAM) hosting all my files. I used to have Jellyfin running on it in a Docker container, but it performed really poorly (which is expected ig). It used to take forever to stream a 1080p movie, and seeking back and forth would freeze the whole thing.

Then I moved my Jellyfin setup to my desktop PC (i9-10850k, 16GB RAM, 2080 Super), the files are still on my NAS. It performs much better now, streaming is a breeze and it almost never freezes or anything.

Problem is, it eats up all my RAM. My RAM usage is 99% almost all the time someone uses Jellyfin and it significantly hampers my regular work on my desktop. I can upgrade my RAM to 32 or 64 GB, but would that solve the problem?

If not, what is the cheapest mini PC or home setup that I can do that’d free up my desktop but still give me similar or at least good enough performance?

Thank you for your advice.

  • thekrautboy@alien.topB
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 year ago

    Fyi this sub here is about selfhosting software services, not about any hardware purchase or upgrade advice.

    Consider subs like /r/HomeServer /r/Homelab /r/BuildaPC for that.

    • Wdrussell1@alien.topB
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      Then you goto homelab and homeserver and they tell you X and Y things and removed and moan about power usage. Or they suggest things that logically don’t line up with what OP wants/needs. Or they will say lines like “for just a little more” about 10 times until a build is $1000 or more.

      Lets try to be helpful instead of just pushing people other places…hmm?

  • DtxdF@alien.topB
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    Running Jellyfin on my old Pentium E5200 (dual core), 4 GiB memory. I use FreeBSD with ZFS, but I use AppJail to manage my FreeBSD containers (>15). It works very well. There is no performance difference between containers and host (at least on FreeBSD): Jellyfin consumes up to 400-500 MiB of memory with a single client, a bit more when some other client wants to play a movie, but in general I use movian on my PS3 or the Jellyfin app on my android device. When I rewind or fast forward the movie it only hangs 1 or 2 seconds depending on network traffic (in general the rate is low) but I think the Jellyfin app or Movian prefetch chunks of the movie and caches it to improve performance a bit. I think the other thing that helps me not to consume a lot of my resources is that my movies are usually of decent quality, but not the best, as they are either classics or too recent to be of decent quality.

    I don’t test the following because I don’t need to, but maybe it can be useful to you:

  • elroypaisley@alien.topB
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    Jellyfin on an Oracle Free tier instance, all your media encoded h.264 mp4 aac and stored on a cloud service like Mega. Total cost $100/ year - no electricity usage, 100% uptime, static IP.

  • redoubt515@alien.topB
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    Probably a used enterprise HP/Lenovo/Dell mini or sff pc (e.g. Hp Elitedesk or Lenovo thinkcentre). The 7th gen Intel CPU’s would be the sweet spot between price and streaming performance I think. They can be had for $50-80.

  • inasaba
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    Very odd: on my computer it never uses more than 1GB of RAM. As for the limitations of your first setup, that sounds like a bottleneck when it comes to transcoding, which can occur because of a lack of GPU or CPU power, depending on whether or not you had hardware acceleration enabled. I would expect it to run much better on your new setup, but the RAM thing is worth investigating. I was running Jellyfin on 12GB of RAM until recently, and never hit 100% usage.

  • Krieg@alien.topB
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    I run Plex on an N100 MiniPC, including hardware transcoding. I have the media in another system running TrueNAS.

    • machetie@alien.topB
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      Make sure you get a box that can be upgraded to at least 32GB, made that mistake got the beelink s12 pro, not enough with 16GB.

      • discoshanktank@alien.topB
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        if it’s just plex i’ve been running it on an old laptop with 16gb soldered ram and it runs everything without issues

      • griphon31@alien.topB
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        16 runs fine for me. I transcode to an SSD and run home assistant and airsonic and emulatorjs and immich and frigate and monitoring software like glances and uptimekuma and and and.

        Ram is at 70%, could use more, 8 isn’t enough but 16 will get you going

        • machetie@alien.topB
          link
          fedilink
          English
          arrow-up
          1
          ·
          1 year ago

          Oh, I don’t want the SSD to die. Transcoding to ram and caching Rclone with buffer to ram also. Have at least 10 users to share with my Plex.

      • umataro@alien.topB
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        Because of jellyfin? Mine is restricted to 3GB and runs happily on raspberry pi 4. I’ve even had it run on 2GB pi4 and it only struggled occasionally.

    • RoRoo1977@alien.topB
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      Transcoding what? UHD? Atmos? Or something else.

      I’m looking for a cheap solution since 1 tv in my household needs those files transcoded and my NAS can’t 😞

      • Krieg@alien.topB
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        4k x265 down to 1080p (x264). Basically any Intel CPU that supports quicksync can do several simultaneous hardware transcodes.

    • Invayder@alien.topB
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      How do you connect the 2 machines together? This is something I’ve been interested in doing so I can technically keep expanding by adding more “carriers”.

  • iamsickened@alien.topB
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    Raspberry pi zero is the cheapest server I ever built. It ran like crap but it was fine for hosting any audio. My idea was to just have it with a usb drive plugged in hosting away but then I figured I may as well just use my Mac because it was on anyway.

  • techie2200@alien.topB
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    I use a beelink mini s w/ an N5095 Jasper Lake processor and 8GB RAM. Hardware acceleration supported for the vast majority of my media, and I can do 2-3 simultaneous streams without issue (I haven’t tested higher since it’s usually just my wife and I streaming).

  • GolemancerVekk@alien.topB
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    How is your RAM being used? Look at CPU-X in the “System” tab. If the memory is mostly used for buffers and cache then it’s not a problem, you want it to be used like that.

    I ran my NAS for years off an i5 (Kaby Lake) with 4 GB of RAM and 32 GB of NVMe storage and it handled any of the usual media servers just fine. I’ve used them all, Plex, Emby and now Jellyfin.

    Have a look at this table, get the cheapest used Intel CPU you can find that fits your transcoding requirements, slap it on a board with enough SATA connectors and 4 GB of RAM and you should be good to go.

    Docker should not have a large impact, I have 15 containers running right now and they only use 2.5 GB of RAM in total (for reals, without buffers/cache).

  • Wdrussell1@alien.topB
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    There are a TON of ways you can do this. Since you have a NAS already it makes it super easy. You just need a tiny desktop for about $100 and you are golden.

    Look on ebay for one of those mini desktops from HP/Dell/Lenovo. The one thing though is you will need to find one that has a CPU that supports quicksync. So 7th gen or newer. So you want to find as far up the chain as you can.

    They are:

    1. HP Prodesk
    2. Dell Optiplex
    3. Lenovo Thinkcenter

    This is the cheapest way to get away with it.

    There may also be an option to use one of the Intel Arc cards with a cheaply built desktop for quicksync support. But I have not seen anything related to comparing them to on die quicksync. I would be especially curious on the cheaper option from Arc and how well it works for video encoding.

  • smsorin@alien.topB
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    I am using a cheap custom setup with a Ryzen 3600 and 16 GB of ram with TrueNas and works ok. Jellyfin takes a few seconds to get started but runs fine otherwise. I can even run 4k streams but only works smoothly if i encode them with the fast decode option. This was very cheap because of the old hardware, about $300 before the drives.

    The only thing I would change is to get a CPU with integrated graphics. Some can help with decoding and massively simplifies the first time setup.

  • androy518@alien.topB
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    I run Jellyfin on a laptop that was too slow to use for anything else and an external hard drive. Intel Celeron N3060, 2 cores, 2 threads, less than 4gb ram, 32gb eMMC storage.

  • jerwong@alien.topB
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    I’m using a raspberry pi 4 8 GB. It’s not a problem until someone transcodes, and that usually happens with H265 HEVC media when the person is on a browser that doesn’t support it which is most browsers these days. If the person is doing directplay (click the gear during play and click on Playback Info). If it’s forced to transcode, it will tell you why.

    Direct-play in native resolution and codec should give you perfect performance and consume almost no resources since it’s essentially just a file transfer. I find performance works best when I use the Jellyfin Media Player app on my computer or the Android app.