How to get started with Jellyfin on TrueNAS SCALE

HoneyBadger

actually does care
Administrator
Moderator
iXsystems
Joined
Feb 6, 2014
Messages
5,112
Here at iX, we’re big fans of open-source alternatives to commercial software - so when we heard that LinusTechTips was featuring the open-source media library manager Jellyfin on their YouTube channel, we were excited to check it out.

Unfortunately, there’s one piece missing from the puzzle - there’s no official solution for running a Jellyfin server under TrueNAS CORE. But for the growing number of you in the TrueNAS Community who have migrated to or installed TrueNAS SCALE, our new Linux-based version of TrueNAS, there’s an easy way to set up a Jellyfin server with just a few clicks.

Since the release of TrueNAS SCALE on 2/22/22, hundreds of users have downloaded the Docker image available at jellyfin.org. On TrueNAS SCALE Bluefin, this Docker image - like other installed apps - requires specific settings for persistent storage to be presented safely and securely. The second and easier Jellyfin option is to use the TrueCharts App catalog as described here.

The first step you’ll need to do, if you haven’t already, is to define a storage pool for your applications. This is where Jellyfin (and any other apps) will be stored on your TrueNAS machine. You’ll be prompted to do this automatically on your first visit to the Apps page.

Next, we’ll add the TrueCharts catalog to the TrueNAS SCALE lists. Choose the Manage Catalogs tab, then the Add Catalog button.

HBu_PRzB9L-lOf4XGF1yWN2ZqRzCWkCN5q2f8rEtkXZFaLxncfI-90PCJ3m4PmPh_0szldsQ11SMlY2J2mrHaoCXkNNiEZgNudYEYAVciV-PIDgnyJHDYhhxoKHwVS2uCAWPz2hQ3MDygA5f3zEKNsI


You’ll receive a warning dialog, requesting that you confirm that you want to add a third-party catalog. Use caution when adding catalogs, and only add software from a trusted source.

3ER1Gon_t1zXsmQFbP_jqVSQ9PRaMVy7nqeEnuAsgtOCtZQbVEhRUtOlJBYRz8tGpVsZ1uokObHWqe1ME0NYNZPl6-L2nDeWyMUEHcH8LS99z4NvjFxshct_V0xhlIcNq7-Q-y7w2peXAE6row-beMI


Populate the new sidebar with the following information:

Name: truecharts
Repository: https://github.com/truecharts/catalog
Preferred Trains: stable and enterprise
Branch: main

Click the Save button, and wait for the catalog to refresh. This might take a few minutes, and is dependent on the speed of your network connection.

Before you install the Jellyfin container, you’ll need to configure your media folder(s) for sharing with the application. The default security behavior in TrueNAS SCALE 22.12 “Bluefin” prevents direct visibility of the host storage (such as your existing /mnt/Pool/Media) by default - so we’ll need to make it accessible through the Network File System (NFS) protocol.

Choose the Shares option from the left pane, and then choose to Add a UNIX (NFS) Share. Select the dataset that contains your media library, and choose the Save option. If you’ve saved different types of media in different folders, you’ll have to repeat the Add process again. Take note of each path that you’re sharing over NFS, as you’ll need them later on.

qNYnXuH6fHAVQIkQz_POq1HvcNr-sSAx7nYmYTQb2B0810D9FTwAscwORsDvS2Ax0aJSbZHLyrtxMCXdTz0b0NbdstBdr7Yget9o04tUah0XLhIeBc6Z7IxMLiv9xjWUkCFX28_5GW_lzxGLwBNBBkg


Sharing is caring - but unless the apps user has access to the directory, you won’t be able to see your media. Go to the Datasets window, select your dataset, and choose Edit on the lower-right corner of the Permissions pane. In the Edit ACL window, choose to Add Item - take care not to change anything that already exists - and grant the apps user Read rights to your media folder.

If you already have media present in these folders, you’ll have to check the Apply Permissions Recursively checkbox - otherwise, Jellyfin will only be able to gain access to the main folder, not the files themselves.

Now that you’ve got the media folder shared through NFS, we’ll be able to deploy the Jellyfin application and make the files visible inside the container. Hop back to Apps, choose the Available Applications tab, and search for jellyfin

-hw-hw7far_eF-YCPOjaClM0upYGRWTVtJUGV9oj4KVTtM1g8_d0vaIYF8J4VP1WtKK3WH8Z0s-8-IthOchfJctbXvhD2IzR7FkfL-p5vP0KCixGDVmzs5N4eN0sdV6oeR4wmeKfzLHI0LCuqA19S4s


