• 1 Post
  • 395 Comments
Joined 2 years ago
cake
Cake day: June 13th, 2023

help-circle
rss
  • I’ve been testing out jellyfin for the last couple months but it doesn’t really fill the void of this specific feature that’s being locked behind a pay wall. If anyone has good recommendations for securely and reliably hosting jellyfin behind SSL and auth with email password resets where I don’t have to worry about it as much as Plex.

    I use jellyfin locally but for a handful of remote clients I have I may well block off their access they’re not going to be able to figure out my hand spun services and wall of text.


  • Heres what I’m running:

    authentication_backend:
      file:
        path: '/config/users_database.yml'
        watch: false
        search:
          email: false
          case_insensitive: false
        password:
          algorithm: 'sha2crypt'
    
    access_control:
      ## Default policy can either be 'bypass', 'one_factor', 'two_factor' or 'deny'. It is the policy applied to any
      ## resource if there is no policy to be applied to the user.
      default_policy: 'deny'
    
      networks:
        - name: 'internal'
          networks:
            # - '10.10.0.0/16'
            - '192.168.1.0/24'
        - name: 'VPN'
          networks: '10.0.1.0/24'
    
      rules:
        ## Rules applied to everyone
        - domain: '*.mydomain.com'
          policy: 'one_factor'
    
    session:
      ## The secret to encrypt the session data. This is only used with Redis / Redis Sentinel.
      ## Secret can also be set using a secret: https://www.authelia.com/c/secrets
      secret: 'insecure_session_secret'
    
      ## Cookies configures the list of allowed cookie domains for sessions to be created on.
      ## Undefined values will default to the values below.
      cookies:
      #   -
          ## The name of the session cookie.
        - name: 'authelia_session'
    
          ## The domain to protect.
          ## Note: the Authelia portal must also be in that domain.
          domain: 'mydomain.com'
    
          ## Required. The fully qualified URI of the portal to redirect users to on proxies that support redirections.
          ## Rules:
          ##   - MUST use the secure scheme 'https://'
          ##   - The above 'domain' option MUST either:
          ##      - Match the host portion of this URI.
          ##      - Match the suffix of the host portion when prefixed with '.'.
          authelia_url: 'https://auth.mydomain.com/'
    storage:
      postgres:
        ....
    
    identity_providers:
      oidc:
        ## Cross-Origin Resource Sharing (CORS) settings.
        cors:
          ## List of endpoints in addition to the metadata endpoints to permit cross-origin requests on.
          endpoints:
             - 'authorization'
             - 'token'
             - 'revocation'
             - 'introspection'
            #  - 'pushed-authorization-request'
            #  - 'userinfo'
    
          ## List of allowed origins.
          ## Any origin with https is permitted unless this option is configured or the
          ## allowed_origins_from_client_redirect_uris option is enabled.
          allowed_origins:
            - 'https://mydomain.com/'
            - 'https://grafana.mydomain.com/'
            - 'https://wiki.mydomain.com/'
            - 'https://foodz.mydomain.com/'
    
          ## Automatically adds the origin portion of all redirect URI's on all clients to the list of allowed_origins,
          ## provided they have the scheme http or https and do not have the hostname of localhost.
          allowed_origins_from_client_redirect_uris: true
        ## Clients is a list of known clients and their configuration.
        clients:
          - client_id: 'grafana'
            client_name: 'Grafana'
            client_secret: 'XXXXXX'
            public: false
            consent_mode: 'pre-configured'
            authorization_policy: 'one_factor'
            require_pkce: true
            pkce_challenge_method: 'S256'
            redirect_uris:
              - 'https://grafana.mydomain.com/login/generic_oauth'
            scopes:
              - 'openid'
              - 'profile'
              - 'groups'
              - 'email'
            userinfo_signed_response_alg: 'none'
            token_endpoint_auth_method: 'client_secret_basic'
          - client_id: 'wiki'
            client_name: 'Wiki'
            client_secret: 'XXXX'
            consent_mode: 'pre-configured'
            public: false
            authorization_policy: 'one_factor'
            require_pkce: true
            pkce_challenge_method: 'S256'
            redirect_uris:
              - 'https://wiki.mydomain.com/oidc/callback'
            scopes:
              - 'openid'
              - 'profile'
              - 'groups'
              - 'email'
            userinfo_signed_response_alg: 'none'
            token_endpoint_auth_method: 'client_secret_basic'
          ....
    
    

    Then my users_database.yml looks like:

    users:
      authelia:
        disabled: false
        displayname: "Test User"
        password: ""
        email: authelia@authelia.com
        groups:
          - admins
          - dev
      user001:
        disabled: false
        displayname: 'User 001'
        password: "$6$rounds=50000$XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
        email: test@gmail.com
        groups:
          - admins
          - users
    



  • I used to run key cloak backed by LDAP. Few months ago moved to Authelia and after many hours of tinkering and setting up sites I haven’t had to touch it except to add a new URL or user.

    I slightly disagree with the other commenter I didn’t find it easy or straightforward but once I finally found what worked for my setup its been great.

    Imagine Authelia is the caddy of SSO. Powerful, intimidating but very efficient. Also all configs are in like 3 files and things aren’t going to change without FS access which only I the admin have.







  • As I seem to have to say in all of these threads about avatar since hating on them has become some kind of personality.

    Hi yeah I really enjoyed the both movies and looking forward to the third one. I have watched both in theaters and own physical copies of both and probably the third.

    14 year olds in 2010 were pointing out its Pocahontas, it’s not wrong but it’s not rocket science to know the point and budget of these movies is the tech used to build and render the world which sets the standard for movies for years to come.

    Would love to hear any original thoughts if you have any










  • I’ve been using plex for several years and setup jellyfin a few months ago to tinker with it. Playing videos works fine for me locally but I have some family out of state who have access and jellyfin doesn’t have a solution for that outside of me publicly sharing the URL and managing the passwords. Also a pain point for me is having multiple files of different quality for the same movie/episode, it always shows as two episodes that it will play back to back and seems to require a lot of manual work per show/movie to get it tracked as 1 piece of media with 2 files to choose from. Would love to ditch Plex eventually but for me and my family it just works without issue and they can manage their own remote login.