Media Service
ROLES media-srv, jellyfin, plex
The media service configuration is primarily handled by either "jellyfin" or "plex" roles. These applications are installed using the latest docker images and export the standard ports.
The docker-compose files for this are
in /srv/jellyfin, and several volumes for the config,
cache, and media are mounted there. Plex is configured similarly.
The docker compose file is set to automatically pull the latest every
time it is started. You can refresh the image at any time with:
$ cd /srv/jellyfin $ docker-compose down $ docker-compose up -d
To get a shell in a running container and look around, just exec a
shell in the container id shown by docker ps.
$ docker ps list running containers $ docker exec -it <container-id> sh
Variables
The media_servers variable is a list of servers to
install, currently limited to 'jellyfin' and 'plex'.
media_servers: [ 'jellyfin', 'plex' ]
The Jellyfin install has variables for the user/group to run under, as well as cache, config, and content volumes. Multiple content volumes can be specified.
jellyfin_user: nas-data jellyfin_group: nas-data jellyfin_cfgdir: /vault/jellyfin/config jellyfin_cachedir: /var/cache/jellyfin jellyfin_volumes: - "/data/media:/media"
The Plex install has variables for cache, config, and a content volume. This role is currently quite basic, as Plex has changed packaging to require an account for install
plex_libdir: /data/media plex_cfgdir: /vault/plex/config plex_transdir: /var/cache/plex
Why These Packages?
I ran the Plex server on a Windows box for quite a few years, and was planning to do so on a NAS box when I discovered that they no longer let servers run completely standalone. At that point I switched to Jellyfin, so the Plex role should be seen as more of a starting point than a finished install.
Copyright © 2020-2026 David Loffredo, licensed under CC BY-SA 4.0.