Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
services:jellyfin [2024/02/27 12:38] – created willy | services:jellyfin [2024/11/28 12:48] (current) – willy | ||
---|---|---|---|
Line 11: | Line 11: | ||
===== Installation ===== | ===== Installation ===== | ||
- | |||
You are lucky and the JellyFin mediaserver can be easily installed on Gentoo linux. You need to unmask it first: | You are lucky and the JellyFin mediaserver can be easily installed on Gentoo linux. You need to unmask it first: | ||
Line 67: | Line 66: | ||
</ | </ | ||
- | 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 75: | Line 125: | ||
Add this file to / | Add this file to / | ||
<file txt jellyfin.conf> | <file txt jellyfin.conf> | ||
- | location ^~ /jellyfin | + | server { |
- | | + | server_name jellyfin.mydomain.com; |
- | | + | listen 443 ssl; |
- | proxy_pass_request_headers on; | + | listen 8443 ssl; |
- | proxy_set_header Host $host; | + | http2 on; |
- | proxy_set_header X-Real-IP $remote_addr; | + | |
- | proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; | + | access_log / |
- | proxy_set_header X-Forwarded-Proto $scheme; | + | error_log / |
- | proxy_set_header X-Forwarded-Host $http_host; | + | |
- | proxy_set_header Upgrade $http_upgrade; | + | |
- | proxy_set_header Connection $http_connection; | + | proxy_pass http:// |
- | proxy_set_header Remote-User $remote_user; | + | proxy_pass_request_headers on; |
- | proxy_buffering off; | + | 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; | ||
+ | } | ||
+ | |||
+ | client_max_body_size 100M; | ||
} | } | ||
</ | </ | ||
Line 98: | Line 159: | ||
< | < | ||
... | ... | ||
- | < | + | < |
... | ... | ||
< | < |