Jellyfin
Setting Up Jellyfin
Jellyfin is a free and open-source media server that allows you to organize, manage, and stream your media files.
1. Creating the LXC Container
- Create a new Debian Bookworm LXC container on your Proxmox VE host with the following specifications:
- CPU: 6 cores
- RAM: 8 GB
- Storage: 120 GB
2. Setting Up Storage
For the time being, we will use a single drive, outside of our Truenas storage. The endgame though, is to create a storage pool and use it in the same way that we set it up for Immich.
-
Mount the media drive on the Proxmox VE host:
- Add the following line to your
/etc/fstabfile to mount the drive on boot:
UUID=<your-drive-uuid> /mnt/jellyfin_data ext4 defaults,noatime 0 2- Reload the systemd daemon and mount the drive:
systemctl daemon-reload mount -a - Add the following line to your
-
Set the correct permissions for the media drive:
chown -R 100000:100000 /mnt/jellyfin_data
chmod -R 750 /mnt/jellyfin_data
- Mount the media drive in the LXC container:
- Edit the LXC container's configuration file at
/etc/pve/lxc/<your-lxc-id>.confand add the following line:
- Edit the LXC container's configuration file at
mp0: /mnt/jellyfin_data,mp=/media
3. Configuring iGPU Passthrough
To enable hardware transcoding, you can pass through your Intel iGPU to the Jellyfin container.
- Get the iGPU information on the Proxmox VE host:
ls -l /dev/dri # Gives the iGPU card name
getent group render # Gives the render group's ID
- Add the iGPU to the LXC container:
- In the Proxmox VE web UI, navigate to the LXC container's Resources tab.
- Click Add > Device Passthrough.
- Set the Device Path to
/dev/dri/renderD128and the GID in CT to the GID of therendergroup.
4. Installing Jellyfin
-
Start the LXC container and log in to its shell.
-
Install Jellyfin:
- Follow the official Jellyfin documentation to install Jellyfin on Debian. The following commands should get you started:
apt update && apt upgrade -y
apt install -y curl gnupg apt-transport-https ca-certificates
curl https://repo.jellyfin.org/install-debuntu.sh | bash
- Set the correct permissions for the iGPU device:
chown root:render /dev/dri/renderD128
chmod 660 /dev/dri/renderD128
5. Configuring LDAP Authentication
-
Complete the initial Jellyfin setup:
- Access the Jellyfin web UI at
http://<your-lxc-ip>:8096and complete the initial setup wizard.
- Access the Jellyfin web UI at
-
Install the LDAP plugin:
- Navigate to Dashboard > Plugins and install the LDAP-Auth plugin.
- Restart Jellyfin:
systemctl restart jellyfin.
- Configure the LDAP plugin:
- Navigate to Dashboard > Plugins > LDAP-Auth.
- Fill in the following details:
- LDAP Server:
dc1.yourdomain.com - LDAP Port:
636 - Enable Secure LDAP: Checked
- LDAP Bind User:
CN=jellyfin,OU=ServiceAccounts,DC=yourdomain,DC=com - LDAP Bind Password:
your-jellyfin-password - LDAP Base DN for queries:
OU=Users,DC=yourdomain,DC=com - LDAP search filter:
(&(sAMAccountName={username})(memberOf=CN=JellyfinUsers,OU=Groups,DC=yourdomain,DC=com)) - LDAP Admin filter:
(&(sAMAccountName={username})(memberOf=CN=JellyfinAdmins,OU=Groups,DC=yourdomain,DC=com)) - LDAP Username attribute:
sAMAccountName
- LDAP Server:
[!NOTE] You will need to create a
jellyfinservice account andJellyfinUsersandJellyfinAdminsgroups in your Active Directory.
- Save the settings and test the LDAP connection.
Next Steps
With Jellyfin set up, you can now proceed to install Immich.


No comments to display
No comments to display