Thefrank / jellyfin-server-freebsd

jellyfin-server component for freebsd
190 stars 16 forks source link

Cannot run Jellyfin 10.9.2 on TrueNAS Core 13.2/13.3 #75

Open julienbenjamin opened 6 months ago

julienbenjamin commented 6 months ago

So, long story short, I cannot run Jellyfin 10.9.2 in a TrueNAS Core jail.

I got either an Failed to create CoreCLR error with a 13.2 jail or the daemon does not work in a 13.3 jail.

TrueNAS Core 13.2-RELEASE:

# /usr/local/jellyfin/jellyfin --datadir /var/db/jellyfin/ --cachedir /var/cache/jellyfin
Failed to create CoreCLR, HRESULT: 0x8007054F

So, it clearly does not work but I've seen every theory and its counterpart while looking for dotnet issues online.

Storage and RAM are far from being full if that matter.

TrueNAS Core 13.3-RELEASE:

# /usr/local/jellyfin/jellyfin --datadir /var/db/jellyfin/ --cachedir /var/cache/jellyfin
[21:32:33] [INF] [4] Main: Jellyfin version: 10.9.2
[21:32:33] [INF] [4] Main: Environment Variables: ["[JELLYFIN_LOG_DIR, /var/db/jellyfin/log]"]
[21:32:33] [INF] [4] Main: Arguments: ["/usr/local/jellyfin/jellyfin.dll", "--datadir", "/var/db/jellyfin/", "--cachedir", "/var/cache/jellyfin"]
[21:32:33] [INF] [4] Main: Operating system: FreeBSD 13.1-RELEASE-p9 FreeBSD 13.1-RELEASE-p9 n245429-296d095698e TRUENAS
[21:32:33] [INF] [4] Main: Architecture: X64
[21:32:33] [INF] [4] Main: 64-Bit Process: True
[21:32:33] [INF] [4] Main: User Interactive: True
[21:32:33] [INF] [4] Main: Processor count: 8
[21:32:33] [INF] [4] Main: Program data path: /var/db/jellyfin/
[21:32:33] [INF] [4] Main: Log directory path: /var/db/jellyfin/log
[21:32:33] [INF] [4] Main: Config directory path: /var/db/jellyfin/config
[21:32:33] [INF] [4] Main: Cache path: /var/cache/jellyfin
[21:32:33] [INF] [4] Main: Web resources path: /usr/local/jellyfin/jellyfin-web
[21:32:33] [INF] [4] Main: Application directory: /usr/local/jellyfin/
...

This does works, but when trying to actually run it as a daemon:

# service jellyfin start
Starting jellyfin.
# service jellyfin status
jellyfin is not running.

This seems to stem from a change in /usr/sbin/daemon in FreeBSD 13.3 from what I've read here and there, but I'm far from a FreeBSD expert. The problem is, since I use TrueNAS, the support lags behind, and iXsystems is apparently dropping TrueNAS Core (FreeBSD-based) support.

Strangely enough, the .pid files are not removed from /var/run/jellyfin.

A few remarks on my jails:

I have run out of ideas and my research did not give better insights of how to handle this situation.

If you have any ideas, I'm willing to hear them.

It feels like I'm the only one affected, but I cannot imagine being the only one using Jellyfin 10.9.2 on TrueNAS Core.

BTW, the 10.8.8 worked on 13.2. That's what I had been using for a while before attempting to upgrade to the 10.9.X versions.

Edit: I also tried:

# elfctl -e -wxneeded /usr/local/jellyfin/jellyfin

This did not work.

It originally was:

# elfctl /usr/local/jellyfin/jellyfin
File '/usr/local/jellyfin/jellyfin' features:
noaslr          'Disable ASLR' is unset.
noprotmax       'Disable implicit PROT_MAX' is unset.
nostackgap      'Disable stack gap' is unset.
wxneeded        'Requires W+X mappings' is unset.
la48            'amd64: Limit user VA to 48bit' is unset.
Thefrank commented 6 months ago

What is the host OS and what is the jail OS? freebsd-version; uname -a in the jail should be enough infomation.

jellyfin seems to think it is running in a 13.1 environment: [21:32:33] [INF] [4] Main: Operating system: FreeBSD 13.1-RELEASE-p9 FreeBSD 13.1-RELEASE-p9 n245429-296d095698e TRUENAS

