diff --git a/nixos/modules/services/web-apps/immich.nix b/nixos/modules/services/web-apps/immich.nix index c1a30c6ff2b3..a8a222974fdc 100644 --- a/nixos/modules/services/web-apps/immich.nix +++ b/nixos/modules/services/web-apps/immich.nix @@ -91,7 +91,7 @@ in }; port = mkOption { type = types.port; - default = 3001; + default = 2283; description = "The port that immich will listen on."; }; openFirewall = mkOption { diff --git a/nixos/tests/web-apps/immich.nix b/nixos/tests/web-apps/immich.nix index f03b9290f7a5..8004afd93c05 100644 --- a/nixos/tests/web-apps/immich.nix +++ b/nixos/tests/web-apps/immich.nix @@ -26,24 +26,24 @@ import ../make-test-python.nix ( machine.wait_for_unit("immich-server.service") - machine.wait_for_open_port(3001) # Server + machine.wait_for_open_port(2283) # Server machine.wait_for_open_port(3003) # Machine learning - machine.succeed("curl --fail http://localhost:3001/") + 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:3001/api/auth/admin-sign-up + 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 """) res = machine.succeed(""" - curl -H 'Content-Type: application/json' --data '{ "email": "test@example.com", "password": "admin" }' -X POST http://localhost:3001/api/auth/login + curl -H 'Content-Type: application/json' --data '{ "email": "test@example.com", "password": "admin" }' -X POST 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:3001/api/api-keys + 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 """ % token) key = json.loads(res)['secret'] - machine.succeed(f"immich login http://localhost:3001/api {key}") + machine.succeed(f"immich login http://localhost:2283/api {key}") res = machine.succeed("immich server-info") print(res) ''; diff --git a/pkgs/by-name/im/immich-machine-learning/package.nix b/pkgs/by-name/im/immich-machine-learning/package.nix index 94cc69f50ed1..1029055a3b0f 100644 --- a/pkgs/by-name/im/immich-machine-learning/package.nix +++ b/pkgs/by-name/im/immich-machine-learning/package.nix @@ -8,27 +8,6 @@ let python = python3.override { self = python; - - packageOverrides = self: super: { - pydantic = super.pydantic_1; - - versioningit = super.versioningit.overridePythonAttrs (_: { - doCheck = false; - }); - - albumentations = super.albumentations.overridePythonAttrs (old: rec { - version = "1.4.3"; - src = fetchFromGitHub { - owner = "albumentations-team"; - repo = "albumentations"; - rev = version; - hash = "sha256-JIBwjYaUP4Sc1bVM/zlj45cz9OWpb/LOBsIqk1m+sQA="; - }; - dependencies = old.dependencies ++ [ - self.scikit-learn - ]; - }); - }; }; in python.pkgs.buildPythonApplication rec { @@ -44,7 +23,10 @@ python.pkgs.buildPythonApplication rec { substituteInPlace app/test_main.py --replace-fail ": cv2.Mat" "" ''; - pythonRelaxDeps = [ "setuptools" ]; + pythonRelaxDeps = [ + "pydantic-settings" + "setuptools" + ]; pythonRemoveDeps = [ "opencv-python-headless" ]; build-system = with python.pkgs; [ @@ -60,6 +42,8 @@ python.pkgs.buildPythonApplication rec { pillow fastapi uvicorn + pydantic + pydantic-settings aiocache rich ftfy @@ -69,7 +53,6 @@ python.pkgs.buildPythonApplication rec { gunicorn huggingface-hub tokenizers - pydantic ] ++ uvicorn.optional-dependencies.standard; diff --git a/pkgs/by-name/im/immich/package.nix b/pkgs/by-name/im/immich/package.nix index fe62f0ddc354..fcbfb2607f02 100644 --- a/pkgs/by-name/im/immich/package.nix +++ b/pkgs/by-name/im/immich/package.nix @@ -225,7 +225,12 @@ buildNpmPackage' { description = "Self-hosted photo and video backup solution"; homepage = "https://immich.app/"; license = lib.licenses.agpl3Only; - maintainers = with lib.maintainers; [ jvanbruegge ]; + maintainers = with lib.maintainers; [ + dotlambda + jvanbruegge + Scrumplex + titaniumtown + ]; platforms = lib.platforms.linux; mainProgram = "server"; }; diff --git a/pkgs/by-name/im/immich/sources.json b/pkgs/by-name/im/immich/sources.json index 28fa298d1a66..fb2e715428b3 100644 --- a/pkgs/by-name/im/immich/sources.json +++ b/pkgs/by-name/im/immich/sources.json @@ -1,22 +1,22 @@ { - "version": "1.117.0", - "hash": "sha256-v4TxKL+NaaAFxlJx/AG/5JxWnPK9uO6GjM4aoW53nzQ=", + "version": "1.118.1", + "hash": "sha256-rWBW0EwehuWnKk6qEte+dPd9l7FbLzwdkCSKMm22Orw=", "components": { "cli": { - "npmDepsHash": "sha256-ARjrBHx4aOiNy2PbHWS7kP9Z8QiNyTeyImSxIsXwPnU=", - "version": "2.2.23" + "npmDepsHash": "sha256-0je82BtDH6cUzoMrmeIS0jLmWPbmkdIQJ/SnmbAMtbw=", + "version": "2.2.25" }, "server": { - "npmDepsHash": "sha256-RjaTRqfZpDhI8lMVvsgICUn8g4NFnqcPptem/AwRr38=", - "version": "1.117.0" + "npmDepsHash": "sha256-Jxb47Y4x9A6s4zGODIp6rze7iQ/w8Gvt31NHSATLYCM=", + "version": "1.118.1" }, "web": { - "npmDepsHash": "sha256-TZnpbLJbTNFwI2Kvng88z0T1jFf4Tj2xwR0X0wCLaD0=", - "version": "1.117.0" + "npmDepsHash": "sha256-BUgkdsC6raURkyy6eN31uCMKmBbL+fCbGabfHJgJn8g=", + "version": "1.118.1" }, "open-api/typescript-sdk": { - "npmDepsHash": "sha256-G+iivJ0jibRCw/RChv5heVwY7c7oY/EG4bL+kpjoADQ=", - "version": "1.117.0" + "npmDepsHash": "sha256-Ga/aU5hojd3SgtoiM5QLsmzS5k7CRvh13a4lkC0BZA8=", + "version": "1.118.1" } } }