User Tools

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
sailing:jellyfin [2023/12/05 20:36] willysailing:jellyfin [2024/02/27 12:37] (current) – removed willy
Line 1: Line 1:
-Prev to: [[sailing:nzbget|NzbGet: usenet downloader]] 
  
-Next to: [[sailing:ombi|Ombi: discover new content]] 
----- 
-====== JellyFin ====== 
- 
-[[https://jellyfin.org/|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: 
-<code bash> 
- > echo www-apps/jellyfin ~amd64 >> /etc/portage/package.accept_keywords/servarr 
-</code> 
- 
-then emerge it: 
-<code bash> 
- > emerge -v jellyfin 
-</code> 
- 
-As usual move the home folder to **/data/daemons/jellyfin**: 
-<code bash> 
- > usermod -m -d /data/daemons/jellyfin jellyfin 
-</code> 
- 
-and add the jellyfin user to the media group: 
-<code bash> 
- > usermod -a -G media jellyfin 
-</code> 
- 
-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: 
-  * 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/jellyfin: 
-<code bash> 
- > 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 
-</code> 
- 
-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**: 
-<code> 
-# 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 
-</code> 
- 
-That's is, JellyFin is installed. 
- 
-==== Reverse-Proxy configuration ==== 
- 
-Before you proceed, you should make JellyFin web accessible via the reverse-proxy, so that access, configuration and usage will be simplified from the beginning.  
- 
-Add this file to /etc/nginx/folders:  
-<file txt jellyfin.conf> 
-location ^~ /jellyfin { 
-                auth_pam off; 
-        proxy_pass http://127.0.0.1:8096/jellyfin; 
-        proxy_pass_request_headers on; 
-        proxy_set_header Host $host; 
-        proxy_set_header X-Real-IP $remote_addr; 
-        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
-        proxy_set_header X-Forwarded-Proto $scheme; 
-        proxy_set_header X-Forwarded-Host $http_host; 
-        proxy_set_header Upgrade $http_upgrade; 
-        proxy_set_header Connection $http_connection; 
-        proxy_set_header Remote-User $remote_user; 
-        proxy_buffering off; 
-} 
-</file> 
- 
- Add this to your /etc/nginx/folders/main.conf: 
-<code> 
-include "folders/jellyfin.conf"; 
-</code> 
- 
-and restart nginx: 
-<code bash> 
- > /etc/init.d/nginx restart 
-</code> 
- 
-=== Startup === 
- 
-Before starting JellyFin up, you need to edit a few last things. Edit the file **/data/daemons/jellyfin/config/network.xml** and change the following lines: 
-<code> 
-... 
-  <BaseUrl>/jellyfin</BaseUrl> 
-... 
-  <LocalNetworkAddresses> 
-    <string>127.0.0.1</string> 
-  </LocalNetworkAddresses> 
-... 
-</code> 
- 
-This will securize the service to run only behind the reverse proxy and set the proper Base URL for access. 
- 
-Well, it's time to fire up the JellyFin (and set it up for autostart on reboot): 
-<code bash> 
- > rc-update add jellyfin default 
- > /etc/init.d/jellyfin start 
-</code> 
- 
-At this point you should login to it and configure it trough the web GUI at [[http://192.168.0.1/jellyfin|192.168.0.1/jellyfin]]. You will need to point the media libraries to the folders into **/data/** (Music, Movies, etc). Populating your database will take some time, assuming you already have existing media. 
- 
-Now, next to Ombi! 
- 
----- 
-Next to: [[sailing:ombi|Ombi: discover new content]] 
- 
-Prev to: [[sailing:nzbget|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