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: |