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
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
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
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 *
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
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