Jellyfin

Create the videos share (if not created already)

Under the /mnt/data (the encrypted disk) let's create a new directory, e.g. videos. This will be assigned to administrators group

mkdir /mnt/data/videos
chown services:services /mnt/data/videos
chmod 776 /mnt/data/videos

Create a couple of groups, the first will have write access

groupadd share_videos
groupadd share_videos_readonly

Add the users. Johnd will have readonly access

usermod -a -G share_videos main
usermod -a -G share_videos_readonly johnd

Edit the samba config to add the new share. You can add the "veto files=..." to hide certain dirs

Add to he end of ** /etc/samba/smb.conf **

[Videos]
comment = Videos
path = /mnt/data/videos
read only = no
guest ok = no
create mask = 0775
directory mask = 0775
force_user = services
force_group = services
read list = @share_videos_readonly
write list = @share_videos

Setup the directories

Run

mkdir -p /mnt/data/apps/jellyfin/config
mkdir -p /mnt/data/apps/jellyfin/cache
chmod 777 /mnt/data/apps/jellyfin/config
chmod 777 /mnt/data/apps/jellyfin/cache
chmod 777 /mnt/data/apps/jellyfin
mkdir -p /mnt/data/videos/movies
mkdir -p /mnt/data/videos/shows
mkdir -p /mnt/data/videos/musicvideos
mkdir -p /mnt/data/videos/others
chown -R services:services /mnt/data/videos
chmod -R 777 /mnt/data/videos

Setup the stack

version: "2"
services:
  jellyfin:
    image: jellyfin/jellyfin
    container_name: jellyfin
    network_mode: "host"
    networks:
      - dockernet
    volumes:
      - /mnt/data/apps/jellyfin/config:/config
      - /mnt/data/apps/jellyfin/cache:/cache
      - /mnt/data/videos:/media
    restart: "unless-stopped"
    # Optional - alternative address used for autodiscovery
    #environment:
    #  - JELLYFIN_PublishedServerUrl=http://example.com

Access http://192.168.1.67:8096/ And add the media folders (library) For movies =>/mnt/data/videos/movies and so on ading shows, music videos and others

LDAP

Go to /mnt/data/apps/jellyfin/config/plugins mkdir ldap chmod 777 ldap wget https://repo.jellyfin.org/releases/plugin/ldap-authentication/ldap-authentication11.0.0.0.zip unzip ldap-authentication11.0.0.0.zip rm ldap-authentication_11.0.0.0.zip chmod 777 *

On Jellyfin

Then login on jellyfin Go to dashboard=>plugins=>ldap Setup the fields LDAP server: 192.168.44.1 (the nas ip) Unchek the TLS/STARTTLS/Secure Ldap fields LDAP Base DN: dc=kendar,dc=org (the one in ldap) LDAP Port: 389 Attributes: uid,cn Name: uid User filter: (memberOf=cn=jellyfin,ou=groups,dc=kendar,dc=org) Admin filter: (memberOf=cn=admins,cn=jellyfin,ou=groups,dc=kendar,dc=org) Bind user:cn=admin,dc=kendar,dc=org (the one create with ldap) Password: the one you set Check enable user creation and case insensitive

On ldap web

Login on phpLdapAdmin Under ou=groups add a new groupOfUniqueNames of RDN cn with cn jellyfin with user main Under cn=jellyfin add a new groupOfUniqueNames of RDN cn with cn admins with user main

You can now access jellyfin


Last modified on: June 08, 2020