Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revision | |||
| sailing:jellyfin [2023/12/05 20:36] – willy | sailing:jellyfin [2024/02/27 12:37] (current) – removed willy | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | Prev to: [[sailing: | ||
| - | Next to: [[sailing: | ||
| - | ---- | ||
| - | ====== JellyFin ====== | ||
| - | |||
| - | [[https:// | ||
| - | |||
| - | 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, | ||
| - | |||
| - | A brief summary: | ||
| - |   * JellyFin is open-source, | ||
| - |   * Emby used to be open-source, | ||
| - | * 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/ | ||
| - | </ | ||
| - | |||
| - | then emerge it: | ||
| - | <code bash> | ||
| - | > emerge -v jellyfin | ||
| - | </ | ||
| - | |||
| - | As usual move the home folder to **/ | ||
| - | <code bash> | ||
| - |  > usermod -m -d / | ||
| - | </ | ||
| - | |||
| - | and add the jellyfin user to the media group: | ||
| - | <code bash> | ||
| - | > usermod -a -G media jellyfin | ||
| - | </ | ||
| - | |||
| - | Now, JellyFin Gentoo default setup locates server directories under /var: | ||
| - | * the data folder under /var/lib | ||
| - |   * the cache folder under / | ||
| - |   * the configuration folder under / | ||
| - |   * the logs folder under / | ||
| - | |||
| - | 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 / | ||
| - | <code bash> | ||
| - |  > mv / | ||
| - |  > mv / | ||
| - |  > mv / | ||
| - |  > mv / | ||
| - | </ | ||
| - | |||
| - | in this case, differently from the *Arr' | ||
| - | < | ||
| - | # 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=/ | ||
| - | |||
| - | # This is the directory where the Jellyfin logs will be stored. | ||
| - | JELLYFIN_LOG_DIR=/ | ||
| - | |||
| - | # This is the directory containing the server cache. | ||
| - | JELLYFIN_CACHE_DIR=/ | ||
| - | |||
| - | # This is the directory containing the server configuration files. | ||
| - | JELLYFIN_CONFIG_DIR=/ | ||
| - | </ | ||
| - | |||
| - | That's is, JellyFin is installed. | ||
| - | |||
| - | ==== Reverse-Proxy configuration ==== | ||
| - | |||
| - | Before you proceed, you should make JellyFin web accessible via the reverse-proxy, | ||
| - | |||
| - | Add this file to / | ||
| - | <file txt jellyfin.conf> | ||
| - | location ^~ /jellyfin { | ||
| - | auth_pam off; | ||
| - |         proxy_pass http:// | ||
| - | 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; | ||
| - | } | ||
| - | </ | ||
| - | |||
| - |  Add this to your / | ||
| - | < | ||
| - | include " | ||
| - | </ | ||
| - | |||
| - | and restart nginx: | ||
| - | <code bash> | ||
| - |  > / | ||
| - | </ | ||
| - | |||
| - | === Startup === | ||
| - | |||
| - | Before starting JellyFin up, you need to edit a few last things. Edit the file **/ | ||
| - | < | ||
| - | ... | ||
| - |   < | ||
| - | ... | ||
| - |   < | ||
| - |     < | ||
| - |   </ | ||
| - | ... | ||
| - | </ | ||
| - | |||
| - | 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 | ||
| - |  > / | ||
| - | </ | ||
| - | |||
| - | At this point you should login to it and configure it trough the web GUI at [[http:// | ||
| - | |||
| - | Now, next to Ombi! | ||
| - | |||
| - | ---- | ||
| - | Next to: [[sailing: | ||
| - | |||
| - | Prev to: [[sailing: | ||