Most likely: https://github.com/dotnet/runtime/issues/99857 strikes again. Your host OS is FreeBSD 13.1 / TrueNAS CORE 13.1 + your jail is 13.2/13.3/14.x + the binaries were built with NET8 SDK. That topic also addressed a possible work around but was not successful. You will likely need a host OS of 13.2 or higher. If your host OS is 13.1 then you also need a jail that is 13.1 AND I need to also build TrueNAS specific binaries of jellyfin using a TrueNAS specific build of NET8

julienbenjamin commented 6 months ago

What is the host OS and what is the jail OS? freebsd-version; uname -a in the jail should be enough infomation.

host (TrueNAS Core):

# freebsd-version
13.1-RELEASE-p9

And both jails tested:

# freebsd-version
13.3-RELEASE-p2
# freebsd-version
13.2-RELEASE-p4

jellyfin seems to think it is running in a 13.1 environment: [21:32:33] [INF] [4] Main: Operating system: FreeBSD 13.1-RELEASE-p9 FreeBSD 13.1-RELEASE-p9 n245429-296d095698e TRUENAS

Looks like the host environment, then.

Most likely: dotnet/runtime#99857 strikes again. Your host OS is FreeBSD 13.1 / TrueNAS CORE 13.1 + your jail is 13.2/13.3/14.x + the binaries were built with NET8 SDK. That topic also addressed a possible work around but was not successful.

That's what I figured from the freebsd-version that you mentioned. I should have paid attention to that.

You will likely need a host OS of 13.2 or higher. If your host OS is 13.1 then you also need a jail that is 13.1 AND I need to also build TrueNAS specific binaries of jellyfin using a TrueNAS specific build of NET8

So, given that I'm tracking the stable release of TrueNAS core, I cannot really update to 13.2 or higher.

Weirdly enough, the 13.2 is the lowest I can go before jumping directly to 12.4. And here comes my lack of knowledge about FreeBSD: given the current mismatch of versions, is there a way to get the 13.1-RELEASE for jails?

Here's what iocage offers:

# iocage fetch
[0] 12.4-RELEASE
[1] 13.2-RELEASE
[2] 13.3-RELEASE
[3] 14.0-RELEASE

It might be a silly question but, since you also build a binary for FreeBSD 14, would it be worth trying with a 14.0 jail?

Why would you need to get a specific build of NET8? Because of the host being 13.1?

Edit:

I have seen that I could pull out a 13.1-RELEASE from the archives. Is it worth trying before anything else?

# iocage fetch --root-dir /pub/FreeBSD-Archive/old-releases/amd64/ --server ftp-archive.freebsd.org
...
[39] 13.0-RELEASE
[40] 13.1-RELEASE
[41] 13.2-RELEASE

Edit 2: I created a new jail from my freshly downloaded 13.1-RELEASE (iocage create -r 13.1-RELEASE -n jellyfin), but I guess the mismatch will keep being a problem:

Newer FreeBSD version for package pkg:
To ignore this error set IGNORE_OSVERSION=yes
- package: 1302001
- running kernel: 1301000

This is strange to me since they're now both supposedly the same version:

# freebsd-version                                                                                  
13.1-RELEASE-p9
Thefrank commented 6 months ago

13.1 went EOL July 31, 2023. After that point the pkg mirrors (the location where pkg pulls down files to install) no longer contain packages that for that kernel version. That is why you are getting the kernel mismatch error: the items that you will be installing may not work with the version of kernel that you are running. 13.2 is EOL at the end of next month.

If you need to install packages for that version, that might be harder. I only found archives for 5.1-9.2 and random snapshots from 10-12. You could find most common packages on the DVD.iso for that release but I am not sure how comprehensive that is for recent releases. The handbook does not say WHICH packages are on either the DVD nor DISC versions.

julienbenjamin commented 6 months ago

13.1 went EOL July 31, 2023. After that point the pkg mirrors (the location where pkg pulls down files to install) no longer contain packages that for that kernel version. That is why you are getting the kernel mismatch error: the items that you will be installing may not work with the version of kernel that you are running. 13.2 is EOL at the end of next month.

That's what I was thinking, since, like I said, TrueNAS Core has always been lagging behind actual FreeBSD releases.

Apparently, iXsystems had planned to release their new Core release in June:

The release candidate for the next version of TrueNAS CORE (13.3) is planned for May, followed by its formal release in June 2024. TrueNAS CORE 13.3 will include the following updates:

   FreeBSD 13.3
   OpenZFS 2.2.3
   Samba v4.19
   Updates to SMART, Network UPS Tools (NUT), and other services
   Various security and bug fixes