Click the Install button, and you’ll be prompted to set up the Jellyfin software. Most of the settings can be left at the default values, but ensure you select the correct timezone before scrolling down to the Networking and Services section. Take note of the default port (8096) that Jellyfin is listening on, and move down to Storage and Persistence.

The Jellyfin software itself will have some integrated configuration storage included with a “PVC” storage type - make sure not to change this, as it’s the preferred and supported option from TrueCharts.

OeNKXPwdQfoQ0pM3-iD4jihJWe8VwlgXGsiRNV7Q2qui6gNniMXqTAQeG7Fmo4TNN3_rkGFWDRgtrFaSBWV5MYd5l0n5_oiP3EcOfaavUKStN_HEnlbXAQhYESuqdwVHY9FyuB7SYLS_nzaJfy3A32s


Change the App Transcode Storage to the emptyDir type, with the Default storage medium.

More advanced users with a large amount of RAM in their TrueNAS machine might consider changing the transcoding space to use the Memory storage medium. Note that this can potentially consume a large amount of memory if you’re streaming high-definition video content, or multiple streams at the same time.

eeMgyPC2kNp3871woc0fatgmENHEbvLze6_4c4tcckJLE8HC2AiHmnsXBNB8H2kbVPQNAFbCLzGL-U54E7RAdq6HbRlaWgQKdMw9-eWvza6vmmVWPziivZCKOzVPN3-RGXOKHNyjkvgneGJVHFUWPRI


What we’re most interested in is the Additional App Storage option; find and click the Add button right next to it.

Select an NFS Share for the type of storage, and enter localhost for your NFS server. Enter the path to your media folder, making sure to match the capitalization, and then provide and take note of a Mount Path that your Jellyfin server will access it through. Mark this as Read Only.

5X-eYDwZobyaMsyiNxavNm-a9DpSjhYDtW_9zeOk0P30_r0xsm3VxlLUds4d2-DeQ_5pTus6FpTijnqGB31S18NBNx4dEKGT3SSKeTuAYpzWQAZ8oU_b8IMd3mS2-v5V_yRWU4VD6QPelcn-MrTLxEk


Repeat this process for each additional media folder you have.

If you have a GPU in your TrueNAS system that’s capable of video transcoding in hardware, you can add it to Jellyfin under the Resources and Devices section.

Scroll to the bottom of the window and click Save.

Once you hit Save, the process of downloading and setting up Jellyfin will begin. Switch back to the Installed Applications tab, and wait for the application to switch from Deploying to Active - once it does, click the Open button to launch the Jellyfin welcome portal.

Select your language, define a user to be used for administrative purposes in Jellyfin (as well as your first playback) and then choose the Add Media Library button. Choose the media type (or as best as you can match it) and click the (+) sign beside Folders to add a Mount Path that you shared over NFS from above.

WkH_dUaRz5O9xU5B_9pcTFXMx7BlyF6ihivgC3ovBZUdv6c5AVwWlG_t4CXFw08MAdtsLMtgsmWQnRBz5prhsBak-MCI3l91o1_jhDzSM1vzuqqy9E6Q9HYY0iP2DHKUnk07HETUbcJF6xkPcL4TrYQ


If required, add more media libraries - music, TV shows, photos - and then click Next. Set your default metadata language for obtaining media information from the Internet, and leave the Allow remote connections to this server option checked - otherwise, you won’t be able to view anything you just made available. Click on Finish and you’ll be sent to the dashboard, where you can log in as the user you set up during the wizard, and start watching your shows!

If you need help with joining the hundreds of users with Jellyfin running on TrueNAS, feel free to request assistance in the TrueNAS SCALE Apps subforum. You can also reach out to the TrueCharts team at https://truecharts.org/contact, in case you need any help deploying Jellyfin from the catalog.

For further information on operating Jellyfin itself, start with their Quick Start Guide available at https://jellyfin.org/docs/general/quick-start/
 

Whattteva

Wizard
Joined
Mar 5, 2013
Messages
1,824
Here at iX, we’re big fans of open-source alternatives to commercial software - so when we heard that LinusTechTips was featuring the open-source media library manager Jellyfin on their YouTube channel, we were excited to check it out.

Unfortunately, there’s one piece missing from the puzzle - there’s no official solution for running a Jellyfin server under TrueNAS CORE.
I've been running Jellyfin just fine with this unofficial port, https://github.com/Thefrank/jellyfin-server-freebsd
I'm running it on a vanilla FreeBSD machine, but I don't see any reason why it wouldn't work on a TrueNAS CORE jail. In fact, I think the README is actually geared towards TrueNAS CORE jail.
 

truecharts

