immich: fix thumbnail generation for raw photos (#451048)

This commit is contained in:
dotlambda
2025-10-14 16:00:06 +00:00
committed by GitHub
2 changed files with 20 additions and 1 deletions

View File

@@ -27,6 +27,12 @@
notifications.smtp.transport.password = "/etc/shadow";
};
};
# licensed under CC0 1.0: https://github.com/NixOS/nixpkgs/issues/450972#issuecomment-3393545531
environment.etc.photos.source = pkgs.fetchzip {
url = "https://github.com/user-attachments/files/22865871/IMGP5923.zip";
hash = "sha256-ux0IG1qCB1s8GKsZp9R0rvwEZxeXm5FnuS9kYstKVmo=";
};
};
testScript = ''
@@ -57,6 +63,13 @@
res = machine.succeed("immich server-info")
print(res)
with subtest("Test thumbnail generation from PEF format"):
res = machine.succeed("immich upload --json-output /etc/photos/IMGP5923.PEF | tail -n +4")
asset_id = json.loads(res)["newAssets"][0]["id"]
machine.wait_until_succeeds(f"""
curl -fI -X GET -H 'Cookie: immich_access_token={token}' http://localhost:2283/api/assets/{asset_id}/thumbnail
""")
machine.succeed("""
curl -f -X PUT -H 'Cookie: immich_access_token=%s' --json '{ "command": "start" }' http://localhost:2283/api/jobs/backupDatabase
""" % token)

View File

@@ -146,6 +146,12 @@ let
runHook postInstall
'';
};
# Without this thumbnail generation for raw photos fails with
# Error: Input file has corrupt header: tiff2vips: samples_per_pixel not a whole number of bytes
vips' = vips.overrideAttrs (prev: {
mesonFlags = prev.mesonFlags ++ [ "-Dtiff=disabled" ];
});
in
stdenv.mkDerivation {
pname = "immich";
@@ -182,7 +188,7 @@ stdenv.mkDerivation {
pango
pixman
# Required for sharp
vips
vips'
];
env.SHARP_FORCE_GLOBAL_LIBVIPS = 1;