I didn’t like Kodi due to the unpleasant controls, especially on Android, so I decided to try out Jellyfin. It was really easy to get working, and I like it a lot more than Kodi, but I started to have problems after the first time restarting my computer.
I store my media on an external LUKS encrypted hard drive. Because of that, for some reason, Jellyfin’s permission to access the drive go away after a reboot. That means something like chgrp -R jellyfin /media/username
does work, but it stops working after I restart my computer and unlock the disk.
I tried modifying the /etc/fstab file without really knowing what I was doing, and almost bricked the system. Thank goodness I’m running an atomic distro (Fedora Silverblue), I was able to recover pretty quickly.
How do I give Jellyfin permanent access to my hard drive?
Solution:
- Install GNOME Disks
- Open GNOME Disks
- On the left, click on the drive storing your media
- Click “Unlock selected encrypted partition” (the padlock icon)
- Enter your password
- Click “Unlock”
- Select the LUKS partition
- Click “Additional partition options” (the gear icon)
- Click “Edit Encryption Options…”
- Enter your admin password
- Click “Authenticate”
- Disable “User Session Defaults”
- Select “Unlock at system startup”
- Enter the encryption password for your drive in the “Passphrase” field
- Click “Ok”
- Select the decrypted Ext4 partition
- Click “Additional partition options” (the gear icon)
- Click “Edit Mount Options…”
- Disable “User Session Defaults”
- Select “Mount at system startup”
- Click “Ok”
- Navigate to your Jellyfin Dashboard
- Go to “Libraries”
- Select “Add Media Library”
- When configuring the folder, navigate to
/mnt
and then select the UUID that points to your mounted hard drive
What filesystem are you using on the external drive? If it is NTFS or FAT, they won’t store permissions on the filesystem, which would explain why the owner/group changes are not persistent. To fix that, you can set the uid/gid on mount in your fstab.
/dev/mapper/YOUR_DRIVE /path/to/mnt <fstype> rw,uid=<jellyfin_uid>,gid=<jellyfin_gid>,dmask=0002,fmask=0113