What would be the best course of action? Waiting for TrueNAS Core 13.3 while staying on Jellyfin 10.8.8? That would not add more work for you, would it? Your current build would work for 13.3?

If you need to install packages for that version, that might be harder. I only found archives for 5.1-9.2 and random snapshots from 10-12. You could find most common packages on the DVD.iso for that release but I am not sure how comprehensive that is for recent releases. The handbook does not say WHICH packages are on either the DVD nor DISC versions.

Even if it worked, it would still be a few weeks, so I guess that should be OK, don't you think?

For now, I pulled a 13.1 release from the archives and trying to see how that goes.

Edit: So, your build of Jellyfin 10.9.2 works with a 13.1 release jail. It should be good enough before next month upgrade to 13.3.

Thanks for spotting the mismatch, and sorry for such a silly mistake.

BTW, thanks for your involvement of building Jellyfin for FreeBSD, and for the time you spend helping users like me.

Thefrank commented 6 months ago

The FreeBSD 13 build of jellyfin 10.9.x "should" work on TrueNAS's FreeBSD 13.1 in a 13.1 jail. If it does not work than wait a month for when iXsystems releases their update. If it does work than use that :)

Older jails typically work on newer hosts due to symbol versioning. NEWER jails MIGHT work on older hosts unless there are different symbols or missing functions. In this case, there are breaking changes.

Finally, the warning from pkg is two fold: it notifies you that you that your jail/os is EOL and that you might be installing incompatible packages.

EDIT: I noticed your edit that it does work under TrueNAS and a 13.1 jail. Glad we got it figured out!

julienbenjamin commented 6 months ago

The FreeBSD 13 build of jellyfin 10.9.x "should" work on TrueNAS's FreeBSD 13.1 in a 13.1 jail. If it does not work than wait a month for when iXsystems releases their update. If it does work than use that :)

Jellyfin seems to work, but ffmpeg is not. I guess it was the mismatch I've seen yesterday.

Jellyfin log:

[2024-05-25 01:37:19.409 +02:00] [ERR] [1] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: FFmpeg validation: The process returned no result
[2024-05-25 01:37:19.409 +02:00] [WRN] [1] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: FFmpeg: Failed version check: "ffmpeg"
[2024-05-25 01:37:19.418 +02:00] [INF] [1] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: FFmpeg: ""

Jellyfin jail shell:

# ffmpeg
ld-elf.so.1: /usr/local/lib/libtasn1.so.6: Undefined symbol "strverscmp@FBSD_1.7"
root@vault-jellyfin:~ # ffprobe
ld-elf.so.1: /usr/local/lib/libtasn1.so.6: Undefined symbol "strverscmp@FBSD_1.7"

Older jails typically work on newer hosts due to symbol versioning. NEWER jails MIGHT work on older hosts unless there are different symbols or missing functions. In this case, there are breaking changes.

I guess my ffmpeg output is a textbook example.

Finally, the warning from pkg is two fold: it notifies you that you that your jail/os is EOL and that you might be installing incompatible packages.

Apparently, pkg was right.

I suppose that I already should feel lucky that I could deploy a 13.1 jail, but I won't be able to match my host exact version? The worst part, is that, I suppose I had the actual exact release at some point and I might have trashed it to save space.

Well, after having created and destroyed some many pools, I could try with a 13.0. I know how bad that sounds.

EDIT: I noticed your edit that it does work under TrueNAS and a 13.1 jail. Glad we got it figured out!

I should have tried to actually play something and not just look if clients were able to join the server, but I was tired and it was way past my bed time.

julienbenjamin commented 6 months ago

So, I've finally settled with a 13.3 jail and running jellyfin in a tmux session until the apparent issue with daemon disappears.

It's just su -m jellyfin -c "/usr/local/jellyfin/jellyfin --datadir /var/db/jellyfin/ --cachedir /var/cache/jellyfin" >> /dev/null 2>&1 for anyone reading this trying to do the same.

It's a bad hack, but the least bad possibility while waiting for the 13.3 release to finally arrive for TrueNAS Core in June.

abudnick commented 6 months ago

