Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
services:jellyfin [2024/09/09 08:03] – willy | services:jellyfin [2025/08/07 07:53] (current) – willy | ||
---|---|---|---|
Line 6: | Line 6: | ||
A brief summary: | A brief summary: | ||
- | * JellyFin is open-source, | + | * JellyFin is open-source, |
* Emby used to be 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. | * Plex is a proprietary solution that uses it's own servers to stream to you your collection. It's a hard pass for me. | ||
Line 12: | Line 12: | ||
===== Installation ===== | ===== Installation ===== | ||
- | + | You are lucky and the JellyFin | |
- | You are lucky and the JellyFin | + | |
<code bash> | <code bash> | ||
echo www-apps/ | echo www-apps/ | ||
Line 37: | Line 36: | ||
* the cache folder under / | * the cache folder under / | ||
* the configuration folder under / | * the configuration folder under / | ||
- | * the logs folder under / | + | * the logs folder under / |
which i don't like for a few reasons: | which i don't like for a few reasons: | ||
Line 49: | Line 48: | ||
mv / | mv / | ||
mv / | mv / | ||
- | mv / | ||
</ | </ | ||
Line 56: | Line 54: | ||
# This is the directory that will hold all Jellyfin data, and is also used as a default base directory for some other paths below. | # 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=/ | 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. | # This is the directory containing the server cache. | ||
Line 67: | Line 62: | ||
</ | </ | ||
- | That's is, JellyFin is installed. | + | That's is, JellyFin is installed, now setup logrotation... |
+ | |||
+ | Create the file **/ | ||
+ | <file - jellyfin> | ||
+ | / | ||
+ | missingok | ||
+ | notifempty | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | that's it. | ||
+ | |||
+ | ==== SSO Configuration ==== | ||
+ | |||
+ | JeyyFin can not work with basic-auth, or at least i didnt manage to properly make it work between the web GUI and the client apps. Moreover, the Jellyfin login screen cannot be disabled, so it's pretty pointless. | ||
+ | |||
+ | Instead, Jellyfin can support, via an external plugin, an OIDC Provider like Authelia. So first of all ensure your Authelia is correctly configured as OIDC Provider (see [[services: | ||
+ | |||
+ | The SSO plugin is located [[https:// | ||
+ | |||
+ | In short you need to: | ||
+ | * Configure Authelia OIDC Client | ||
+ | * Add this plugin repository to Jellyfin configuration | ||
+ | * Load the SSO plugin | ||
+ | * Configure Jellyfin SSO plugin | ||
+ | |||
+ | This is the relevant Authelia config section (see [[https:// | ||
+ | < | ||
+ | identity_providers: | ||
+ | oidc: | ||
+ | ## The other portions of the mandatory OpenID Connect 1.0 configuration go here. | ||
+ | ## See: https:// | ||
+ | clients: | ||
+ | - client_id: ' | ||
+ | client_name: | ||
+ | client_secret: | ||
+ | public: false | ||
+ | authorization_policy: | ||
+ | require_pkce: | ||
+ | pkce_challenge_method: | ||
+ | redirect_uris: | ||
+ | - ' | ||
+ | scopes: | ||
+ | - ' | ||
+ | - ' | ||
+ | - ' | ||
+ | userinfo_signed_response_alg: | ||
+ | token_endpoint_auth_method: | ||
+ | </ | ||
+ | |||
+ | both links above should provide enough information to help you sort the Jellyfin side. | ||
==== Reverse-Proxy configuration ==== | ==== Reverse-Proxy configuration ==== | ||
Line 109: | Line 155: | ||
< | < | ||
... | ... | ||
- | < | + | < |
... | ... | ||
< | < |