jellyfin: 10.10.7 -> 10.11.0

adapt the test due to slower start and small API change
This commit is contained in:
Minijackson
2025-10-20 09:54:16 +02:00
parent 42c0808347
commit 4957a9976f
4 changed files with 376 additions and 271 deletions

View File

@@ -271,6 +271,10 @@
- `searx` was updated to use `envsubst` instead of `sed` for parsing secrets from environment variables.
If your previous configuration included a secret reference like `server.secret_key = "@SEARX_SECRET_KEY@"`, you must migrate to the new envsubst syntax: `server.secret_key = "$SEARX_SECRET_KEY"`.
- `jellyfin` was updated to `10.11.x`, which includes heavy backend changes.
Make sure to backup your data and configuration directories
and read the [Jellyfin 10.11.0 release announcement](https://jellyfin.org/posts/jellyfin-release-10.11.0/).
- A new hardening flag, `glibcxxassertions` was made available, corresponding to the glibc `_GLIBCXX_ASSERTIONS` option.
- `versionCheckHook`: Packages that previously relied solely on `pname` to locate the program used to version check, but have a differing `meta.mainProgram` entry, might now fail.

View File

@@ -4,11 +4,11 @@
name = "jellyfin";
meta.maintainers = with lib.maintainers; [ minijackson ];
nodes.machine =
{ ... }:
{
nodes.machine = {
services.jellyfin.enable = true;
environment.systemPackages = with pkgs; [ ffmpeg ];
# Jellyfin fails to start if the data dir doesn't have at least 2GiB of free space
virtualisation.diskSize = 3 * 1024;
};
# Documentation of the Jellyfin API: https://api.jellyfin.org/
@@ -30,6 +30,7 @@
machine.wait_for_unit("jellyfin.service")
machine.wait_for_open_port(8096)
machine.wait_until_succeeds("journalctl --since -1m --unit jellyfin --grep 'Startup complete'")
machine.succeed("curl --fail http://localhost:8096/")
machine.wait_until_succeeds("curl --fail http://localhost:8096/health | grep Healthy")
@@ -105,7 +106,7 @@
folders_str = machine.succeed(api_get("/Library/VirtualFolders"))
folders = json.loads(folders_str)
print(folders)
return all(folder["RefreshStatus"] == "Idle" for folder in folders)
return all(folder.get("RefreshStatus") == "Idle" for folder in folders)
retry(is_refreshed)

File diff suppressed because it is too large Load Diff

View File

@@ -13,13 +13,13 @@
buildDotnetModule rec {
pname = "jellyfin";
version = "10.10.7"; # ensure that jellyfin-web has matching version
version = "10.11.0"; # ensure that jellyfin-web has matching version
src = fetchFromGitHub {
owner = "jellyfin";
repo = "jellyfin";
rev = "v${version}";
hash = "sha256-GWpzX8DvCafHb5V9it0ZPTXKm+NbLS7Oepe/CcMiFuI=";
hash = "sha256-8kvN2ZugmjjgSMepDdP9tc48362b6w+RpIsp/IXaivM=";
};
propagatedBuildInputs = [ sqlite ];
@@ -32,8 +32,8 @@ buildDotnetModule rec {
fontconfig
freetype
];
dotnet-sdk = dotnetCorePackages.sdk_8_0;
dotnet-runtime = dotnetCorePackages.aspnetcore_8_0;
dotnet-sdk = dotnetCorePackages.sdk_9_0;
dotnet-runtime = dotnetCorePackages.aspnetcore_9_0;
dotnetBuildFlags = [ "--no-self-contained" ];
makeWrapperArgs = [