Nextcloud failed the integrity check

Hi@all,

I installed Nextcloud (30.0.15-0) from the app catalog on a Univention Managed Node 5.2-3 (cloud01.lan.mydomain.de). When I log in there as “Administrator” in the NC web UI and go to the “Administration settings,” I see the following in the overview:

Security & setup warnings

For the security and performance of your instance, it is very important that everything is configured correctly. To help you with this, some automatic checks are performed. More information can be found in the linked documentation.

There are some errors in the system configuration.

Some files have not passed the integrity check. List of invalid files… Rescan… For more information see the documentation :arrow_upper_right:

When I click the link “List of invalid files,” the browser only shows:

Array
(
    [core] => Array
        (
            [INVALID_HASH] => Array
                (
                    [core/Command/App/Install.php] => Array
                        (
                            [expected] => d6911f5cf86d03cba9e47130611afbbfcebeedee1e740bc92bd2adaa906c8d42569e2aa951504db453f5bc594d344e16a0c285b9c4ba9b8db5b56c8c09585242
                            [current] => c9cbceca16252c5bb65aa1b20357dc33d54bfd47d3030fb5d2045c67490925dc4416148b0cf241eb05ecb1e3b639f0b2869bd8412fe578e0ee7686f065462458
                        )

                )

        )

)

When I download the corresponding package from Nextcloud and compare, I can see what was changed by UCS:

root@nextc-01706766:/temp# diff -u nextcloud/core/Command/App/Install.php /var/www/html/core/Command/App/Install.php
--- nextcloud/core/Command/App/Install.php  2025-09-11 14:46:47.000000000 +0200
+++ /var/www/html/core/Command/App/Install.php  2025-09-12 14:15:46.000000000 +0200
@@ -9,6 +9,7 @@
 namespace OC\Core\Command\App;

 use OC\Installer;
+use OCP\App\AppPathNotFoundException;
 use OCP\App\IAppManager;
 use Symfony\Component\Console\Command\Command;
 use Symfony\Component\Console\Input\InputArgument;
@@ -58,9 +59,11 @@
 		$appId = $input->getArgument('app-id');
 		$forceEnable = (bool) $input->getOption('force');

-		if ($this->appManager->isInstalled($appId)) {
+		try {
+			$this->appManager->getAppPath($appId);
 			$output->writeln($appId . ' already installed');
 			return 1;
+		} catch (AppPathNotFoundException) {
 		}

 		try {

Original (Nextcloud 30.0.15):
Only checks isInstalled($appId) → if yes → message “already installed” and abort.

UCS version:
Additionally checks with getAppPath($appId) and catches AppPathNotFoundException.

What is the recommended approach that Univention suggests? Should we define an exception?

with best
sven

I’ve had it for years too, and so far I haven’t been able to get rid of it. But I think you can just ignore it :grimacing: …