Guru
Joined
Aug 19, 2021
Messages
788
We approve of this guide and do not see any significant issues with it.
Feel free to use it and contact our staff on discord if you've any issues afterwards! :)
 

hostany

Cadet
Joined
Oct 25, 2022
Messages
3
Before you install the Jellyfin container, you’ll need to configure your media folder(s) for sharing with the application. The default security behavior in TrueNAS SCALE 22.12 “Bluefin” prevents direct visibility of the host storage (such as your existing /mnt/Pool/Media) by default - so we’ll need to make it accessible through the Network File System (NFS) protocol.
If I'm not using SMB or NFS services, it should be OK to use host path setting directly?
 

truecharts

Guru
Joined
Aug 19, 2021
Messages
788
If I'm not using SMB or NFS services, it should be OK to use host path setting directly?

There is currently also a big where replication triggers this (fixed on nightly), so yes and no...
 

danywan

Cadet
Joined
Feb 7, 2023
Messages
1
I have two questions.

First, is it possible to import and/or export Jellyfin's config folders & files? I have the config folder of a Jellyfin server that I ran through Docker on another machine saved in one of my datasets on TrueNAS Scale. I want to transfer that config data into this new instance of TrueCharts' Jellyfin release, but don't know if this is possible. I can easily link the config folder when installing Jellyfin through the official built-in Docker launcher button, but with TrueCharts, I can't figure out how to import my saved config files.

Second, since you can add a GPU for HWA through the Resources and Devices section, does this also apply for iGPUs? How would you pass through the device(s) necessary to allow HWA with an integrated GPU on the CPU? Any permissions that need to be set for this as well?
 

LeoLevosky

Cadet
Joined
Sep 26, 2021
Messages
8
I'm running TrueNAS Core on machine where I'm running out of storage. So I want to migrate to a larger machine and run my media set-up on it as well. Jellfin seems a good solution. However, what I cannot find anywhere is anything about running a satellite TV tuner card on the same machine.

Is this possible with TrueNAS Scale?
 

truecharts

Guru
Joined
Aug 19, 2021
Messages
788
In case people still have issues: We've just released our own Jellyfin AND nfs-with-apps guides:
 

truecharts

Guru
Joined
Aug 19, 2021
Messages
788
I have two questions.

First, is it possible to import and/or export Jellyfin's config folders & files? I have the config folder of a Jellyfin server that I ran through Docker on another machine saved in one of my datasets on TrueNAS Scale. I want to transfer that config data into this new instance of TrueCharts' Jellyfin release, but don't know if this is possible. I can easily link the config folder when installing Jellyfin through the official built-in Docker launcher button, but with TrueCharts, I can't figure out how to import my saved config files.

Second, since you can add a GPU for HWA through the Resources and Devices section, does this also apply for iGPUs? How would you pass through the device(s) necessary to allow HWA with an integrated GPU on the CPU? Any permissions that need to be set for this as well?

Sorry, we do not have the capacity to assist you on this forums.
Feel free to file a support ticket with our support staff on Discord instead :)
 

Revv23

Cadet
Joined
Jun 15, 2023
Messages
1
Hey All - I'm trying to learn truenas in a VM before moving my JF server to bare metal. I am trying to figure out if I have made some grave blunder or if there have been changes since this guide was made.

1st, I have no option for PVC Storage - Only host path or ixVolume

2nd - I cannot see my NFS Share for additional storage - only those same two options. (Yes I set it up)

3rd - I'm not sure if it matters but I'm not seeing a charts version of jellyfin - just the community official- I have the charts repo added though.


Thank you for any insight.
 

HoneyBadger

actually does care
Administrator
Moderator
iXsystems
Joined
Feb 6, 2014
Messages
5,112
Hey All - I'm trying to learn truenas in a VM before moving my JF server to bare metal. I am trying to figure out if I have made some grave blunder or if there have been changes since this guide was made.

1st, I have no option for PVC Storage - Only host path or ixVolume

2nd - I cannot see my NFS Share for additional storage - only those same two options. (Yes I set it up)

3rd - I'm not sure if it matters but I'm not seeing a charts version of jellyfin - just the community official- I have the charts repo added though.


Thank you for any insight.

Hello @Revv23

Since the initial publication of this post, the TrueNAS Community Charts repository has been introduced, so the setup instructions for the Jellyfin app there will differ. We'll see if we can get an update in this guide to reflect that for you!
 

dAlexis

Dabbler
Joined
Aug 15, 2015
Messages
41
Please, add instructions for setting up access 2 Jellyfin from LAN only - was reading original Jellyfin instructions, no needed info was found. Please, advice, if known.
 

Whattteva

Wizard
Joined
Mar 5, 2013
Messages
1,824

Camofelix

