diff --git a/php/src/Data/ConfigurationManager.php b/php/src/Data/ConfigurationManager.php index 13b3d39f..fbfaff8e 100644 --- a/php/src/Data/ConfigurationManager.php +++ b/php/src/Data/ConfigurationManager.php @@ -209,7 +209,7 @@ class ConfigurationManager public function SetFulltextsearchEnabledState(int $value) : void { // Elasticsearch does not work on kernels without seccomp anymore. See https://github.com/nextcloud/all-in-one/discussions/5768 - if ($this->GetCollaboraSeccompDisabledState() === 'true') { + if ($this->isSeccompDisabled()) { $value = 0; } @@ -757,7 +757,7 @@ class ConfigurationManager public function GetCollaboraSeccompPolicy() : string { $defaultString = '--o:security.seccomp='; - if ($this->GetCollaboraSeccompDisabledState() !== 'true') { + if ($this->isSeccompDisabled()) { return $defaultString . 'true'; } return $defaultString . 'false'; @@ -770,6 +770,13 @@ class ConfigurationManager return $this->GetEnvironmentalVariableOrConfig($envVariableName, $configName, $defaultValue); } + public function isSeccompDisabled() : bool { + if ($this->GetCollaboraSeccompDisabledState() === 'true') { + return true; + } + return false; + } + /** * @throws InvalidSettingConfigurationException */ diff --git a/php/src/Docker/DockerActionManager.php b/php/src/Docker/DockerActionManager.php index b63fef32..53df4df6 100644 --- a/php/src/Docker/DockerActionManager.php +++ b/php/src/Docker/DockerActionManager.php @@ -415,9 +415,11 @@ readonly class DockerActionManager { // Special things for the collabora container which should not be exposed in the containers.json } elseif ($container->GetIdentifier() === 'nextcloud-aio-collabora') { - // Load reference seccomp profile for collabora - $seccompProfile = (string)file_get_contents(DataConst::GetCollaboraSeccompProfilePath()); - $requestBody['HostConfig']['SecurityOpt'] = ["label:disable", "seccomp=$seccompProfile"]; + if (!$this->configurationManager->isSeccompDisabled()) { + // Load reference seccomp profile for collabora + $seccompProfile = (string)file_get_contents(DataConst::GetCollaboraSeccompProfilePath()); + $requestBody['HostConfig']['SecurityOpt'] = ["label:disable", "seccomp=$seccompProfile"]; + } // Additional Collabora options if ($this->configurationManager->GetAdditionalCollaboraOptions() !== '') {