Another option for running Jellyfin in a 13.3 jail with a 13.1 base system (that I haven't tried for Jellyfin specifically, but I have for a different jail) is noted in the discussion on the TrueNAS forums. Essentially copy the base system's binary for "daemon" from /usr/sbin to the jail's sbin directory. That sounds sketchy and may have downstream impacts when the base system is eventually upgraded, but in my case, on a 13.3 jail I could once again use "daemon" with my base system still on 13.1.

If I have time in the next few days I'll give this a try on my own Jellyfin jail, which sounds like is configured similarly to yours @julienbenjamin. I'll wait until the 10.9.2 binary hits my ports mirror which should hopefully be soon. Jellyfin 10.9 had a bunch of changes that I've been eagerly awaiting so I'd rather not wait until TrueNAS 13.3 if I can help it!

MoritzSchrenk commented 6 months ago

This thread has been really helpful, I don't entirely know what I'm doing and was very confused by the daemon not working...

It's just su -m jellyfin -c "/usr/local/jellyfin/jellyfin --datadir /var/db/jellyfin/ --cachedir /var/cache/jellyfin" >> /dev/null 2>&1 for anyone reading this trying to do the same.

Any idea why I get this error when trying the same? When running the command normally, jellyfin starts fine. Microsoft.Data.Sqlite.SqliteException (0x80004005): SQLite Error 8: 'attempt towrite a readonly database'.

Thefrank commented 6 months ago

Any idea why I get this error when trying the same? When running the command normally, jellyfin starts fine. Microsoft.Data.Sqlite.SqliteException (0x80004005): SQLite Error 8: 'attempt towrite a readonly database'.

Sounds like the permissions/ownership is wrong

MoritzSchrenk commented 6 months ago

Ended up figuring out how to use tmux to keep jellyfin running. Good enough for now I think.

RobTheGob commented 6 months ago

Ended up figuring out how to use tmux to keep jellyfin running. Good enough for now I think.

What steps did you use to get it running?

I'm still running 10.8.13 (in a 13.2-RELEASE-p9 Jail) and at least one of my clients is complaining about the server version. I've not seen a good description of how to move to 10.9 - I'm thinking it might be getting close to the time to migrate to another platform...

Thefrank commented 6 months ago

I'm still running 10.8.13 (in a 13.2-RELEASE-p9 Jail) and at least one of my clients is complaining about the server version. I've not seen a good description of how to move to 10.9 - I'm thinking it might be getting close to the time to migrate to another platform...

Are you using FreeBSD? If yes just pkg upgrade jellyfin. If you are using TrueNAS CORE...that is a bit more complicated and running a jail that is newer than the host is not advised. Waiting for the next version of TrueNAS CORE is the least painful

RobTheGob commented 6 months ago

Are you using FreeBSD? If yes just pkg upgrade jellyfin. If you are using TrueNAS CORE...that is a bit more complicated and running a jail that is newer than the host is not advised. Waiting for the next version of TrueNAS CORE is the least painful

I'm running it on TrueNAS Core 13.0-U6.1.

I've updated the pkg within the jail - but since the jail is 13, Jellyfin won't go past 10.8.13

The EOL for TrueNAS Core took me by surprise and I'm trying to figure out the best plan to deal with the Jellyfin server...

I've looked at some of the migration tools - but haven't found a complete solution or even the best target system to switch to.

Thefrank commented 6 months ago

I'm running it on TrueNAS Core 13.0-U6.1.

I've updated the pkg within the jail - but since the jail is 13, Jellyfin won't go past 10.8.13

That complicates things. My understanding was a symbol version bump from FreeBSD 13.1 -> 13.2 when "strverscmp" was introduced. This will cause things like ffmpeg to fail. I am not sure of FreeBSD 13.2 but 14.0 fixes a very long standing where the daemon service was exporting too much PATH information vs what the documentation indicated. This requires changes in service file for jellyfin to adjust for it.

The EOL for TrueNAS Core took me by surprise and I'm trying to figure out the best plan to deal with the Jellyfin server...

I've looked at some of the migration tools - but haven't found a complete solution or even the best target system to switch to.

I think the most surprised would be the enterprise customers that used the FreeBSD version of Enterprise.

It is not EOL yet but if you want out now...

If you like iXSystem's product or are a hyperscaler you can migrate to the Debian Linux based TrueNAS SCALE product to have things like kubernetes and glusterfs; these both work on FreeBSD, the first via VM and the second natively, but not CORE. You also get a web interface that is nearly identical to CORE

If you no longer want to use iXsystem's products but want Linux, there are over a dozen Linux based NAS solutions both free and paid to pick.

If you don't want Linux there are only two that I can remember: NexentaStor (Illumos) and napp-it (3 different "Solaris-like" OSes)

If you want to stick with FreeBSD you are left with just the base OS or XigmaNAS. TrueNAS was the biggest BSD based NAS solution by a very wide margin and them leaving to enter a very crowded Linux ecosystem is baffling.

RobTheGob commented 6 months ago

It is not EOL yet but if you want out now...

Are you saying you're expecting future updates to TrueNAS Core? My understanding is that what I'm running is it. That is - there are no more TrueNAS Core updates are coming.

I've been running FreeNAS since about 2006. I've actually got CORE installed in several clients locations as well - but mostly for use as a backup server for ZFS replication and in some cases we just installed FreeBSD... But I've loved how the FreeNAS/TrueNAS system has evolved over the years.

I don't need out now - but unfortunately I chose to start using Jellyfin as a TrueNAS Core jail and can see the end of the road approaching! Jellyfin changed my digital life about 18 months ago - my previous video system was an 18 year old Linux based MythTV PVR! One of my main Jellyfin clients is now displaying a banner about my server version - so it got my attention...

Regardless of whether I can continue to apply future updates to Jellyfin jail - it probably makes sense for me to find a way to migrate as much Jellyfin config as I can and move to a new host platform. The NAS duties can stay on my three TrueNAS CORE systems - but the Jellyfin migration is on my mind.

If I could get 10.9 running in the jail - that would likely give me some time. Hence my interest in this thread.

Thefrank commented 6 months ago

It is not EOL yet but if you want out now...

Are you saying you're expecting future updates to TrueNAS Core? My understanding is that what I'm running is it. That is - there are no more TrueNAS Core updates are coming.

There will be atleast an update this month moving it to 13.3 https://www.truenas.com/blog/truenas-core-13-3-plans/

If I could get 10.9 running in the jail - that would likely give me some time. Hence my interest in this thread.

It will likely require building jellyfin in a TrueNAS 13.1 jail using a dotNET SDK built under TrueNAS 13.1. That would be just the server side, I have no idea how to handle the node-based web component. If there still not a TrueNAS 13.3 release by then end of the month, I will dig into it more.

MoritzSchrenk commented 6 months ago

As julienbenjamin described in the original post, I was able to run 10.9.2 in a 13.3 jail; it's just the daemon that doesn't work, which is obviously inconvenient but you can work around it. I had to move from the package to the port, since the package doesn't go beyond 10.8.13. I did this by uninstalling the package (pkg remove jellyfin), then installing the port - thankfully my database stayed intact. Then I use tmux, start jellyfin, and detach. It's been working fine and should tide me over until truenas core moves to 13.3 and I can hopefully use the daemon again.

Jellyfin port Ports guide tmux guide

And then run this command in tmux and detach, and jellyfin will keep running: /usr/local/jellyfin/jellyfin --datadir /var/db/jellyfin/ --cachedir /var/cache/jellyfin

RobTheGob commented 6 months ago

As julienbenjamin described in the original post, I was able to run 10.9.2 in a 13.3 jail; it's just the daemon that doesn't work, which is obviously inconvenient but you can work around it. I had to move from the package to the port, since the package doesn't go beyond 10.8.13. I did this by uninstalling the package (pkg remove jellyfin), then installing the port - thankfully my database stayed intact. Then I use tmux, start jellyfin, and detach. It's been working fine and should tide me over until truenas core moves to 13.3 and I can hopefully use the daemon again.

Jellyfin port Ports guide tmux guide

And then run this command in tmux and detach, and jellyfin will keep running: /usr/local/jellyfin/jellyfin --datadir /var/db/jellyfin/ --cachedir /var/cache/jellyfin

That’s great - thanks.

The key ingredient that I was missing was the change from pkg to port installation.

RobTheGob commented 6 months ago

Up and running with 10.9.2!

I'll have to continue searching for a long term solution - perhaps building a standalone FreeBSD server and moving my Jellyfin jail there. That might be easier than migrating to a completely new platform.

Thanks again!

Thefrank commented 6 months ago

Up and running with 10.9.2!

Nice!

This should be much easier in future. I am working with the current port maintainer to make jellyfin a full source build instead of just a binary bundle.

ageekhere commented 6 months ago

So do we wait for truenas core 13.3?

Are we able to open the jellyfin jail and do?

remove jellyfin
sudo pkg add /var/cache/pkg/jellyfin-10.8.13.txz
julienbenjamin commented 5 months ago

@abudnick

Another option for running Jellyfin in a 13.3 jail with a 13.1 base system (that I haven't tried for Jellyfin specifically, but I have for a different jail) is noted in the discussion on the TrueNAS forums. Essentially copy the base system's binary for "daemon" from /usr/sbin to the jail's sbin directory. That sounds sketchy and may have downstream impacts when the base system is eventually upgraded, but in my case, on a 13.3 jail I could once again use "daemon" with my base system still on 13.1.

Yup, I saw that, but it sounded really sketchy.

Anyway, in a moment of desperation, I tried it to no avail.

If I have time in the next few days I'll give this a try on my own Jellyfin jail, which sounds like is configured similarly to yours @julienbenjamin. I'll wait until the 10.9.2 binary hits my ports mirror which should hopefully be soon. Jellyfin 10.9 had a bunch of changes that I've been eagerly awaiting so I'd rather not wait until TrueNAS 13.3 if I can help it!

Yes, report back, please.

@MoritzSchrenk

Any idea why I get this error when trying the same? When running the command normally, jellyfin starts fine. Microsoft.Data.Sqlite.SqliteException (0x80004005): SQLite Error 8: 'attempt towrite a readonly database'.

If you cannot write the DB with the jellyfin user, but you can with root, this is definitely a permissions (or an ownership) issue.

@RobTheGob

Ended up figuring out how to use tmux to keep jellyfin running. Good enough for now I think.

I cannot say that running Jellyfin as root is a great idea, though. This is why su -m jellyfin is important, it changes the user, so the service jellyfin runs as the user jellyfin.

@RobTheGob

I'm still running 10.8.13 (in a 13.2-RELEASE-p9 Jail) and at least one of my clients is complaining about the server version. I've not seen a good description of how to move to 10.9 - I'm thinking it might be getting close to the time to migrate to another platform...

You might want to wait a few days for the next release of TrueNAS Core, based on FreeBSD 13.3, which should solve all of this.

Are you saying you're expecting future updates to TrueNAS Core? My understanding is that what I'm running is it. That is - there are no more TrueNAS Core updates are coming.

Yes, look at the link I posted earlier in this thread.

@Thefrank

I am working with the current port maintainer to make jellyfin a full source build instead of just a binary bundle.

This seems nice. If you need help, even if I am way more of a Linux guy that a FreeBSD one, do not hesitate to ping me.

@ageekhere

So do we wait for truenas core 13.3?

Seems like the best choice.

Are we able to open the jellyfin jail and do? remove jellyfin sudo pkg add /var/cache/pkg/jellyfin-10.8.13.txz

You want to downgrade Jellyfin to 10.8.13?

Staying at Jellyfin 10.8.13 is a safe choice, depending on what your clients are, and how they update their client, this is a possibility.

Edit: Sorry for answering this late, it seems TheFrank already answered most if not all of it.

jssilva25 commented 5 months ago

June is gone and no promised 13.3 TrueNas Core update.

It seems to be the confirmation of what I (we?) feared: we are being pushed off FreeBSD.

As I don't know any other feasible alternative, I'm exploring JailMaker in TrueNas Scale :( and it seems to be a reasonable option for jails under Linux. There seems to be some hope that it gets integrated in the UI. For the moment it's all CLI.

rucko24 commented 5 months ago

JailMaker

XigmanNAS my friend, I could tell that it is even less permissive by the console than TrueNAS

https://xigmanas.com/xnaswp/

My current XigmaNAS

image

image

jssilva25 commented 5 months ago

Thank you for taking the time to advise.

My spare (test) server is now running TrueNas Scale, as I said, but I'll give it a try.

rucko24 commented 5 months ago

Thank you for taking the time to advise.

My spare (test) server is now running TrueNas Scale, as I said, but I'll give it a try.

Of course, TrueNAS Ui is the best, but permissive in comparison, I liked it too much too, but now with this change they made I don't know, surely soon they will release a fork to continue with FreeBSD in the background.

I created this post https://rubn0x52.com/2022/04/03/containerizing-jellyfin-in-a-jail/ for my XigmaNAS journery

Thefrank commented 5 months ago

It seems to be the confirmation of what I (we?) feared: we are being pushed off FreeBSD.

Yes. Enterprise has already been moved off AFAIK. They do not offer FreeBSD as a part of enterprise under their compare: https://www.truenas.com/compare/ but do offer it under their general sales pitch https://www.truenas.com/truenas-enterprise/

As I don't know any other feasible alternative, I'm exploring JailMaker in TrueNas Scale :( and it seems to be a reasonable option for jails under Linux. There seems to be some hope that it gets integrated in the UI. For the moment it's all CLI.

iocage has been closed out, all issues marked as resolved (!), and all PRs closed. If you want to continue to use iocage you can use the version that has been migrated to base FreeBSD: it even includes five years of unpublished fixes! It does require using base FreeBSD.

As mentioned, there is XigmaNAS if you want a Web-UI. If you are OK working with console or text-ui you can move to base FreeBSD. If you want to migrate your jails in FreeBSD with the fewest hassles I HIGHLY suggest using bastille as it can import jails from iocage. It even has templates! There is always CBSD if you want a very hands-on approach.

jssilva25 commented 5 months ago

@Thefrank Thank you for your comments.

But I see you didn't comment the option I'm investigating now, which is using JailMaker to build jails inside Scale based on systemd-nspawn, would you care to elaborate?

I know it's not FreeBSD and I was one of the opponents to systemd takeover many years ago. Is there a connection?

mvanbaak commented 5 months ago

But I see you didn't comment the option I'm investigating now, which is using JailMaker to build jails inside Scale based on systemd-nspawn, would you care to elaborate?

it's simply a totally different thing. OS is different, the way of installing and running things is different, everything

nx6 commented 5 months ago

June is gone and no promised 13.3 TrueNas Core update.

It's just IX being overly-optimistic with their ship dates. Not the first time.

As I don't know any other feasible alternative, I'm exploring JailMaker in TrueNas Scale :( and it seems to be a reasonable option for jails under Linux. There seems to be some hope that it gets integrated in the UI. For the moment it's all CLI.

You could transfer your setup to a Linux VM on Core for now (that's actually what I was doing originally), and the VM will be converted and transferred automatically when you move to Scale, and then you can move it to something native at that point. I'm not considering moving to Scale, if I do stay on TrueNAS, before Electric Eel ships.

jssilva25 commented 5 months ago

You could transfer your setup to a Linux VM on Core for now

Thank you for the suggestion but, while I stay on Core, I don't think I need to change my jails from iocage to a resource hungry VM. I'm very happy with iocage, my only problem is not being able to upgrade jellyfin, as much discussed up on this thread.

But I agree with you, if I move to Scale at all, it won't be before Electric Eel with JailMaker or similar in the UI.

nx6 commented 5 months ago

I'm very happy with iocage, my only problem is not being able to upgrade jellyfin, as much discussed up on this thread.

Yeah, there are audio/subtitle fixes in the 10.9.x release I'd like to take advantage of, but not quite enough to go through moving things. The Jellyfin Media Player app for PC is already requiring 10.9 now (last version for 10.8 server branch is 1.9.1). I'm just gonna stay on server 10,8.13 until TrueNAS Core 13.3 comes out, and hope the Android TV app stays compatible with it until then.

Thefrank commented 5 months ago

But I see you didn't comment the option I'm investigating now, which is using JailMaker to build jails inside Scale based on systemd-nspawn, would you care to elaborate?

I know it's not FreeBSD and I was one of the opponents to systemd takeover many years ago. Is there a connection?

@jssilva25 I can not give help on something that I have not used. It also falls outside even general support for FreeBSD port of jellyfin :)

jssilva25 commented 5 months ago

I just upgraded to TrueNAS-13.0-U6.2, not 13.3 yet, unfortunately.

Did anybody already tried to install JellyFin 10.9.4 on this?

I wouldn't like to try it, just to have the trouble to revert the snapshot.

ageekhere commented 5 months ago

tested jellyfin 10.9.4 and it does not work on 13.0-U6.2, have to wait for the 13.3 update

gruffatremi commented 4 months ago

Jellyfin is now 10.9.6 and it's still not working on 13.0-U6.2, is there a way to install older versions?

At least the command : /usr/local/jellyfin/jellyfin --datadir /var/db/jellyfin/ --cachedir /var/cache/jellyfin works for me and I can access the web page

I added to the crontab the command at boot

@reboot /usr/local/jellyfin/jellyfin --datadir /var/db/jellyfin/ --cachedir /var/cache/jellyfin

It's work like a charm 👍

nx6 commented 3 months ago

So we should be getting TrueNAS Core 13.3 released this week. Will be seeing if that allows me to update and run Jellyfin 10.9.x

Has anyone who has used the 10.9 server also tried the Android client? When I launch the currently-available one I get a message that it requires server 10.9.8 at least, but the current port is 10.9.6, so it looks like even once I update (after the TrueNAS 13.3 release) I will have to sideload an older Android TV client to be back up and working.

RobTheGob commented 3 months ago

So we should be getting TrueNAS Core 13.3 released this week. Will be seeing if that allows me to update and run Jellyfin 10.9.x

Has anyone who has used the 10.9 server also tried the Android client? When I launch the currently-available one I get a message that it requires server 10.9.8 at least, but the current port is 10.9.6, so it looks like even once I update (after the TrueNAS 13.3 release) I will have to sideload an older Android TV client to be back up and working.

I'm running the most recent (2.6.2) Android client on a 10.9.2 server with no issues.

nx6 commented 3 months ago

I'm running the most recent (2.6.2) Android client on a 10.9.2 server with no issues.

Sorry, I meant Android TV. Most recent version is 0.17.3.

RobTheGob commented 3 months ago

Sorry, I meant Android TV. Most recent version is 0.17.3.

I'm running "jellyfin-androidtv 0.17.3" on my Firestick 4k Max (connecting to my 10.9.2 server), with no issues.

nx6 commented 3 months ago

I'm running "jellyfin-androidtv 0.17.3" on my Firestick 4k Max (connecting to my 10.9.2 server), with no issues.

Okay. cool. Thanks. That's exactly what I'm doing (same device) and the error message seems to be tied to the current release for some reason (?), it now says to "Please update to Jellyfin 10.9.9 or newer" when I check now.

gokmen-korkmaz commented 3 months ago

I successfully installed Jellyfin 10.9.6 by following these steps:

**Step1: iocage create -r 13.1-RELEASE -n your_jail_name (on the trunas shell)
Step2 : Configure the jail network settings (on the webui from jails->your_jail_name->edit)
Step3: Start the jail and enter its console. (jail's shell)
Step4: pkg update (jail shell)
Step5: pkg install jellyfin-10.9.6 (jail shell)
Step6: service jellyfin enable (jail shell)
Step7: service jellyfin start (jail shell)**

After these steps, it worked without issues. However, I received the following warning after installation, but it still functions: Message from jellyfin-10.9.6:

-- jellyfin relies on Microsoft dotNET5+ SDK to be built Microsoft does not have an official version of dotNET for FreeBSD

This package was built with an UNOFFICIAL UNSUPPORTED version of dotNET If this is something that you do not want, remove this package with "pkg remove jellyfin"

This package installs a service file. Enable it with "service jellyfin enable" Start it with "service jellyfin start".

The service file uses daemon to restart jellyfin if it crashes. The service file will also change the permissions so that the updater works. If this behavior is unwanted you will need to edit the RC file manually and remove the daemon and/or the permissions changes. 2024-08-21_21-19-20

cobaltduff commented 3 months ago

Hello, I have jellyfin 10.9.6 installed on truenas core 13.3-RELEASE and jail 13.3 and it works perfectly. How can I update to version 10.9.9? Thank you very much for your work.

Thefrank commented 3 months ago

The newest release for Jellyfin, and binary released here, is v10.9.10. I do do not publish a pkg so you don't have an easy way to move from 10.9.6 -> 10.9.10. I have also updated the ports files so people with tools like poudriere can easily build and make their own pkg. The updated ports files likely have a few extra/unneeded NuGet files listed as I did not have the time to ensure the minimum version number of everything.

nx6 commented 3 months ago

How can I update to version 10.9.9? Thank you very much for your work.

If you installed it via pkg you'll need the person who is maintaining the port to update to the current version. That person is not Thefrank.

rucko24 commented 3 months ago

How can I update to version 10.9.9? Thank you very much for your work.

If you installed it via pkg you'll need the person who is maintaining the port to update to the current version. That person is not Thefrank.

Yeah, that's rigth

There are a couple of developers who update the port when they can but, it's really a bit boring that part.

nx6 commented 3 months ago

I keep checking occasionally for an update as I have had a memory leak issue ever since I updated from 10.8.13 to 10.9.6.

Thefrank commented 3 months ago

I keep checking occasionally for an update as I have had a memory leak issue ever since I updated from 10.8.13 to 10.9.6.

Can you open an issue here about the memory leak? This is the first time I have heard about it and would like to look into it.

rucko24 commented 3 months ago

I keep checking occasionally for an update as I have had a memory leak issue ever since I updated from 10.8.13 to 10.9.6.

Can you open an issue here about the memory leak? This is the first time I have heard about it and would like to look into it.

perhaps it refers to an old CVE ?

https://www.cvedetails.com/vulnerability-list/vendor_id-22884/product_id-81332/Jellyfin-Jellyfin.html