Media System Jellyfin
Jellyfin is a media system server.
Create
docker-compose.ymlfile:services: jellyfin: image: jellyfin/jellyfin:10.11.5 container_name: jellyfin volumes: - ./config:/config - ./cache:/cache - type: bind source: /mnt/extern target: /extern read_only: true restart: 'always' extra_hosts: - 'host.docker.internal:host-gateway' networks: ["server"] labels: - "traefik.enable=true" - "traefik.http.routers.jellyfin.rule=Host(`videos.${DOMAIN}`)" ports: - "8096:8096" networks: server: external: trueInstall plugins and restart
Configure SSO authelia
- create config/plugins/configurations/SSO-Auth.xml
<?xml version="1.0" encoding="utf-8"?> <PluginConfiguration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <SamlConfigs /> <OidConfigs> <item> <key> <string>authelia</string> </key> <value> <PluginConfiguration> <OidEndpoint>https://auth.DOMAIN</OidEndpoint> <OidClientId>jellyfin</OidClientId> <OidSecret>REDACTED</OidSecret> <Enabled>true</Enabled> <EnableAuthorization>true</EnableAuthorization> <EnableAllFolders>true</EnableAllFolders> <EnabledFolders /> <AdminRoles> <string>jellyfin-admins</string> </AdminRoles> <Roles> <string>jellyfin-users</string> <string>jellyfin-admins</string> </Roles> <EnableFolderRoles>false</EnableFolderRoles> <EnableLiveTvRoles>false</EnableLiveTvRoles> <EnableLiveTv>false</EnableLiveTv> <EnableLiveTvManagement>false</EnableLiveTvManagement> <LiveTvRoles /> <LiveTvManagementRoles /> <FolderRoleMappings /> <RoleClaim>groups</RoleClaim> <OidScopes> <string>groups</string> </OidScopes> <SchemeOverride>https</SchemeOverride> <PortOverride xsi:nil="true" /> <NewPath>true</NewPath> <CanonicalLinks> </CanonicalLinks> <DefaultUsernameClaim>preferred_username</DefaultUsernameClaim> <DisableHttps>false</DisableHttps> <DisablePushedAuthorization>true</DisablePushedAuthorization> <DoNotValidateEndpoints>false</DoNotValidateEndpoints> <DoNotValidateIssuerName>false</DoNotValidateIssuerName> </PluginConfiguration> </value> </item> </OidConfigs> </PluginConfiguration>