immich: 1.119.0 -> 1.119.1 (#352155)

authored by

Robert Schütz and committed by
GitHub
95447fbb c7286443

+66 -20
+42
nixos/modules/services/web-apps/immich.nix
··· 6 6 }: 7 7 let 8 8 cfg = config.services.immich; 9 + format = pkgs.formats.json { }; 9 10 isPostgresUnixSocket = lib.hasPrefix "/" cfg.database.host; 10 11 isRedisUnixSocket = lib.hasPrefix "/" cfg.redis.host; 11 12 ··· 110 111 description = "The group immich should run as."; 111 112 }; 112 113 114 + settings = mkOption { 115 + default = null; 116 + description = '' 117 + Configuration for Immich. 118 + See <https://immich.app/docs/install/config-file/> or navigate to 119 + <https://your-immich-domain/admin/system-settings> for 120 + options and defaults. 121 + Setting it to `null` allows configuring Immich in the web interface. 122 + ''; 123 + type = types.nullOr ( 124 + types.submodule { 125 + freeformType = format.type; 126 + options = { 127 + newVersionCheck.enabled = mkOption { 128 + type = types.bool; 129 + default = false; 130 + description = '' 131 + Check for new versions. 132 + This feature relies on periodic communication with github.com. 133 + ''; 134 + }; 135 + server.externalDomain = mkOption { 136 + type = types.str; 137 + default = ""; 138 + description = "Domain for publicly shared links, including `http(s)://`."; 139 + }; 140 + }; 141 + } 142 + ); 143 + }; 144 + 113 145 machine-learning = { 114 146 enable = 115 147 mkEnableOption "immich's machine-learning functionality to detect faces and search for objects" ··· 262 294 IMMICH_PORT = toString cfg.port; 263 295 IMMICH_MEDIA_LOCATION = cfg.mediaLocation; 264 296 IMMICH_MACHINE_LEARNING_URL = "http://localhost:3003"; 297 + } 298 + // lib.optionalAttrs (cfg.settings != null) { 299 + IMMICH_CONFIG_FILE = "${format.generate "immich.json" cfg.settings}"; 265 300 }; 266 301 267 302 services.immich.machine-learning.environment = { ··· 272 307 IMMICH_PORT = "3003"; 273 308 }; 274 309 310 + systemd.slices.system-immich = { 311 + description = "Immich (self-hosted photo and video backup solution) slice"; 312 + documentation = [ "https://immich.app/docs" ]; 313 + }; 314 + 275 315 systemd.services.immich-server = { 276 316 description = "Immich backend server (Self-hosted photo and video backup solution)"; 277 317 after = [ "network.target" ]; ··· 281 321 serviceConfig = commonServiceConfig // { 282 322 ExecStart = lib.getExe cfg.package; 283 323 EnvironmentFile = mkIf (cfg.secretsFile != null) cfg.secretsFile; 324 + Slice = "system-immich.slice"; 284 325 StateDirectory = "immich"; 285 326 SyslogIdentifier = "immich"; 286 327 RuntimeDirectory = "immich"; ··· 300 341 inherit (cfg.machine-learning) environment; 301 342 serviceConfig = commonServiceConfig // { 302 343 ExecStart = lib.getExe (cfg.package.machine-learning.override { immich = cfg.package; }); 344 + Slice = "system-immich.slice"; 303 345 CacheDirectory = "immich"; 304 346 User = cfg.user; 305 347 Group = cfg.group;
-5
pkgs/by-name/im/immich-machine-learning/package.nix
··· 28 28 "pydantic-settings" 29 29 ]; 30 30 31 - pythonRemoveDeps = [ 32 - # https://github.com/immich-app/immich/pull/13762 33 - "setuptools" 34 - ]; 35 - 36 31 build-system = with python.pkgs; [ 37 32 poetry-core 38 33 cython
+10 -10
pkgs/by-name/im/immich/sources.json
··· 1 1 { 2 - "version": "1.119.0", 3 - "hash": "sha256-mflVxz+Pxv7xS4onsjRQ1lMZ43U/rkuqO6vPRon7Gms=", 2 + "version": "1.119.1", 3 + "hash": "sha256-T+bIL2LaVNgFT3xBUxiEzhyDiLpw/WU7mxttuJD39SQ=", 4 4 "components": { 5 5 "cli": { 6 - "npmDepsHash": "sha256-QClG/WQK2MbVKuR0Wk9+TdSTAbemtFeg7GkKjvEjC4c=", 7 - "version": "2.2.27" 6 + "npmDepsHash": "sha256-kTBlo6eIPswZC0GQG7IoqQZ5b7wPEXFaD/SuuaEQMEg=", 7 + "version": "2.2.28" 8 8 }, 9 9 "server": { 10 - "npmDepsHash": "sha256-9mMnOiKsTTO4PJUKYN668yjIELeFUgdqSx6Gf87UYVU=", 11 - "version": "1.119.0" 10 + "npmDepsHash": "sha256-zgzqh3TyafPKuk5RZ2I/haYFzMVlI4jGnwD5XLqTBdg=", 11 + "version": "1.119.1" 12 12 }, 13 13 "web": { 14 - "npmDepsHash": "sha256-ieTGMywR26msYqmQOK/q/l3O6/Vkmu0TLFn956kK/xE=", 15 - "version": "1.119.0" 14 + "npmDepsHash": "sha256-LPtsMzF7yYGrrpDoYoba6OQphKY7AvGbJpPc5pS4eFU=", 15 + "version": "1.119.1" 16 16 }, 17 17 "open-api/typescript-sdk": { 18 - "npmDepsHash": "sha256-NLvuHTVWuzv5G0ONu3S3K8AgyliTZowYQN0fzYhWtUQ=", 19 - "version": "1.119.0" 18 + "npmDepsHash": "sha256-dyKmDez8jO6p+cmSa2KMe9zzhXn4on3aFUMdep+gjzU=", 19 + "version": "1.119.1" 20 20 } 21 21 } 22 22 }
+2
pkgs/development/python-modules/insightface/default.nix
··· 7 7 fetchPypi, 8 8 insightface, 9 9 matplotlib, 10 + mxnet, 10 11 numpy, 11 12 onnx, 12 13 onnxruntime, ··· 45 46 albumentations 46 47 easydict 47 48 matplotlib 49 + mxnet # used in insightface/commands/rec_add_mask_param.py 48 50 numpy 49 51 onnx 50 52 onnxruntime
+12 -5
pkgs/development/python-modules/mxnet/default.nix
··· 2 2 lib, 3 3 buildPythonPackage, 4 4 pkgs, 5 + setuptools, 6 + distutils, 5 7 requests, 6 8 numpy, 7 9 graphviz, ··· 12 14 13 15 buildPythonPackage { 14 16 inherit (pkgs.mxnet) pname version src; 17 + pyproject = true; 15 18 16 - format = "setuptools"; 19 + build-system = [ setuptools ]; 17 20 18 21 buildInputs = [ pkgs.mxnet ]; 19 - propagatedBuildInputs = [ 22 + 23 + dependencies = [ 24 + distutils 20 25 requests 21 26 numpy 22 27 graphviz 23 28 ]; 24 29 30 + pythonRelaxDeps = [ 31 + "graphviz" 32 + ]; 33 + 25 34 LD_LIBRARY_PATH = lib.makeLibraryPath [ pkgs.mxnet ]; 26 35 27 36 doCheck = !isPy3k; ··· 29 38 postPatch = '' 30 39 # Required to support numpy >=1.24 where np.bool is removed in favor of just bool 31 40 substituteInPlace python/mxnet/numpy/utils.py \ 32 - --replace "bool = onp.bool" "bool = bool" 33 - substituteInPlace python/setup.py \ 34 - --replace "graphviz<0.9.0," "graphviz" 41 + --replace-fail "bool = onp.bool" "bool = bool" 35 42 ''; 36 43 37 44 preConfigure = ''