From 83a3d54cf749bb4d3650d69ed36fb6f44997a568 Mon Sep 17 00:00:00 2001 From: ibizaman Date: Thu, 9 Jan 2025 00:51:03 +0100 Subject: [PATCH] add recognize nextcloud app --- docs/redirects.json | 18 +++++++++++ modules/services/nextcloud-server.nix | 44 +++++++++++++++++++++++++-- 2 files changed, 59 insertions(+), 3 deletions(-) diff --git a/docs/redirects.json b/docs/redirects.json index 8c7b54d..729bd65 100644 --- a/docs/redirects.json +++ b/docs/redirects.json @@ -1361,6 +1361,24 @@ "services-nextcloudserver-options-shb.nextcloud.apps.ldap.userGroup": [ "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.apps.ldap.userGroup" ], + "services-nextcloudserver-options-shb.nextcloud.apps.memories": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.apps.memories" + ], + "services-nextcloudserver-options-shb.nextcloud.apps.memories.vaapi": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.apps.memories.vaapi" + ], + "services-nextcloudserver-options-shb.nextcloud.apps.memories.enable": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.apps.memories.enable" + ], + "services-nextcloudserver-options-shb.nextcloud.apps.memories.photosPath": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.apps.memories.photosPath" + ], + "services-nextcloudserver-options-shb.nextcloud.apps.recognize": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.apps.recognize" + ], + "services-nextcloudserver-options-shb.nextcloud.apps.recognize.enable": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.apps.recognize.enable" + ], "services-nextcloudserver-options-shb.nextcloud.apps.onlyoffice": [ "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.apps.onlyoffice" ], diff --git a/modules/services/nextcloud-server.nix b/modules/services/nextcloud-server.nix index 8ac4ec5..75eeb99 100644 --- a/modules/services/nextcloud-server.nix +++ b/modules/services/nextcloud-server.nix @@ -549,6 +549,20 @@ in }; }; }; + + recognize = lib.mkOption { + description = '' + Recognize App. [Nextcloud App Store](https://apps.nextcloud.com/apps/recognize) + + Enabling this app will set up the Recognize app and configure all its dependencies. + ''; + default = {}; + type = lib.types.submodule { + options = { + enable = lib.mkEnableOption "Recognize app."; + }; + }; + }; }; }; }; @@ -785,9 +799,6 @@ in environment.systemPackages = [ # Needed for a few apps. Would be nice to avoid having to put that in the environment and instead override https://github.com/NixOS/nixpkgs/blob/261abe8a44a7e8392598d038d2e01f7b33cf26d0/nixos/modules/services/web-apps/nextcloud.nix#L1035 pkgs.ffmpeg-headless - - # Needed for the recognize app. - pkgs.nodejs ]; services.postgresql.settings = lib.mkIf (! (isNull cfg.postgresSettings)) cfg.postgresSettings; @@ -1211,5 +1222,32 @@ in PrivateDevices = lib.mkForce false; }; })) + + (lib.mkIf cfg.apps.recognize.enable + (let + cfg' = cfg.apps.recognize; + in + { + services.nextcloud.extraApps = { + inherit (nextcloudApps) recognize; + }; + + systemd.services.nextcloud-setup.script = + '' + ${occ} config:app:set recognize nice_binary --value ${pkgs.coreutils}/bin/nice + ${occ} config:app:set recognize node_binary --value ${pkgs.nodejs}/bin/node + ${occ} config:app:set recognize faces.enabled --value true + ${occ} config:app:set recognize faces.batchSize --value 50 + ${occ} config:app:set recognize imagenet.enabled --value true + ${occ} config:app:set recognize imagenet.batchSize --value 100 + ${occ} config:app:set recognize landmarks.batchSize --value 100 + ${occ} config:app:set recognize landmarks.enabled --value true + ${occ} config:app:set recognize tensorflow.cores --value 1 + ${occ} config:app:set recognize tensorflow.gpu --value false + ${occ} config:app:set recognize tensorflow.purejs --value false + ${occ} config:app:set recognize musicnn.enabled --value true + ${occ} config:app:set recognize musicnn.batchSize --value 100 + ''; + })) ]; }