Dabbler
Joined
Nov 29, 2013
Messages
25
Hi All,

Have this mostly working, including HWA transcoding, but a specific issue I have is around the HDR->SRD tonemaping.

It seems the docker image is unable to enable OpenCL, since it also requires OpenCL drivers on the host. To do so I'd need to enter into "here be dragons" land of installing OpenCL on the host TrueNAS Scale server. Is there a supported/recommend way of doing this?

Specific setup is a test system based on an intel Alderlake 12100 (4c8t) + iGPU, 32GBs of DDR4 and an RX5600XT (Navi1), 2 Raidz1 pools, with the pool in question being composed of 3 10TB drives

In this case I haven't enabled the iGPU to simplify the config.

The "easiest" solutions I can imagine here are to either ship TrueNAS Scale with the RustICL mesa OpenCL driver, or to manually install the AMD ROCm OpenCL runtimes.
 

smcclos

Dabbler
Joined
Jan 22, 2021
Messages
43
I've been running Jellyfin just fine with this unofficial port, https://github.com/Thefrank/jellyfin-server-freebsd
I'm running it on a vanilla FreeBSD machine, but I don't see any reason why it wouldn't work on a TrueNAS CORE jail. In fact, I think the README is actually geared towards TrueNAS CORE jail.

I've been running my Jellyfin server on a Windows VM, but it is nice to know that I could consider TrueNAS CORE, thanks for pointing out the FreeBSD fork, Whatteva.
 

Camofelix

Dabbler
Joined
Nov 29, 2013
Messages
25
Hi All,

Have this mostly working, including HWA transcoding, but a specific issue I have is around the HDR->SRD tonemaping.

It seems the docker image is unable to enable OpenCL, since it also requires OpenCL drivers on the host. To do so I'd need to enter into "here be dragons" land of installing OpenCL on the host TrueNAS Scale server. Is there a supported/recommend way of doing this?

Specific setup is a test system based on an intel Alderlake 12100 (4c8t) + iGPU, 32GBs of DDR4 and an RX5600XT (Navi1), 2 Raidz1 pools, with the pool in question being composed of 3 10TB drives

In this case I haven't enabled the iGPU to simplify the config.

The "easiest" solutions I can imagine here are to either ship TrueNAS Scale with the RustICL mesa OpenCL driver, or to manually install the AMD ROCm OpenCL runtimes.
An update to this:

After adding the modprobe kernel parameter for the ADL iGPU (12100 uses the 4692) I was enable to enable the OneVPL code paths which do not require OpenCL.

It does mean the AMDGPU in this setup is effectively a paperweight, but that's a different discussion.
 

FRL-Myke

Cadet
Joined
Aug 24, 2023
Messages
1
I followed this guide and all went well as far as i can say. The problem started when i tried to access the jellyfin webportal. The main page loaded, i clicked on the server, clicked on connect, then got a error saying that the server can't be accessed and i should check if it is running. In Truenas it says the app is active.

Obviously somewhere i did something wrong but i don't know where. Any help would be appreciated.
 
Joined
Jul 30, 2023
Messages
6
An update to this:

After adding the modprobe kernel parameter for the ADL iGPU (12100 uses the 4692) I was enable to enable the OneVPL code paths which do not require OpenCL.

It does mean the AMDGPU in this setup is effectively a paperweight, but that's a different discussion.
We’re you ever able to get OpenCL installed? I also have a 12100 and cannot get hardware accellerated tonemapping to work. I had to install the Cobia beta before TrueNAS would even recognize the iGPU.
 

Siress

Dabbler
Joined
Jul 20, 2023
Messages
11
I'm also trying to get OpenCL on 23.10-RC1 for proper QSV support in Jellyfin with an Intel iGPU... seems so wasteful to to require another computer just so we can properly utilize parallel processing.
 
Joined
Apr 30, 2017
Messages
2
I've been running Jellyfin just fine with this unofficial port, https://github.com/Thefrank/jellyfin-server-freebsd
I'm running it on a vanilla FreeBSD machine, but I don't see any reason why it wouldn't work on a TrueNAS CORE jail. In fact, I think the README is actually geared towards TrueNAS CORE jail.
The major drawback is that you want to use hardware-accelerated transcoding, you'd need to install the appropriate GPU drivers on the host machine.

It will get easier to install Jellyfin in a jail (on TrueNAS Core or otherwise) soon; .NET Core 8.0 is moving towards FreeBSD support and therefore inclusion in the ports tree, at which point a package for Jellyfin can be added. Working GPU-accelerated Jellyfin on CORE without discouraged changes to the host OS may be available in 14 (in a VM with bhyve GPU passthrough).
 
Top