User Tools

This is an old revision of the document!


Prev to: NzbGet: usenet downloader

Next to: Ombi: discover new content


JellyFin

JellyFin is an Open Source Media Server

There are other options. At least the main two are Emby and Plex. Emby actually was open-source too until they decided to close up the code and JellyFin was born from it's fork. Plesk is a different solution, proprietary, which might be interesting for who don't want to mess with port-forwarding or similar issues.

A brief summary:

  • JellyFin is open-source, you have full control on your media collection and vieweing.
  • Emby used to be open-source, so i will pass on that. The only positive thing might be more clients (es: Samsung TV) than JellyFin.
  • Plex is a proprietary solution that uses it's own servers to stream to you your collection. It's a hard pass for me.

Installation

You are lucky and the JellyFin mediaserver can be easily installed on Gentoo linux. You need to unmask it first:

 > echo www-apps/jellyfin ~amd64 >> /etc/portage/package.accept_keywords/servarr

then emerge it:

 > emerge -v jellyfin

then we can emerge it. You want to add it to the “media” group, to prevent as Jellyfin to store metadata and artworks in a separate folder than the media itself.

Configuration phase

Now, JellyFin Gentoo default setup locates server directories under /var:

  the data folder under /var/lib
  the cache folder under /var/cache/jellyfin
  the configuration folder under /etc/jellyfin/
  the logs folder under /var/logs/jellyfin

which i don't like for a few reasons like:

  this will clutter and fill the Gentoo installation disk (/dev/sda)
  this will NOT survive a /dev/sda disk crash (which is not RAID-1)
  this will not be consistent: i want to have all database and data in the same RAID

to fix this, move those to /data/deamons:

> mv /var/lib/jellyfin /data/daemons/jellyfin_data > mv /var/cache/jellyfin /data/daemons/jellyfin_cache > mv /etc/jellyfin /data/daemons/jellyfin_config > mv /var/logs/jellyfin /data/daemons/jellyfin_logs

in this case, differently from the *Arr's, you need to set these new paths in the JellyFin config file under /etc/conf.d/jellyfin:

# This is the directory that will hold all Jellyfin data, and is also used as a default base directory for some other paths below. JELLYFIN_DATA_DIR=/data/daemons/jellyfin_data

# This is the directory where the Jellyfin logs will be stored. JELLYFIN_LOG_DIR=/data/daemons/jellyfin_logs

# This is the directory containing the server cache. JELLYFIN_CACHE_DIR=/data/daemons/jellyfin_cache

# This is the directory containing the server configuration files. JELLYFIN_CONFIG_DIR=/data/daemons/jellyfin_config

This will move the server data folder on the RAID, there is not need to link them back here.

Startup phase

Well, it's time to fire up the server (and set it up for autostart on reboot):

> rc-update add jellyfin default > /etc/init.d/jellyfin start

This will add the server to your startup and will also start it right now. At this point you should login to it and configure it trough the web GUI. If you are local to the network, you can fire up your browser to http://192.168.0.1:8096, and to the initial configuration which i will NOT cover in this guide at this time. You will need to point the media libraries to the folders we created before. Populating your database will take some time, assuming you already have existing media.

You should NOT use the server endpoint directly on you home network without a reverse-proxy, while you can, i strongly suggest you setup the reverse proxy as well. See the relevant section below. At this time, tough, you can start using it directly from the service URL. Securization

On the Jellyfin web gui, open the Dashboard and go to Networking. Here set 127.0.0.1 as bind to local network address, and also add /jellyfin as base URL. You will need to restart the service now. You will be able to access the service only from the server with the base URL. Point your browser to http://127.0.0.1:8096/jellyfin to access it. This is mandatory for proper secure reverse proxy setup later on. Remeber that if you do this now, you must be on the server to access jellyfin at this time.


Next to: Ombi: discover new content

Prev to: NzbGet: usenet downloader

This website uses technical cookies only. No information is shared with anybody or used in any way but provide the website in your browser.

More information