nextcloud/all-in-one · warning · InvalidSettingConfigurationException

The entered options must start with '--o:'. So the config do

Error message

The entered options must start with '--o:'. So the config does not seem to be a valid!

What it means

Thrown by validateCollaboraAdditionalOptions when the value does not start with the literal prefix '--o:'. The whole feature exists to inject Collabora 'cool' config overrides, which always use that prefix, so anything else is treated as a mistake rather than forwarded to the container.

Source

Thrown at php/src/Data/ConfigurationManager.php:1089

    }

    /**
     * Provide an extra method since the corresponding attribute setter prevents setting an empty value.
     */
    public function deleteCollaboraDictionaries() : void {
        $this->set('collabora_dictionaries', '');
    }

    /**
     * @throws InvalidSettingConfigurationException
     */
    private function validateCollaboraAdditionalOptions(string $additionalCollaboraOptions) : void {
        if ($additionalCollaboraOptions === "") {
            throw new InvalidSettingConfigurationException("The additional options must not be empty!");
        }

        if (!preg_match("#^--o:#", $additionalCollaboraOptions)) {
            throw new InvalidSettingConfigurationException("The entered options must start with '--o:'. So the config does not seem to be a valid!");
        }
    }

    /**
     * Provide an extra method since the corresponding attribute setter prevents setting an empty value.
     */
    public function deleteAdditionalCollaboraOptions() : void {
        $this->set('collabora_additional_options', '');
    }

    public function listAvailableCommunityContainers() : array {
        $cc = [];
        $dir = scandir(DataConst::GetCommunityContainersDirectory());
        if ($dir === false) {
            return $cc;
        }
        // Get rid of dots from the scandir command
        $dir = array_diff($dir, array('..', '.', 'readme.md'));

View on GitHub (pinned to 6b788eec5e)

Solutions

  1. Start the value with exactly '--o:' followed by the setting path, e.g. '--o:ssl.enable=false'.
  2. Chain multiple settings exactly as the container accepts them, keeping the leading prefix on the string.
  3. Copy working examples from the AioCTL/form placeholder or Collabora coolconfig documentation.

Example fix

// before
$options = 'ssl.enable=false';

// after
$options = '--o:ssl.enable=false';
Defensive patterns

Strategy: validation

Validate before calling

if (!str_starts_with($additionalCollaboraOptions, '--o:')) {
    // prefix or reject before submitting
}

Prevention

When it happens

Trigger: Submitting options formatted as INI ('option=value'), with '--o =' spacing, with single-dash '-o:', with JSON, or pasting a full coolconfig XML block instead of --o: style flags.

Common situations: Copying options from Collabora docs that show '--o:' with different quote styles that lose the prefix; users abbreviating the prefix; multiple flags where only some carry the prefix (the check only tests the start of the string, so later flags are unchecked here).

Related errors


AI-assisted analysis of nextcloud/all-in-one@6b788eec5e (2026-08-21). Data as JSON: /api/errors/95137e3e1e8f914e. Report an issue: GitHub.