People resoundingly suggested using containers. So I’ve been reading up. I know some things about containers and docker and what not. But there are a few decision points in the jellyfin container install instructions that I don’t know the “why”.

Data: They mount the media from disk, which is good cause it’s on a NAS. But for the cache and config they use docker volumes. Why would I want a docker volume for the config? Wouldn’t I want to be able to see it from outside the container easier? What am I gaining by having docker manage the volume?

Cache: I saw a very old post where someone mentioned telling docker to use ram for the cache. That “seems” in theory like a good idea for speed. I do have 16gb on the minipc that I am running this all on. But I don’t see any recent mentions of it. Any pros/cons?

The user. I know from work experience that generally you don’t want things running as root in the container. But… do you want a dedicated user for each service (jellyfin, arr*)? Or one for all services, but not your personal user? Or just use your personal user?

DLNA. I had to look that up. But I don’t know how it is relevant. The whole point seems to be that jellyfin would be the interface. And DLNA seems like it would allow certified devices to discover media files?

  • tvcvt@lemmy.ml
    link
    fedilink
    English
    arrow-up
    9
    ·
    9 days ago

    I don’t think there’s a right answer for most of these, but here are my thoughts.

    Data: I almost always prefer bind mounts. I find them easier to manage for data that I’ll need to deal with (e.g. with backups). Docker volumes make a lot of sense to me when you start dealing with multiple nodes and central management, where you want to move containers between nodes (like a swarm).

    Cache: streaming video isn’t super latency sensitive, so I can’t think of a need for this type of caching. With multiple users hitting the web interface all the time it might help, but I think I’d do that caching in my reverse proxy instead.

    User: I don’t use the *arr stack, but I’d imagine that suite of applications and Jellyfin all need to handle the same files, so I’d be inclined to use the same user (or at least group) on all of them.

    DLNA: this is a feature I don’t make much use of, but it allows for Jellyfin to serve media to devices that don’t run a Jellyfin client. It’s an open standard for media sharing among local devices. I don’t think I would jump through any hoops for it unless you have a use, but the default setup won’t get in your way.

    Hope that helps a little.

    • SailorsLife@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      8 days ago

      It does help thanks. And part of this set of questions was just me exploring stuff thoughts and looking to learn… so I have a follow up question or two.

      You mention docker volumes make a lot of sense with multiple nodes. How does that work out? We use pv’s and such with k8s at work, and the ones we use can only be mounted on one node at a time. From what others have said, allowing many write from multiple nodes has a lot of complications. Do docker volumes handle writing from multiple nodes?

      And… “streaming video isn’t super latency sensitive”. I’m super new to streaming video. I would have expected it to be sensitive to latency. I mean you expect the video to keep playing and not stop. Whereas most of the things I work with (api’s and what not) can have an extra second or two to respond with little relevant difference. So clearly there is some depth here I don’t understand.