Unverified Commit 06be8564 authored by Robert Schütz's avatar Robert Schütz Committed by GitHub
Browse files

immich: 1.119.1 -> 1.120.1 (#354083)

parents 6648da3d a329ca6a
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -116,7 +116,7 @@ in
      description = ''
        Configuration for Immich.
        See <https://immich.app/docs/install/config-file/> or navigate to
        <https://your-immich-domain/admin/system-settings> for
        <https://my.immich.app/admin/system-settings> for
        options and defaults.
        Setting it to `null` allows configuring Immich in the web interface.
      '';
@@ -270,7 +270,7 @@ in
      let
        postgresEnv =
          if isPostgresUnixSocket then
            { DB_URL = "socket://${cfg.database.host}?dbname=${cfg.database.name}"; }
            { DB_URL = "postgresql:///${cfg.database.name}?host=${cfg.database.host}"; }
          else
            {
              DB_HOSTNAME = cfg.database.host;
@@ -317,6 +317,11 @@ in
      after = [ "network.target" ];
      wantedBy = [ "multi-user.target" ];
      inherit (cfg) environment;
      path = [
        # gzip and pg_dumpall are used by the backup service
        pkgs.gzip
        config.services.postgresql.package
      ];

      serviceConfig = commonServiceConfig // {
        ExecStart = lib.getExe cfg.package;
+12 −3
Original line number Diff line number Diff line
@@ -31,21 +31,30 @@ import ../make-test-python.nix (
      machine.succeed("curl --fail http://localhost:2283/")

      machine.succeed("""
        curl -H 'Content-Type: application/json' --data '{ "email": "test@example.com", "name": "Admin", "password": "admin" }' -X POST http://localhost:2283/api/auth/admin-sign-up
        curl -f --json '{ "email": "test@example.com", "name": "Admin", "password": "admin" }' http://localhost:2283/api/auth/admin-sign-up
      """)
      res = machine.succeed("""
        curl -H 'Content-Type: application/json' --data '{ "email": "test@example.com", "password": "admin" }' -X POST http://localhost:2283/api/auth/login
        curl -f --json '{ "email": "test@example.com", "password": "admin" }' http://localhost:2283/api/auth/login
      """)
      token = json.loads(res)['accessToken']

      res = machine.succeed("""
        curl -H 'Content-Type: application/json' -H 'Cookie: immich_access_token=%s' --data '{ "name": "API Key", "permissions": ["all"] }' -X POST http://localhost:2283/api/api-keys
        curl -f -H 'Cookie: immich_access_token=%s' --json '{ "name": "API Key", "permissions": ["all"] }' http://localhost:2283/api/api-keys
      """ % token)
      key = json.loads(res)['secret']

      machine.succeed(f"immich login http://localhost:2283/api {key}")
      res = machine.succeed("immich server-info")
      print(res)

      machine.succeed("""
        curl -f -X PUT -H 'Cookie: immich_access_token=%s' --json '{ "command": "start" }' http://localhost:2283/api/jobs/backupDatabase
      """ % token)
      res = machine.succeed("""
        curl -f -H 'Cookie: immich_access_token=%s' http://localhost:2283/api/jobs
      """ % token)
      assert json.loads(res)["backupDatabase"]["jobCounts"]["active"] == 1
      machine.wait_until_succeeds("ls /var/lib/immich/backups/*.sql.gz")
    '';
  }
)
+17 −4
Original line number Diff line number Diff line
@@ -3,6 +3,7 @@
  stdenvNoCC,
  buildNpmPackage,
  fetchFromGitHub,
  fetchpatch2,
  python3,
  nodejs,
  node-gyp,
@@ -17,12 +18,12 @@
  cacert,
  unzip,
  # runtime deps
  exiftool,
  jellyfin-ffmpeg, # Immich depends on the jellyfin customizations, see https://github.com/NixOS/nixpkgs/issues/351943
  imagemagick,
  libraw,
  libheif,
  vips,
  perl,
}:
let
  buildNpmPackage' = buildNpmPackage.override { inherit nodejs; };
@@ -146,6 +147,13 @@ buildNpmPackage' {
  src = "${src}/server";
  inherit (sources.components.server) npmDepsHash;

  postPatch = ''
    # pg_dumpall fails without database root access
    # see https://github.com/immich-app/immich/issues/13971
    substituteInPlace src/services/backup.service.ts \
      --replace-fail '`pg_dumpall`' '`pg_dump`'
  '';

  nativeBuildInputs = [
    pkg-config
    python3
@@ -166,7 +174,7 @@ buildNpmPackage' {
  makeCacheWritable = true;

  preBuild = ''
    cd node_modules/sharp
    pushd node_modules/sharp

    mkdir node_modules
    ln -s ${node-addon-api} node_modules/node-addon-api
@@ -175,8 +183,13 @@ buildNpmPackage' {

    rm -r node_modules

    cd ../..
    popd
    rm -r node_modules/@img/sharp*

    # If exiftool-vendored.pl isn't found, exiftool is searched for on the PATH
    rm -r node_modules/exiftool-vendored.*
    substituteInPlace node_modules/exiftool-vendored/dist/DefaultExifToolOptions.js \
      --replace-fail "checkPerl: !(0, IsWin32_1.isWin32)()," "checkPerl: false,"
  '';

  installPhase = ''
@@ -197,7 +210,7 @@ buildNpmPackage' {
      --set IMMICH_BUILD_DATA $out/build --set NODE_ENV production \
      --suffix PATH : "${
        lib.makeBinPath [
          perl
          exiftool
          jellyfin-ffmpeg
        ]
      }"
+10 −10
Original line number Diff line number Diff line
{
  "version": "1.119.1",
  "hash": "sha256-T+bIL2LaVNgFT3xBUxiEzhyDiLpw/WU7mxttuJD39SQ=",
  "version": "1.120.1",
  "hash": "sha256-FKPs6BHOXmqnHh2yH+PPBFQoK5ykP716dNvES/45t4g=",
  "components": {
    "cli": {
      "npmDepsHash": "sha256-kTBlo6eIPswZC0GQG7IoqQZ5b7wPEXFaD/SuuaEQMEg=",
      "version": "2.2.28"
      "npmDepsHash": "sha256-5JmcDjLAVXhF3TH0M88dKLYPDsSctcOGPz9nV1n3k9c=",
      "version": "2.2.30"
    },
    "server": {
      "npmDepsHash": "sha256-zgzqh3TyafPKuk5RZ2I/haYFzMVlI4jGnwD5XLqTBdg=",
      "version": "1.119.1"
      "npmDepsHash": "sha256-u2ZQv+z8uyn7z52V+7hNRWgnHVm4xMdhjspPqsLHYek=",
      "version": "1.120.1"
    },
    "web": {
      "npmDepsHash": "sha256-LPtsMzF7yYGrrpDoYoba6OQphKY7AvGbJpPc5pS4eFU=",
      "version": "1.119.1"
      "npmDepsHash": "sha256-EAFUOhcmE1TfUBN0uxzuNkHibdaDRn8Lxvma70UJqDE=",
      "version": "1.120.1"
    },
    "open-api/typescript-sdk": {
      "npmDepsHash": "sha256-dyKmDez8jO6p+cmSa2KMe9zzhXn4on3aFUMdep+gjzU=",
      "version": "1.119.1"
      "npmDepsHash": "sha256-AJcK5NE+ZNAK2FJblY32jtYxY0Z9npH92A3htcPes4A=",
      "version": "1.120.1"
    }
  }
}