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:04] – 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 36: | 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 48: | Line 48: | ||
| mv / | mv / | ||
| mv / | mv / | ||
| - | mv / | ||
| </ | </ | ||
| Line 55: | 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 66: | 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 ==== | ||