immich-public-proxy: init at 1.5.4

This commit is contained in:
Tim Van Baak
2024-12-29 19:42:47 -08:00
parent 6047878f5b
commit 6a64387ced
@@ -0,0 +1,46 @@
{
lib,
buildNpmPackage,
fetchFromGitHub,
nix-update-script,
nodejs,
}:
buildNpmPackage rec {
pname = "immich-public-proxy";
version = "1.5.4";
src = fetchFromGitHub {
owner = "alangrainger";
repo = "immich-public-proxy";
rev = "v${version}";
hash = "sha256-GoAUR8s2tRHpXD/yk42u6DDvkI97XAUlF9Zsq8pb/1M=";
};
sourceRoot = "${src.name}/app";
npmDepsHash = "sha256-BN7g+31ijH8r9rsv5zzjnE8PT7ozAswoyZNJ0XqXGyw=";
# patch in absolute nix store paths so the process doesn't need to cwd in $out
postPatch = ''
substituteInPlace src/index.ts --replace-fail \
"const app = express()" \
"const app = express()
// Set the views path to the nix output
app.set('views', '$out/lib/node_modules/immich-public-proxy/views')" \
--replace-fail \
"static('public'" \
"static('$out/lib/node_modules/immich-public-proxy/public'"
'';
passthru = {
updateScript = nix-update-script { };
};
meta = {
description = "Share your Immich photos and albums in a safe way without exposing your Immich instance to the public";
homepage = "https://github.com/alangrainger/immich-public-proxy";
license = lib.licenses.agpl3Only;
maintainers = with lib.maintainers; [ jaculabilis ];
inherit (nodejs.meta) platforms;
mainProgram = "immich-public-proxy";
};
}