From 507bb389f9c33307e415f30cd0749c8b0ff60c16 Mon Sep 17 00:00:00 2001 From: Jana Peper Date: Thu, 7 May 2026 09:52:03 +0200 Subject: [PATCH 1/2] feat: add new mail tools to Context Agent page Signed-off-by: Jana Peper --- admin_manual/ai/app_context_agent.rst | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/admin_manual/ai/app_context_agent.rst b/admin_manual/ai/app_context_agent.rst index 3e853146937..b70fe50da27 100644 --- a/admin_manual/ai/app_context_agent.rst +++ b/admin_manual/ai/app_context_agent.rst @@ -332,6 +332,27 @@ Talk tools * Example prompt: *"Can you create a new public talk conversation titled 'Press conference'?"* + +Mail tools (require `Mail `_) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +* Send an email via Nextcloud Mail + + * Example prompt: *"Send a test email from my carry@company.com account to Andrew@company.com"* + +* List all connected mail accounts + + * Example prompt: *"List my mail accounts"* + +* List all mail folders of an email account + + * Example prompt: *"List the folders of my carry@company.com account"* + +* List the mails in a mail folder + + * Example prompt: *"List the last 5 mails in the inbox of my carry@company.com account"* + + Miscellaneous tools ~~~~~~~~~~~~~~~~~~~ @@ -355,10 +376,6 @@ Miscellaneous tools * Example prompt: *"Show me search results for quick pasta recipes, please."* -* Send an email via Nextcloud Mail (requires `Mail `_) - - * Example prompt: *"Send a test email from my carry@company.com account to Andrew@company.com"* - * Determine public transport routes (requires a `HERE `_ API key configured in the admin settings) * Example prompt: *"How can I get from Würzburg Hauptbahnhof to Berlin Hauptbahnhof?"* From ea8e441232d613e25e2928190198da19d01bd238 Mon Sep 17 00:00:00 2001 From: Jana Peper Date: Thu, 7 May 2026 11:32:26 +0200 Subject: [PATCH 2/2] fix: linting Signed-off-by: Jana Peper --- .../config_sample_php_parameters.rst | 964 +++++++++--------- 1 file changed, 482 insertions(+), 482 deletions(-) diff --git a/admin_manual/configuration_server/config_sample_php_parameters.rst b/admin_manual/configuration_server/config_sample_php_parameters.rst index 3229f4163d1..fb6a2453d59 100644 --- a/admin_manual/configuration_server/config_sample_php_parameters.rst +++ b/admin_manual/configuration_server/config_sample_php_parameters.rst @@ -221,7 +221,7 @@ instanceid :: - 'instanceid' => '', + 'instanceid' => '', This is a unique identifier for your Nextcloud installation, created automatically by the installer. This example is for documentation only, @@ -234,7 +234,7 @@ serverid :: - 'serverid' => -1, + 'serverid' => -1, This is a unique identifier for your server. @@ -254,7 +254,7 @@ passwordsalt :: - 'passwordsalt' => '', + 'passwordsalt' => '', The salt used to hash all passwords, auto-generated by the Nextcloud installer. (There are also per-user salts.) If you lose this salt, you lose @@ -269,7 +269,7 @@ secret :: - 'secret' => '', + 'secret' => '', Secret used by Nextcloud for various purposes, e.g., to encrypt data. If you lose this string, there will be data corruption. @@ -280,12 +280,12 @@ trusted_domains :: - 'trusted_domains' => [ - 'demo.example.org', - 'otherdomain.example.org', - '10.111.112.113', - '[2001:db8::1]' - ], + 'trusted_domains' => [ + 'demo.example.org', + 'otherdomain.example.org', + '10.111.112.113', + '[2001:db8::1]' + ], Your list of trusted domains that users can log into. Specifying trusted domains prevents host header poisoning. Do not remove this, as it performs @@ -304,7 +304,7 @@ cookie_domain :: - 'cookie_domain' => '', + 'cookie_domain' => '', The validity domain for cookies, for example ``''`` (cookies will be sent only the domain that defined it, e.g. ``'demo.example.org'``), ``'demo.example.org'`` @@ -318,7 +318,7 @@ datadirectory :: - 'datadirectory' => '/var/www/nextcloud/data', + 'datadirectory' => '/var/www/nextcloud/data', Where user files are stored. The SQLite database is also stored here, when you use SQLite. @@ -331,7 +331,7 @@ version :: - 'version' => '', + 'version' => '', The current version number of your Nextcloud installation. This is set up during installation and update, so you shouldn't need to change it. @@ -342,7 +342,7 @@ dbtype :: - 'dbtype' => 'sqlite3', + 'dbtype' => 'sqlite3', Identifies the database used with this installation. See also config option ``supportedDatabases`` @@ -360,7 +360,7 @@ dbhost :: - 'dbhost' => '', + 'dbhost' => '', Your host server name, for example ``localhost``, ``hostname``, ``hostname.example.com``, or the IP address. @@ -375,7 +375,7 @@ dbname :: - 'dbname' => 'nextcloud', + 'dbname' => 'nextcloud', The name of the Nextcloud database, which is set during installation. You should not need to change this. @@ -386,7 +386,7 @@ dbuser :: - 'dbuser' => '', + 'dbuser' => '', The user that Nextcloud uses to write to the database. This must be unique across Nextcloud instances using the same SQL database. This is set up during @@ -398,7 +398,7 @@ dbpassword :: - 'dbpassword' => '', + 'dbpassword' => '', The password for the database user. This is set up during installation, so you shouldn't need to change it. @@ -409,7 +409,7 @@ dbtableprefix :: - 'dbtableprefix' => 'oc_', + 'dbtableprefix' => 'oc_', Prefix for the Nextcloud tables in the database. @@ -421,7 +421,7 @@ dbpersistent :: - 'dbpersistent' => '', + 'dbpersistent' => '', Enable persistent connections to the database. @@ -434,10 +434,10 @@ dbreplica :: - 'dbreplica' => [ - ['user' => 'nextcloud', 'password' => 'password1', 'host' => 'replica1', 'dbname' => ''], - ['user' => 'nextcloud', 'password' => 'password2', 'host' => 'replica2', 'dbname' => ''], - ], + 'dbreplica' => [ + ['user' => 'nextcloud', 'password' => 'password1', 'host' => 'replica1', 'dbname' => ''], + ['user' => 'nextcloud', 'password' => 'password2', 'host' => 'replica2', 'dbname' => ''], + ], Specify read-only replicas to be used by Nextcloud when querying the database @@ -447,7 +447,7 @@ db.log_request_id :: - 'db.log_request_id' => false, + 'db.log_request_id' => false, Add request ID to the database query in a comment. @@ -459,7 +459,7 @@ installed :: - 'installed' => false, + 'installed' => false, Indicates whether the Nextcloud instance was installed successfully; ``true`` indicates a successful installation, and ``false`` indicates an unsuccessful @@ -489,7 +489,7 @@ default_language :: - 'default_language' => 'en', + 'default_language' => 'en', This sets the default language on your Nextcloud server, using ISO_639-1 language codes such as ``en`` for English, ``de`` for German, and ``fr`` for @@ -510,7 +510,7 @@ force_language :: - 'force_language' => 'en', + 'force_language' => 'en', With this setting, a language can be forced for all users. If a language is forced, the users are also unable to change their language in the personal @@ -526,7 +526,7 @@ default_locale :: - 'default_locale' => 'en_US', + 'default_locale' => 'en_US', This sets the default locale on your Nextcloud server, using ISO_639 language codes such as ``en`` for English, ``de`` for German, and ``fr`` for @@ -543,7 +543,7 @@ reduce_to_languages :: - 'reduce_to_languages' => [], + 'reduce_to_languages' => [], With this setting, it is possible to reduce the languages available in the language chooser. The languages have to be set as array values using ISO_639-1 @@ -557,7 +557,7 @@ default_phone_region :: - 'default_phone_region' => 'GB', + 'default_phone_region' => 'GB', This sets the default region for phone numbers on your Nextcloud server, using ISO 3166-1 country codes such as ``DE`` for Germany, ``FR`` for France, … @@ -572,7 +572,7 @@ force_locale :: - 'force_locale' => 'en_US', + 'force_locale' => 'en_US', With this setting, a locale can be forced for all users. If a locale is forced, the users are also unable to change their locale in the personal @@ -588,7 +588,7 @@ default_timezone :: - 'default_timezone' => 'Europe/Berlin', + 'default_timezone' => 'Europe/Berlin', This sets the default timezone on your Nextcloud server, using IANA identifiers like ``Europe/Berlin`` or ``Pacific/Auckland``. The default @@ -603,7 +603,7 @@ knowledgebaseenabled :: - 'knowledgebaseenabled' => true, + 'knowledgebaseenabled' => true, ``true`` enables the Help menu item in the user menu (top right of the Nextcloud Web interface). @@ -616,7 +616,7 @@ knowledgebase.embedded :: - 'knowledgebase.embedded' => false, + 'knowledgebase.embedded' => false, ``true`` embeds the documentation in an iframe inside Nextcloud. @@ -628,7 +628,7 @@ allow_user_to_change_display_name :: - 'allow_user_to_change_display_name' => true, + 'allow_user_to_change_display_name' => true, ``true`` allows users to change their display names (on their Personal pages), and ``false`` prevents them from changing their display names. @@ -639,7 +639,7 @@ skeletondirectory :: - 'skeletondirectory' => '/path/to/nextcloud/core/skeleton', + 'skeletondirectory' => '/path/to/nextcloud/core/skeleton', The directory where the skeleton files are located. These files will be copied to the data directory of new users. Set empty string to not copy any @@ -658,7 +658,7 @@ templatedirectory :: - 'templatedirectory' => '/path/to/nextcloud/templates', + 'templatedirectory' => '/path/to/nextcloud/templates', The directory where the template files are located. These files will be copied to the template directory of new users. Set empty string to not copy any @@ -681,7 +681,7 @@ remember_login_cookie_lifetime :: - 'remember_login_cookie_lifetime' => 60 * 60 * 24 * 15, + 'remember_login_cookie_lifetime' => 60 * 60 * 24 * 15, Lifetime of the remember login cookie. This should be larger than the session_lifetime. If it is set to 0, remember me is disabled. @@ -694,7 +694,7 @@ session_lifetime :: - 'session_lifetime' => 60 * 60 * 24, + 'session_lifetime' => 60 * 60 * 24, The lifetime of a session after inactivity. @@ -709,7 +709,7 @@ davstorage.request_timeout :: - 'davstorage.request_timeout' => 30, + 'davstorage.request_timeout' => 30, The timeout in seconds for requests to servers made by the DAV component (e.g., needed for federated shares). @@ -719,7 +719,7 @@ carddav_sync_request_timeout :: - 'carddav_sync_request_timeout' => 30, + 'carddav_sync_request_timeout' => 30, The timeout in seconds for synchronizing address books, e.g., federated system address books (as run by ``occ federation:sync-addressbooks``). @@ -731,7 +731,7 @@ carddav_sync_request_truncation :: - 'carddav_sync_request_truncation' => 2500, + 'carddav_sync_request_truncation' => 2500, The limit applied to the synchronization report request, e.g. federated system address books (as run by ``occ federation:sync-addressbooks``). @@ -741,7 +741,7 @@ session_relaxed_expiry :: - 'session_relaxed_expiry' => false, + 'session_relaxed_expiry' => false, ``true`` enables a relaxed session timeout, where the session timeout would no longer be handled by Nextcloud but by either the PHP garbage collection or the expiration of @@ -757,7 +757,7 @@ session_keepalive :: - 'session_keepalive' => true, + 'session_keepalive' => true, Enable or disable session keep-alive when a user is logged in to the Web UI. @@ -771,7 +771,7 @@ auto_logout :: - 'auto_logout' => false, + 'auto_logout' => false, Enable or disable the automatic logout after session_lifetime, even if session keepalive is enabled. This will make sure that an inactive browser will log itself out @@ -792,7 +792,7 @@ token_auth_enforced :: - 'token_auth_enforced' => false, + 'token_auth_enforced' => false, Enforce token authentication for clients, which blocks requests using the user password for enhanced security. Users need to generate tokens in personal settings @@ -806,7 +806,7 @@ token_auth_activity_update :: - 'token_auth_activity_update' => 60, + 'token_auth_activity_update' => 60, The interval at which token activity should be updated. @@ -824,7 +824,7 @@ auth.bruteforce.protection.enabled :: - 'auth.bruteforce.protection.enabled' => true, + 'auth.bruteforce.protection.enabled' => true, Whether the brute force protection shipped with Nextcloud should be enabled or not. @@ -842,7 +842,7 @@ auth.bruteforce.protection.force.database :: - 'auth.bruteforce.protection.force.database' => false, + 'auth.bruteforce.protection.force.database' => false, Whether the brute force protection should write into the database even when a memory cache is available @@ -858,7 +858,7 @@ auth.bruteforce.protection.testing :: - 'auth.bruteforce.protection.testing' => false, + 'auth.bruteforce.protection.testing' => false, Whether the brute force protection shipped with Nextcloud should be set to testing mode. @@ -876,7 +876,7 @@ auth.bruteforce.max-attempts :: - 'auth.bruteforce.max-attempts' => 10, + 'auth.bruteforce.max-attempts' => 10, Brute force protection: maximum number of attempts before blocking @@ -892,7 +892,7 @@ ratelimit.protection.enabled :: - 'ratelimit.protection.enabled' => true, + 'ratelimit.protection.enabled' => true, Whether the rate limit protection shipped with Nextcloud should be enabled or not. @@ -910,12 +910,12 @@ ratelimit_overwrite :: - 'ratelimit_overwrite' => [ - 'profile.profilepage.index' => [ - 'user' => ['limit' => 300, 'period' => 3600], - 'anon' => ['limit' => 1, 'period' => 300], - ] - ], + 'ratelimit_overwrite' => [ + 'profile.profilepage.index' => [ + 'user' => ['limit' => 300, 'period' => 3600], + 'anon' => ['limit' => 1, 'period' => 300], + ] + ], Overwrite the individual rate limit for a specific route @@ -939,7 +939,7 @@ security.ipv6_normalized_subnet_size :: - 'security.ipv6_normalized_subnet_size' => 56, + 'security.ipv6_normalized_subnet_size' => 56, Size of subnet used to normalize IPv6 @@ -954,7 +954,7 @@ auth.webauthn.enabled :: - 'auth.webauthn.enabled' => true, + 'auth.webauthn.enabled' => true, By default, WebAuthn is available, but it can be explicitly disabled by admins @@ -964,7 +964,7 @@ auth.storeCryptedPassword :: - 'auth.storeCryptedPassword' => true, + 'auth.storeCryptedPassword' => true, Whether encrypted passwords should be stored in the database @@ -992,7 +992,7 @@ hide_login_form :: - 'hide_login_form' => false, + 'hide_login_form' => false, By default, the login form is always available. There are cases (SSO) where an admin wants to avoid users entering their credentials to the system if the SSO @@ -1006,7 +1006,7 @@ lost_password_link :: - 'lost_password_link' => 'https://example.org/link/to/password/reset', + 'lost_password_link' => 'https://example.org/link/to/password/reset', If your user backend does not allow password resets (e.g., when it's a read-only user backend like LDAP), you can specify a custom link, where the @@ -1021,7 +1021,7 @@ logo_url :: - 'logo_url' => 'https://example.org', + 'logo_url' => 'https://example.org', URL to use as target for the logo link in the header (top-left logo) @@ -1040,7 +1040,7 @@ mail_domain :: - 'mail_domain' => 'example.com', + 'mail_domain' => 'example.com', The return address that you want to appear on emails sent by the Nextcloud server, for example ``nc-admin@example.com``, substituting your own domain, @@ -1052,7 +1052,7 @@ mail_from_address :: - 'mail_from_address' => 'nextcloud', + 'mail_from_address' => 'nextcloud', FROM address that overrides the built-in ``sharing-noreply`` and ``lostpassword-noreply`` FROM addresses. @@ -1065,7 +1065,7 @@ mail_smtpdebug :: - 'mail_smtpdebug' => false, + 'mail_smtpdebug' => false, Enable SMTP class debugging. @@ -1084,7 +1084,7 @@ mail_smtpmode :: - 'mail_smtpmode' => 'smtp', + 'mail_smtpmode' => 'smtp', Which mode to use for sending mail: ``sendmail``, ``smtp``, ``qmail``, or ``null``. @@ -1107,7 +1107,7 @@ mail_smtphost :: - 'mail_smtphost' => '127.0.0.1', + 'mail_smtphost' => '127.0.0.1', This depends on ``mail_smtpmode``. Specify the IP address of your mail server host. This may contain multiple hosts separated by a semicolon. If @@ -1122,7 +1122,7 @@ mail_smtpport :: - 'mail_smtpport' => 25, + 'mail_smtpport' => 25, This depends on ``mail_smtpmode``. Specify the port for sending mail. @@ -1134,7 +1134,7 @@ mail_smtptimeout :: - 'mail_smtptimeout' => 10, + 'mail_smtptimeout' => 10, This depends on ``mail_smtpmode``. This sets the SMTP server timeout, in seconds. You may need to increase this if you are running an anti-malware or @@ -1148,7 +1148,7 @@ mail_smtpsecure :: - 'mail_smtpsecure' => '', + 'mail_smtpsecure' => '', This depends on ``mail_smtpmode``. Specify ``ssl`` when you are using SSL/TLS. Any other value will be ignored. @@ -1163,7 +1163,7 @@ mail_smtpauth :: - 'mail_smtpauth' => false, + 'mail_smtpauth' => false, This depends on ``mail_smtpmode``. Change this to ``true`` if your mail server requires authentication. @@ -1176,7 +1176,7 @@ mail_smtpname :: - 'mail_smtpname' => '', + 'mail_smtpname' => '', This depends on ``mail_smtpauth``. Specify the username for authenticating to the SMTP server. @@ -1189,7 +1189,7 @@ mail_smtppassword :: - 'mail_smtppassword' => '', + 'mail_smtppassword' => '', This depends on ``mail_smtpauth``. Specify the password for authenticating to the SMTP server. @@ -1202,7 +1202,7 @@ mail_template_class :: - 'mail_template_class' => '\OC\Mail\EMailTemplate', + 'mail_template_class' => '\OC\Mail\EMailTemplate', Replaces the default mail template layout. This can be utilized if the options to modify the mail texts with the theming app are not enough. @@ -1215,7 +1215,7 @@ mail_send_plaintext_only :: - 'mail_send_plaintext_only' => false, + 'mail_send_plaintext_only' => false, Email will be sent by default with an HTML and a plain text body. This option allows sending only plain text emails. @@ -1226,7 +1226,7 @@ mail_smtpstreamoptions :: - 'mail_smtpstreamoptions' => [], + 'mail_smtpstreamoptions' => [], This depends on ``mail_smtpmode``. Array of additional streams options that will be passed to underlying Swift mailer implementation. @@ -1239,7 +1239,7 @@ mail_sendmailmode :: - 'mail_sendmailmode' => 'smtp', + 'mail_sendmailmode' => 'smtp', Which mode is used for sendmail/qmail: ``smtp`` or ``pipe``. @@ -1261,7 +1261,7 @@ overwritehost :: - 'overwritehost' => '', + 'overwritehost' => '', The automatic hostname detection of Nextcloud can fail in certain reverse proxy and CLI/cron situations. This option allows you to manually override @@ -1274,7 +1274,7 @@ overwriteprotocol :: - 'overwriteprotocol' => '', + 'overwriteprotocol' => '', When generating URLs, Nextcloud attempts to detect whether the server is accessed via ``https`` or ``http``. However, if Nextcloud is behind a proxy @@ -1289,7 +1289,7 @@ overwritewebroot :: - 'overwritewebroot' => '', + 'overwritewebroot' => '', Nextcloud attempts to detect the webroot for generating URLs automatically. @@ -1304,7 +1304,7 @@ overwritecondaddr :: - 'overwritecondaddr' => '', + 'overwritecondaddr' => '', This option allows you to define a manual override condition as a regular expression for the remote IP address. For example, defining a range of IP @@ -1319,7 +1319,7 @@ overwrite.cli.url :: - 'overwrite.cli.url' => '', + 'overwrite.cli.url' => '', Use this configuration parameter to specify the base URL for any URLs which are generated within Nextcloud using any kind of command line tools (cron or @@ -1337,7 +1337,7 @@ htaccess.RewriteBase :: - 'htaccess.RewriteBase' => '/', + 'htaccess.RewriteBase' => '/', To have clean URLs without ``/index.php``, this parameter needs to be configured. @@ -1369,7 +1369,7 @@ htaccess.IgnoreFrontController :: - 'htaccess.IgnoreFrontController' => false, + 'htaccess.IgnoreFrontController' => false, For server setups that don't have ``mod_env`` enabled or restricted (e.g., suEXEC), this parameter has to be set to true and will assume mod_rewrite. @@ -1385,7 +1385,7 @@ proxy :: - 'proxy' => '', + 'proxy' => '', The URL of your proxy server, for example, ``proxy.example.com:8081``. @@ -1407,7 +1407,7 @@ proxyuserpwd :: - 'proxyuserpwd' => '', + 'proxyuserpwd' => '', The optional authentication for the proxy to use to connect to the internet. @@ -1421,7 +1421,7 @@ proxyexclude :: - 'proxyexclude' => [], + 'proxyexclude' => [], List of hostnames that should not be proxied to. @@ -1438,7 +1438,7 @@ allow_local_remote_servers :: - 'allow_local_remote_servers' => true, + 'allow_local_remote_servers' => true, Allow remote servers with local addresses, e.g., in federated shares, webcal services, and more @@ -1450,7 +1450,7 @@ http_client_add_user_agent_url :: - 'http_client_add_user_agent_url' => false, + 'http_client_add_user_agent_url' => false, Add the URL of the Nextcloud server in User-Agent headers HTTP calls. @@ -1472,7 +1472,7 @@ trashbin_retention_obligation :: - 'trashbin_retention_obligation' => 'auto', + 'trashbin_retention_obligation' => 'auto', If the trash bin app is enabled (default), this setting defines the policy for when files and folders in the trash bin will be permanently deleted. @@ -1536,7 +1536,7 @@ versions_retention_obligation :: - 'versions_retention_obligation' => 'auto', + 'versions_retention_obligation' => 'auto', If the versions app is enabled (default), this setting defines the policy for when versions will be permanently deleted. @@ -1583,7 +1583,7 @@ appcodechecker :: - 'appcodechecker' => true, + 'appcodechecker' => true, Checks an app before install whether it uses private APIs instead of the proper public APIs. If this is set to true, it will only allow installing or @@ -1597,7 +1597,7 @@ updatechecker :: - 'updatechecker' => true, + 'updatechecker' => true, Check if Nextcloud is up-to-date and shows a notification if a new version is available. It sends current version, PHP version, installation and last update @@ -1612,7 +1612,7 @@ updater.server.url :: - 'updater.server.url' => 'https://updates.nextcloud.com/updater_server/', + 'updater.server.url' => 'https://updates.nextcloud.com/updater_server/', URL that Nextcloud should use to look for updates @@ -1624,7 +1624,7 @@ updater.release.channel :: - 'updater.release.channel' => 'stable', + 'updater.release.channel' => 'stable', The channel that Nextcloud should use to look for updates @@ -1640,7 +1640,7 @@ has_internet_connection :: - 'has_internet_connection' => true, + 'has_internet_connection' => true, Is Nextcloud connected to the Internet or running in a closed network? @@ -1652,12 +1652,12 @@ connectivity_check_domains :: - 'connectivity_check_domains' => [ - 'https://www.nextcloud.com', - 'https://www.startpage.com', - 'https://www.eff.org', - 'https://www.edri.org' - ], + 'connectivity_check_domains' => [ + 'https://www.nextcloud.com', + 'https://www.startpage.com', + 'https://www.eff.org', + 'https://www.edri.org' + ], Which domains to request to determine the availability of an Internet connection. If none of these hosts are reachable, the administration panel @@ -1682,7 +1682,7 @@ check_for_working_wellknown_setup :: - 'check_for_working_wellknown_setup' => true, + 'check_for_working_wellknown_setup' => true, Allows Nextcloud to verify a working .well-known URL redirects. This is done by attempting to make a request from JS to @@ -1696,7 +1696,7 @@ check_for_working_htaccess :: - 'check_for_working_htaccess' => true, + 'check_for_working_htaccess' => true, This is a crucial security check on Apache servers that should always be set to ``true``. This verifies that the ``.htaccess`` file is writable and works. @@ -1713,7 +1713,7 @@ check_data_directory_permissions :: - 'check_data_directory_permissions' => true, + 'check_data_directory_permissions' => true, In rare setups (e.g., on OpenShift or Docker on Windows), the permissions check might block the installation while the underlying system offers no means to @@ -1730,7 +1730,7 @@ config_is_read_only :: - 'config_is_read_only' => false, + 'config_is_read_only' => false, In certain environments, it is desired to have a read-only configuration file. @@ -1752,7 +1752,7 @@ log_type :: - 'log_type' => 'file', + 'log_type' => 'file', This parameter determines where the Nextcloud logs are sent. @@ -1769,7 +1769,7 @@ log_type_audit :: - 'log_type_audit' => 'file', + 'log_type_audit' => 'file', This parameter determines where the audit logs are sent. See ``log_type`` for more information. @@ -1781,7 +1781,7 @@ logfile :: - 'logfile' => '/var/log/nextcloud.log', + 'logfile' => '/var/log/nextcloud.log', Name of the file to which the Nextcloud logs are written if parameter ``log_type`` is set to ``file``. @@ -1794,7 +1794,7 @@ logfile_audit :: - 'logfile_audit' => '/var/log/audit.log', + 'logfile_audit' => '/var/log/audit.log', Name of the file to which the audit logs are written if parameter ``log_type`` is set to ``file``. @@ -1807,7 +1807,7 @@ logfilemode :: - 'logfilemode' => 0640, + 'logfilemode' => 0640, Log file mode for the Nextcloud logging type in octal notation. @@ -1819,7 +1819,7 @@ loglevel :: - 'loglevel' => 2, + 'loglevel' => 2, Loglevel to start logging at. Valid values are: @@ -1838,7 +1838,7 @@ loglevel_frontend :: - 'loglevel_frontend' => 2, + 'loglevel_frontend' => 2, Loglevel used by the frontend to start logging at. The same values as for ``loglevel`` can be used. If not set, it defaults to the value @@ -1852,7 +1852,7 @@ loglevel_dirty_database_queries :: - 'loglevel_dirty_database_queries' => 0, + 'loglevel_dirty_database_queries' => 0, Loglevel used by the dirty database query detection. Useful to identify potential database bugs in production. Set this to loglevel or higher to @@ -1866,7 +1866,7 @@ syslog_tag :: - 'syslog_tag' => 'Nextcloud', + 'syslog_tag' => 'Nextcloud', If you maintain different instances and aggregate the logs, you may want to distinguish between them. ``syslog_tag`` can be set per instance @@ -1881,7 +1881,7 @@ syslog_tag_audit :: - 'syslog_tag_audit' => 'Nextcloud', + 'syslog_tag_audit' => 'Nextcloud', If you maintain different instances and aggregate the logs, you may want to distinguish between them. ``syslog_tag_audit`` can be set per instance @@ -1896,20 +1896,20 @@ log.condition :: - 'log.condition' => [ - 'shared_secret' => '57b58edb6637fe3059b3595cf9c41b9', - 'users' => ['sample-user'], - 'apps' => ['files'], - 'matches' => [ - [ - 'shared_secret' => '57b58edb6637fe3059b3595cf9c41b9', - 'users' => ['sample-user'], - 'apps' => ['files'], - 'loglevel' => 1, - 'message' => 'contains substring' - ], - ], - ], + 'log.condition' => [ + 'shared_secret' => '57b58edb6637fe3059b3595cf9c41b9', + 'users' => ['sample-user'], + 'apps' => ['files'], + 'matches' => [ + [ + 'shared_secret' => '57b58edb6637fe3059b3595cf9c41b9', + 'users' => ['sample-user'], + 'apps' => ['files'], + 'loglevel' => 1, + 'message' => 'contains substring' + ], + ], + ], Log condition for log level increase based on conditions. Once one of these conditions is met, the required log level is set to debug. This allows @@ -1934,7 +1934,7 @@ log.backtrace :: - 'log.backtrace' => false, + 'log.backtrace' => false, Enables logging a backtrace with each log line. Normally, only Exceptions carry backtrace information, which are logged automatically. This @@ -1949,7 +1949,7 @@ logdateformat :: - 'logdateformat' => 'F d, Y H:i:s', + 'logdateformat' => 'F d, Y H:i:s', This uses PHP.date formatting; see https://www.php.net/manual/en/function.date.php @@ -1962,7 +1962,7 @@ logtimezone :: - 'logtimezone' => 'Europe/Berlin', + 'logtimezone' => 'Europe/Berlin', The timezone for logfiles. See https://www.php.net/manual/en/timezones.php @@ -1974,7 +1974,7 @@ log_query :: - 'log_query' => false, + 'log_query' => false, Append all database queries and parameters to the log file. Use this only for debugging, as your logfile will become huge. @@ -1985,7 +1985,7 @@ log_rotate_size :: - 'log_rotate_size' => 100 * 1024 * 1024, + 'log_rotate_size' => 100 * 1024 * 1024, Enables log rotation and limits the total size of logfiles. Set it to 0 for no rotation. Specify a size in bytes, for example, 104857600 (100 megabytes @@ -2001,7 +2001,7 @@ profiler :: - 'profiler' => false, + 'profiler' => false, Enable built-in profiler. Helpful when trying to debug performance issues. @@ -2015,7 +2015,7 @@ profiling.request :: - 'profiling.request' => false, + 'profiling.request' => false, Enable profiling for individual requests if profiling single requests is enabled or the secret is passed. @@ -2031,7 +2031,7 @@ profiling.request.rate :: - 'profiling.request.rate' => 0.001, + 'profiling.request.rate' => 0.001, The rate at which profiling data is collected for individual requests. @@ -2045,7 +2045,7 @@ profiling.secret :: - 'profiling.secret' => '', + 'profiling.secret' => '', A secret token that can be passed via ?profile_secret= to enable profiling for a specific request. @@ -2059,7 +2059,7 @@ profiling.sample :: - 'profiling.sample' => false, + 'profiling.sample' => false, Enable sampling-based profiling. This collects profiling data periodically rather than per-request. @@ -2075,7 +2075,7 @@ profiling.sample.rate :: - 'profiling.sample.rate' => 1, + 'profiling.sample.rate' => 1, The rate at which sampling profiling data is collected in seconds. @@ -2089,7 +2089,7 @@ profiling.sample.rotation :: - 'profiling.sample.rotation' => 60, + 'profiling.sample.rotation' => 60, How often (in minutes) the sample log files are rotated. @@ -2101,7 +2101,7 @@ profiling.path :: - 'profiling.path' => '/tmp', + 'profiling.path' => '/tmp', The directory where profiling data is stored. @@ -2119,16 +2119,16 @@ customclient_desktop :: - 'customclient_desktop' - => 'https://nextcloud.com/install/#install-clients', - 'customclient_android' - => 'https://play.google.com/store/apps/details?id=com.nextcloud.client', - 'customclient_ios' - => 'https://itunes.apple.com/us/app/nextcloud/id1125420102?mt=8', - 'customclient_ios_appid' - => '1125420102', - 'customclient_fdroid' - => 'https://f-droid.org/packages/com.nextcloud.client/', + 'customclient_desktop' + => 'https://nextcloud.com/install/#install-clients', + 'customclient_android' + => 'https://play.google.com/store/apps/details?id=com.nextcloud.client', + 'customclient_ios' + => 'https://itunes.apple.com/us/app/nextcloud/id1125420102?mt=8', + 'customclient_ios_appid' + => '1125420102', + 'customclient_fdroid' + => 'https://f-droid.org/packages/com.nextcloud.client/', This section is for configuring the download links for Nextcloud clients, as seen in the first-run wizard and on Personal pages. @@ -2153,7 +2153,7 @@ activity_expire_days :: - 'activity_expire_days' => 365, + 'activity_expire_days' => 365, Retention of activities. @@ -2168,7 +2168,7 @@ activity_use_cached_mountpoints :: - 'activity_use_cached_mountpoints' => false, + 'activity_use_cached_mountpoints' => false, Activities in Team Folders and External Storages. @@ -2183,7 +2183,7 @@ past activities to be displayed (no retroactivity). .. warning:: Enabling this comes with some CRITICAL trade-offs: - + - If team folder "Advanced Permissions" (ACLs) are used, activities do not respect the permissions and therefore all users see all activities, even for files and directories they do not have access to. @@ -2208,7 +2208,7 @@ defaultapp :: - 'defaultapp' => 'dashboard,files', + 'defaultapp' => 'dashboard,files', Set the default app to open on login. The entry IDs can be retrieved from the Navigations OCS API endpoint: https://docs.nextcloud.com/server/latest/developer_manual/_static/openapi.html#/operations/core-navigation-get-apps-navigation. @@ -2225,7 +2225,7 @@ appstoreenabled :: - 'appstoreenabled' => true, + 'appstoreenabled' => true, When enabled, admins may install apps from the Nextcloud app store. @@ -2237,7 +2237,7 @@ appstoreurl :: - 'appstoreurl' => 'https://apps.nextcloud.com/api/v1', + 'appstoreurl' => 'https://apps.nextcloud.com/api/v1', Enables the installation of apps from a self-hosted apps store. @@ -2251,7 +2251,7 @@ appsallowlist :: - 'appsallowlist' => [], + 'appsallowlist' => [], Filters allowed installable apps from the appstore. @@ -2263,13 +2263,13 @@ apps_paths :: - 'apps_paths' => [ - [ - 'path' => '/var/www/nextcloud/apps', - 'url' => '/apps', - 'writable' => true, - ], - ], + 'apps_paths' => [ + [ + 'path' => '/var/www/nextcloud/apps', + 'url' => '/apps', + 'writable' => true, + ], + ], Use the ``apps_paths`` parameter to set the location of the Apps directory, which should be scanned for available apps, and where user-specific apps @@ -2295,7 +2295,7 @@ enable_previews :: - 'enable_previews' => true, + 'enable_previews' => true, By default, Nextcloud can generate previews for the following filetypes: @@ -2313,7 +2313,7 @@ preview_concurrency_all :: - 'preview_concurrency_all' => 8, + 'preview_concurrency_all' => 8, Number of all preview requests being processed concurrently, including previews that need to be newly generated, and those that have @@ -2328,7 +2328,7 @@ preview_concurrency_new :: - 'preview_concurrency_new' => 4, + 'preview_concurrency_new' => 4, Number of new previews that are being concurrently generated. @@ -2344,7 +2344,7 @@ preview_max_x :: - 'preview_max_x' => 4096, + 'preview_max_x' => 4096, The maximum width, in pixels, of a preview. A value of ``null`` means there is no limit. @@ -2357,7 +2357,7 @@ preview_max_y :: - 'preview_max_y' => 4096, + 'preview_max_y' => 4096, The maximum height, in pixels, of a preview. A value of ``null`` means there is no limit. @@ -2370,7 +2370,7 @@ preview_max_filesize_image :: - 'preview_max_filesize_image' => 50, + 'preview_max_filesize_image' => 50, Max file size for generating image previews with imagegd (default behavior). @@ -2386,7 +2386,7 @@ preview_max_memory :: - 'preview_max_memory' => 256, + 'preview_max_memory' => 256, Max memory for generating image previews with imagegd (default behavior) Reads the image dimensions from the header and assumes 32 bits per pixel. @@ -2402,7 +2402,7 @@ preview_libreoffice_path :: - 'preview_libreoffice_path' => '/usr/bin/libreoffice', + 'preview_libreoffice_path' => '/usr/bin/libreoffice', Custom path for LibreOffice/OpenOffice binary @@ -2414,7 +2414,7 @@ preview_ffmpeg_path :: - 'preview_ffmpeg_path' => '/usr/bin/ffmpeg', + 'preview_ffmpeg_path' => '/usr/bin/ffmpeg', Custom path for ffmpeg binary @@ -2427,7 +2427,7 @@ preview_ffprobe_path :: - 'preview_ffprobe_path' => '/usr/bin/ffprobe', + 'preview_ffprobe_path' => '/usr/bin/ffprobe', Custom path for ffprobe binary @@ -2441,7 +2441,7 @@ preview_imaginary_url :: - 'preview_imaginary_url' => 'http://previews_hpb:8088/', + 'preview_imaginary_url' => 'http://previews_hpb:8088/', Set the URL of the Imaginary service to send image previews to. @@ -2460,7 +2460,7 @@ preview_imaginary_key :: - 'preview_imaginary_key' => 'secret', + 'preview_imaginary_key' => 'secret', If you want to set an API key for Imaginary. @@ -2470,18 +2470,18 @@ enabledPreviewProviders :: - 'enabledPreviewProviders' => [ - 'OC\Preview\PNG', - 'OC\Preview\JPEG', - 'OC\Preview\GIF', - 'OC\Preview\BMP', - 'OC\Preview\XBitmap', - 'OC\Preview\Krita', - 'OC\Preview\WebP', - 'OC\Preview\MarkDown', - 'OC\Preview\TXT', - 'OC\Preview\OpenDocument', - ], + 'enabledPreviewProviders' => [ + 'OC\Preview\PNG', + 'OC\Preview\JPEG', + 'OC\Preview\GIF', + 'OC\Preview\BMP', + 'OC\Preview\XBitmap', + 'OC\Preview\Krita', + 'OC\Preview\WebP', + 'OC\Preview\MarkDown', + 'OC\Preview\TXT', + 'OC\Preview\OpenDocument', + ], Only register providers that have been explicitly enabled @@ -2529,7 +2529,7 @@ metadata_max_filesize :: - 'metadata_max_filesize' => 256, + 'metadata_max_filesize' => 256, Maximum file size for metadata generation. @@ -2549,7 +2549,7 @@ max_file_conversion_filesize :: - 'max_file_conversion_filesize' => 100, + 'max_file_conversion_filesize' => 100, Maximum file size for file conversion. @@ -2569,7 +2569,7 @@ ldapUserCleanupInterval :: - 'ldapUserCleanupInterval' => 51, + 'ldapUserCleanupInterval' => 51, Defines the interval in minutes for the background job that checks user existence and marks them as ready to be cleaned up. The number is always @@ -2585,7 +2585,7 @@ sort_groups_by_name :: - 'sort_groups_by_name' => false, + 'sort_groups_by_name' => false, Sort groups in the user settings by name instead of the user count @@ -2605,7 +2605,7 @@ comments.managerFactory :: - 'comments.managerFactory' => '\OC\Comments\ManagerFactory', + 'comments.managerFactory' => '\OC\Comments\ManagerFactory', Replaces the default Comments Manager Factory. This can be utilized if an own or 3rd-party CommentsManager should be used that – for instance – uses the @@ -2619,7 +2619,7 @@ systemtags.managerFactory :: - 'systemtags.managerFactory' => '\OC\SystemTag\ManagerFactory', + 'systemtags.managerFactory' => '\OC\SystemTag\ManagerFactory', Replaces the default System Tags Manager Factory. This can be utilized if an own or 3rd-party SystemTagsManager should be used that – for instance – uses the @@ -2640,7 +2640,7 @@ maintenance :: - 'maintenance' => false, + 'maintenance' => false, Enable maintenance mode to disable Nextcloud @@ -2657,7 +2657,7 @@ maintenance_window_start :: - 'maintenance_window_start' => 1, + 'maintenance_window_start' => 1, UTC Hour for maintenance windows @@ -2676,7 +2676,7 @@ ldap_log_file :: - 'ldap_log_file' => '', + 'ldap_log_file' => '', Log all LDAP requests into a file @@ -2694,9 +2694,9 @@ openssl :: - 'openssl' => [ - 'config' => '/absolute/location/of/openssl.cnf', - ], + 'openssl' => [ + 'config' => '/absolute/location/of/openssl.cnf', + ], Extra SSL options to be used for configuration. @@ -2726,7 +2726,7 @@ memcache.local :: - 'memcache.local' => '\\OC\\Memcache\\APCu', + 'memcache.local' => '\\OC\\Memcache\\APCu', Memory caching backend for locally stored data @@ -2740,7 +2740,7 @@ memcache.distributed :: - 'memcache.distributed' => '\\OC\\Memcache\\Memcached', + 'memcache.distributed' => '\\OC\\Memcache\\Memcached', Memory caching backend for distributed data @@ -2755,7 +2755,7 @@ memcache_customprefix :: - 'memcache_customprefix' => 'mycustomprefix', + 'memcache_customprefix' => 'mycustomprefix', Cache Key Prefix for Redis or Memcached @@ -2770,22 +2770,22 @@ redis :: - 'redis' => [ - 'host' => 'localhost', // can also be a Unix domain socket: '/tmp/redis.sock' - 'port' => 6379, - 'timeout' => 0.0, - 'read_timeout' => 0.0, - 'user' => '', // Optional: if not defined, no password will be used. - 'password' => '', // Optional: if not defined, no password will be used. - 'dbindex' => 0, // Optional: if undefined, SELECT will not run and will use Redis Server's default DB Index. - // If Redis in-transit encryption is enabled, provide certificates - // SSL context https://www.php.net/manual/en/context.ssl.php - 'ssl_context' => [ - 'local_cert' => '/certs/redis.crt', - 'local_pk' => '/certs/redis.key', - 'cafile' => '/certs/ca.crt' - ] - ], + 'redis' => [ + 'host' => 'localhost', // can also be a Unix domain socket: '/tmp/redis.sock' + 'port' => 6379, + 'timeout' => 0.0, + 'read_timeout' => 0.0, + 'user' => '', // Optional: if not defined, no password will be used. + 'password' => '', // Optional: if not defined, no password will be used. + 'dbindex' => 0, // Optional: if undefined, SELECT will not run and will use Redis Server's default DB Index. + // If Redis in-transit encryption is enabled, provide certificates + // SSL context https://www.php.net/manual/en/context.ssl.php + 'ssl_context' => [ + 'local_cert' => '/certs/redis.crt', + 'local_pk' => '/certs/redis.key', + 'cafile' => '/certs/ca.crt' + ] + ], Connection details for Redis to use for memory caching in a single server configuration. @@ -2802,24 +2802,24 @@ redis.cluster :: - 'redis.cluster' => [ - 'seeds' => [ // provide some or all of the cluster servers to bootstrap discovery, port required - 'localhost:7000', - 'localhost:7001', - ], - 'timeout' => 0.0, - 'read_timeout' => 0.0, - 'failover_mode' => \RedisCluster::FAILOVER_ERROR, - 'user' => '', // Optional: if not defined, no password will be used. - 'password' => '', // Optional: if not defined, no password will be used. - // If Redis in-transit encryption is enabled, provide certificates - // SSL context https://www.php.net/manual/en/context.ssl.php - 'ssl_context' => [ - 'local_cert' => '/certs/redis.crt', - 'local_pk' => '/certs/redis.key', - 'cafile' => '/certs/ca.crt' - ] - ], + 'redis.cluster' => [ + 'seeds' => [ // provide some or all of the cluster servers to bootstrap discovery, port required + 'localhost:7000', + 'localhost:7001', + ], + 'timeout' => 0.0, + 'read_timeout' => 0.0, + 'failover_mode' => \RedisCluster::FAILOVER_ERROR, + 'user' => '', // Optional: if not defined, no password will be used. + 'password' => '', // Optional: if not defined, no password will be used. + // If Redis in-transit encryption is enabled, provide certificates + // SSL context https://www.php.net/manual/en/context.ssl.php + 'ssl_context' => [ + 'local_cert' => '/certs/redis.crt', + 'local_pk' => '/certs/redis.key', + 'cafile' => '/certs/ca.crt' + ] + ], Connection details for a Redis Cluster. @@ -2852,14 +2852,14 @@ memcached_servers :: - 'memcached_servers' => [ - // hostname, port and optional weight - // or path and port 0 for Unix socket. Also see: - // https://www.php.net/manual/en/memcached.addservers.php - // https://www.php.net/manual/en/memcached.addserver.php - ['localhost', 11211], - //array('other.host.local', 11211), - ], + 'memcached_servers' => [ + // hostname, port and optional weight + // or path and port 0 for Unix socket. Also see: + // https://www.php.net/manual/en/memcached.addservers.php + // https://www.php.net/manual/en/memcached.addserver.php + ['localhost', 11211], + //array('other.host.local', 11211), + ], Server details for one or more Memcached servers to use for memory caching. @@ -2869,26 +2869,26 @@ memcached_options :: - 'memcached_options' => [ - // Set timeouts to 50ms - \Memcached::OPT_CONNECT_TIMEOUT => 50, - \Memcached::OPT_RETRY_TIMEOUT => 50, - \Memcached::OPT_SEND_TIMEOUT => 50, - \Memcached::OPT_RECV_TIMEOUT => 50, - \Memcached::OPT_POLL_TIMEOUT => 50, - - // Enable compression - \Memcached::OPT_COMPRESSION => true, - - // Turn on consistent hashing - \Memcached::OPT_LIBKETAMA_COMPATIBLE => true, - - // Enable Binary Protocol - \Memcached::OPT_BINARY_PROTOCOL => true, - - // Binary serializer will be enabled if the igbinary PECL module is available - //\Memcached::OPT_SERIALIZER => \Memcached::SERIALIZER_IGBINARY, - ], + 'memcached_options' => [ + // Set timeouts to 50ms + \Memcached::OPT_CONNECT_TIMEOUT => 50, + \Memcached::OPT_RETRY_TIMEOUT => 50, + \Memcached::OPT_SEND_TIMEOUT => 50, + \Memcached::OPT_RECV_TIMEOUT => 50, + \Memcached::OPT_POLL_TIMEOUT => 50, + + // Enable compression + \Memcached::OPT_COMPRESSION => true, + + // Turn on consistent hashing + \Memcached::OPT_LIBKETAMA_COMPATIBLE => true, + + // Enable Binary Protocol + \Memcached::OPT_BINARY_PROTOCOL => true, + + // Binary serializer will be enabled if the igbinary PECL module is available + //\Memcached::OPT_SERIALIZER => \Memcached::SERIALIZER_IGBINARY, + ], Connection options for Memcached @@ -2898,7 +2898,7 @@ cache_path :: - 'cache_path' => '', + 'cache_path' => '', Location of the cache folder, defaults to ``data/$user/cache`` where ``$user`` is the current user. When specified, the format will change to @@ -2913,7 +2913,7 @@ cache_chunk_gc_ttl :: - 'cache_chunk_gc_ttl' => 60 * 60 * 24, + 'cache_chunk_gc_ttl' => 60 * 60 * 24, TTL of chunks located in the cache folder before they're removed by garbage collection (in seconds). Increase this value if users have @@ -2928,7 +2928,7 @@ cache_app_config :: - 'cache_app_config' => true, + 'cache_app_config' => true, Enable caching of the app config values. @@ -2947,37 +2947,37 @@ objectstore :: - 'objectstore' => [ - 'class' => 'OC\\Files\\ObjectStore\\Swift', - 'arguments' => [ - // trystack will use your Facebook ID as the username - 'username' => 'facebook100000123456789', - // in the trystack dashboard, go to user -> settings -> API Password to - // generate a password - 'password' => 'Secr3tPaSSWoRdt7', - // must already exist in the objectstore, name can be different - 'container' => 'nextcloud', - // prefix to prepend to the fileid, default is 'oid:urn:' - 'objectPrefix' => 'oid:urn:', - // create the container if it does not exist. default is false - 'autocreate' => true, - // required, dev-/trystack defaults to 'RegionOne' - 'region' => 'RegionOne', - // The Identity / Keystone endpoint - 'url' => 'http://8.21.28.222:5000/v2.0', - // uploadPartSize: size of the uploaded chunks, defaults to 524288000 - 'uploadPartSize' => 524288000, - // required on dev-/trystack - 'tenantName' => 'facebook100000123456789', - // dev-/trystack uses swift by default, the lib defaults to 'cloudFiles' - // if omitted - 'serviceName' => 'swift', - // The Interface / URL Type, optional - 'urlType' => 'internal', - // Maximum amount of data that can be uploaded - 'totalSizeLimit' => 1024 * 1024 * 1024, - ], - ], + 'objectstore' => [ + 'class' => 'OC\\Files\\ObjectStore\\Swift', + 'arguments' => [ + // trystack will use your Facebook ID as the username + 'username' => 'facebook100000123456789', + // in the trystack dashboard, go to user -> settings -> API Password to + // generate a password + 'password' => 'Secr3tPaSSWoRdt7', + // must already exist in the objectstore, name can be different + 'container' => 'nextcloud', + // prefix to prepend to the fileid, default is 'oid:urn:' + 'objectPrefix' => 'oid:urn:', + // create the container if it does not exist. default is false + 'autocreate' => true, + // required, dev-/trystack defaults to 'RegionOne' + 'region' => 'RegionOne', + // The Identity / Keystone endpoint + 'url' => 'http://8.21.28.222:5000/v2.0', + // uploadPartSize: size of the uploaded chunks, defaults to 524288000 + 'uploadPartSize' => 524288000, + // required on dev-/trystack + 'tenantName' => 'facebook100000123456789', + // dev-/trystack uses swift by default, the lib defaults to 'cloudFiles' + // if omitted + 'serviceName' => 'swift', + // The Interface / URL Type, optional + 'urlType' => 'internal', + // Maximum amount of data that can be uploaded + 'totalSizeLimit' => 1024 * 1024 * 1024, + ], + ], This example shows how to configure Nextcloud to store all files in a Swift object storage. @@ -3003,32 +3003,32 @@ objectstore :: - 'objectstore' => [ - 'class' => 'OC\\Files\\ObjectStore\\Swift', - 'arguments' => [ - 'autocreate' => true, - 'user' => [ - 'name' => 'swift', - 'password' => 'swift', - 'domain' => [ - 'name' => 'default', - ], - ], - 'scope' => [ - 'project' => [ - 'name' => 'service', - 'domain' => [ - 'name' => 'default', - ], - ], - ], - 'tenantName' => 'service', - 'serviceName' => 'swift', - 'region' => 'regionOne', - 'url' => 'http://yourswifthost:5000/v3', - 'bucket' => 'nextcloud', - ], - ], + 'objectstore' => [ + 'class' => 'OC\\Files\\ObjectStore\\Swift', + 'arguments' => [ + 'autocreate' => true, + 'user' => [ + 'name' => 'swift', + 'password' => 'swift', + 'domain' => [ + 'name' => 'default', + ], + ], + 'scope' => [ + 'project' => [ + 'name' => 'service', + 'domain' => [ + 'name' => 'default', + ], + ], + ], + 'tenantName' => 'service', + 'serviceName' => 'swift', + 'region' => 'regionOne', + 'url' => 'http://yourswifthost:5000/v3', + 'bucket' => 'nextcloud', + ], + ], To use Swift V3 @@ -3038,27 +3038,27 @@ objectstore :: - 'objectstore' => [ - 'class' => 'OC\\Files\\ObjectStore\\S3', - 'arguments' => [ - 'bucket' => 'nextcloud', - 'key' => 'your-access-key', - 'secret' => 'your-secret-key', - 'hostname' => 's3.example.com', - 'port' => 443, - 'use_ssl' => true, - 'region' => 'us-east-1', - // optional: Maximum number of retry attempts for failed S3 requests - // Default: 5 - 'retriesMaxAttempts' => 5, - // Data Integrity Protections for Amazon S3 (https://docs.aws.amazon.com/sdkref/latest/guide/feature-dataintegrity.html) - // Valid values are "when_required" (default) and "when_supported". - // To ensure compatibility with 3rd party S3 implementations, Nextcloud disables it by default. However, if you are - // using Amazon S3 (or any other implementation that supports it) we recommend enabling it by using "when_supported". - 'request_checksum_calculation' => 'when_required', - 'response_checksum_validation' => 'when_required', - ], - ], + 'objectstore' => [ + 'class' => 'OC\\Files\\ObjectStore\\S3', + 'arguments' => [ + 'bucket' => 'nextcloud', + 'key' => 'your-access-key', + 'secret' => 'your-secret-key', + 'hostname' => 's3.example.com', + 'port' => 443, + 'use_ssl' => true, + 'region' => 'us-east-1', + // optional: Maximum number of retry attempts for failed S3 requests + // Default: 5 + 'retriesMaxAttempts' => 5, + // Data Integrity Protections for Amazon S3 (https://docs.aws.amazon.com/sdkref/latest/guide/feature-dataintegrity.html) + // Valid values are "when_required" (default) and "when_supported". + // To ensure compatibility with 3rd party S3 implementations, Nextcloud disables it by default. However, if you are + // using Amazon S3 (or any other implementation that supports it) we recommend enabling it by using "when_supported". + 'request_checksum_calculation' => 'when_required', + 'response_checksum_validation' => 'when_required', + ], + ], To use S3 object storage @@ -3068,7 +3068,7 @@ objectstore.multibucket.preview-distribution :: - 'objectstore.multibucket.preview-distribution' => false, + 'objectstore.multibucket.preview-distribution' => false, If this is set to true and a multibucket object store is configured, then newly created previews are put into 256 dedicated buckets. @@ -3096,7 +3096,7 @@ sharing.managerFactory :: - 'sharing.managerFactory' => '\OC\Share20\ProviderFactory', + 'sharing.managerFactory' => '\OC\Share20\ProviderFactory', Replaces the default Share Provider Factory. This can be utilized if own or 3rd-party Share Providers are used that – for instance – use the @@ -3110,7 +3110,7 @@ sharing.enable_mail_link_password_expiration :: - 'sharing.enable_mail_link_password_expiration' => false, + 'sharing.enable_mail_link_password_expiration' => false, Enables expiration for link share passwords sent by email (sharebymail). @@ -3123,7 +3123,7 @@ sharing.mail_link_password_expiration_interval :: - 'sharing.mail_link_password_expiration_interval' => 3600, + 'sharing.mail_link_password_expiration_interval' => 3600, Expiration interval for passwords, in seconds. @@ -3133,7 +3133,7 @@ sharing.maxAutocompleteResults :: - 'sharing.maxAutocompleteResults' => 25, + 'sharing.maxAutocompleteResults' => 25, Define max number of results returned by the search for auto-completion of users, groups, etc. The value must not be lower than 0 (for unlimited). @@ -3151,7 +3151,7 @@ sharing.minSearchStringLength :: - 'sharing.minSearchStringLength' => 0, + 'sharing.minSearchStringLength' => 0, Define the minimum length of the search string before we start auto-completion Default is no limit (value set to 0) @@ -3162,7 +3162,7 @@ sharing.enable_share_accept :: - 'sharing.enable_share_accept' => false, + 'sharing.enable_share_accept' => false, Set to true to enable that internal shares need to be accepted by the users by default. @@ -3174,7 +3174,7 @@ sharing.force_share_accept :: - 'sharing.force_share_accept' => false, + 'sharing.force_share_accept' => false, Set to ``true`` to enforce that internal shares need to be accepted @@ -3184,7 +3184,7 @@ sharing.allow_custom_share_folder :: - 'sharing.allow_custom_share_folder' => true, + 'sharing.allow_custom_share_folder' => true, Set to ``false`` to prevent users from setting a custom share_folder @@ -3194,7 +3194,7 @@ share_folder :: - 'share_folder' => '/', + 'share_folder' => '/', Define a default folder for shared files and folders other than root. @@ -3208,7 +3208,7 @@ sharing.enable_share_mail :: - 'sharing.enable_share_mail' => true, + 'sharing.enable_share_mail' => true, Set to ``false`` to stop sending a mail when users receive a share @@ -3218,7 +3218,7 @@ sharing.allow_disabled_password_enforcement_groups :: - 'sharing.allow_disabled_password_enforcement_groups' => false, + 'sharing.allow_disabled_password_enforcement_groups' => false, Set to true to enable the feature to add exceptions for share password enforcement @@ -3228,7 +3228,7 @@ transferIncomingShares :: - 'transferIncomingShares' => false, + 'transferIncomingShares' => false, Set to true to always transfer incoming shares by default when running ``occ files:transfer-ownership``. @@ -3246,7 +3246,7 @@ sharing.federation.allowSelfSignedCertificates :: - 'sharing.federation.allowSelfSignedCertificates' => false, + 'sharing.federation.allowSelfSignedCertificates' => false, Allow self-signed certificates for federated shares @@ -3260,7 +3260,7 @@ hashing_default_password :: - 'hashing_default_password' => false, + 'hashing_default_password' => false, By default, Nextcloud will use the Argon2 password hashing if available. @@ -3277,7 +3277,7 @@ hashingThreads :: - 'hashingThreads' => PASSWORD_ARGON2_DEFAULT_THREADS, + 'hashingThreads' => PASSWORD_ARGON2_DEFAULT_THREADS, The number of CPU threads to be used by the algorithm for computing a hash. @@ -3291,7 +3291,7 @@ hashingMemoryCost :: - 'hashingMemoryCost' => PASSWORD_ARGON2_DEFAULT_MEMORY_COST, + 'hashingMemoryCost' => PASSWORD_ARGON2_DEFAULT_MEMORY_COST, The memory in KiB to be used by the algorithm for computing a hash. The value must be an integer, and the minimum value is 8 times the number of CPU threads. @@ -3304,7 +3304,7 @@ hashingTimeCost :: - 'hashingTimeCost' => PASSWORD_ARGON2_DEFAULT_TIME_COST, + 'hashingTimeCost' => PASSWORD_ARGON2_DEFAULT_TIME_COST, The number of iterations that are used by the algorithm for computing a hash. @@ -3317,7 +3317,7 @@ hashingCost :: - 'hashingCost' => 10, + 'hashingCost' => 10, The hashing cost used by hashes generated by Nextcloud Using a higher value requires more time and CPU power to calculate the hashes @@ -3332,13 +3332,13 @@ dbdriveroptions :: - 'dbdriveroptions' => [ - PDO::MYSQL_ATTR_SSL_CA => '/file/path/to/ca_cert.pem', - PDO::MYSQL_ATTR_SSL_KEY => '/file/path/to/mysql-client-key.pem', - PDO::MYSQL_ATTR_SSL_CERT => '/file/path/to/mysql-client-cert.pem', - PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT => false, - PDO::MYSQL_ATTR_INIT_COMMAND => 'SET wait_timeout = 28800' - ], + 'dbdriveroptions' => [ + PDO::MYSQL_ATTR_SSL_CA => '/file/path/to/ca_cert.pem', + PDO::MYSQL_ATTR_SSL_KEY => '/file/path/to/mysql-client-key.pem', + PDO::MYSQL_ATTR_SSL_CERT => '/file/path/to/mysql-client-cert.pem', + PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT => false, + PDO::MYSQL_ATTR_INIT_COMMAND => 'SET wait_timeout = 28800' + ], Additional driver options for the database connection, e.g., to enable SSL encryption in MySQL or specify a custom wait timeout on a cheap hoster. @@ -3356,7 +3356,7 @@ sqlite.journal_mode :: - 'sqlite.journal_mode' => 'DELETE', + 'sqlite.journal_mode' => 'DELETE', SQLite3 journal mode can be specified using this configuration parameter - can be ``'WAL'`` or ``'DELETE'``. See https://www.sqlite.org/wal.html for more details. @@ -3367,7 +3367,7 @@ mysql.utf8mb4 :: - 'mysql.utf8mb4' => false, + 'mysql.utf8mb4' => false, During setup, if requirements are met (see below), this setting is set to true to enable MySQL to handle 4-byte characters instead of 3-byte characters. @@ -3405,7 +3405,7 @@ mysql.collation :: - 'mysql.collation' => null, + 'mysql.collation' => null, For search queries in the database, a default collation is chosen based on the character set. In some cases, a different collation is desired, such as for @@ -3427,13 +3427,13 @@ pgsql_ssl :: - 'pgsql_ssl' => [ - 'mode' => '', - 'cert' => '', - 'rootcert' => '', - 'key' => '', - 'crl' => '', - ], + 'pgsql_ssl' => [ + 'mode' => '', + 'cert' => '', + 'rootcert' => '', + 'key' => '', + 'crl' => '', + ], PostgreSQL SSL connection @@ -3443,12 +3443,12 @@ supportedDatabases :: - 'supportedDatabases' => [ - 'sqlite', - 'mysql', - 'pgsql', - 'oci', - ], + 'supportedDatabases' => [ + 'sqlite', + 'mysql', + 'pgsql', + 'oci', + ], Database types supported for installation. @@ -3469,7 +3469,7 @@ tempdirectory :: - 'tempdirectory' => '/tmp/nextcloudtemp', + 'tempdirectory' => '/tmp/nextcloudtemp', Override the location where Nextcloud stores temporary files. Useful in setups where the system temporary directory is on a limited-space ramdisk, restricted, @@ -3486,7 +3486,7 @@ updatedirectory :: - 'updatedirectory' => '', + 'updatedirectory' => '', Override the location where Nextcloud stores update files during updates. @@ -3502,7 +3502,7 @@ forbidden_filenames :: - 'forbidden_filenames' => ['.htaccess'], + 'forbidden_filenames' => ['.htaccess'], Block specific files or filenames, disallowing uploads or access (read and write). @@ -3528,7 +3528,7 @@ forbidden_filename_basenames :: - 'forbidden_filename_basenames' => [], + 'forbidden_filename_basenames' => [], Disallow uploads of files with specific basenames. Matching existing files cannot be updated, and no new files can be created in matching folders. @@ -3550,7 +3550,7 @@ forbidden_filename_characters :: - 'forbidden_filename_characters' => [], + 'forbidden_filename_characters' => [], Block specific characters in filenames. Useful for filesystems or operating systems (e.g., Windows) that do not support certain characters. Matching @@ -3571,7 +3571,7 @@ forbidden_filename_extensions :: - 'forbidden_filename_extensions' => ['.part', '.filepart'], + 'forbidden_filename_extensions' => ['.part', '.filepart'], Deny specific file extensions. Matching existing files cannot be updated, and no new files can be created in matching folders. @@ -3586,7 +3586,7 @@ theme :: - 'theme' => '', + 'theme' => '', Specify the name of a theme to apply to Nextcloud. Themes are located in ``nextcloud/themes/`` by default. @@ -3599,7 +3599,7 @@ enforce_theme :: - 'enforce_theme' => '', + 'enforce_theme' => '', Enforce a specific user theme, disabling user theming settings. Must be a valid ITheme ID, e.g., ``dark``, ``dark-highcontrast``, ``default``, ``light``, @@ -3611,7 +3611,7 @@ theming.standalone_window.enabled :: - 'theming.standalone_window.enabled' => true, + 'theming.standalone_window.enabled' => true, Enable or disable Progressive Web App (PWA) functionality, which allows browsers to open web applications in dedicated windows. @@ -3624,7 +3624,7 @@ cipher :: - 'cipher' => 'AES-256-CTR', + 'cipher' => 'AES-256-CTR', Specify the default cipher for encrypting files. Supported ciphers: - AES-256-CTR @@ -3640,7 +3640,7 @@ encryption.use_legacy_base64_encoding :: - 'encryption.use_legacy_base64_encoding' => false, + 'encryption.use_legacy_base64_encoding' => false, Use the legacy base64 format for encrypted files instead of the more space-efficient binary format. This affects only newly written files; existing @@ -3654,7 +3654,7 @@ minimum.supported.desktop.version :: - 'minimum.supported.desktop.version' => '3.2.50', + 'minimum.supported.desktop.version' => '3.2.50', Specify the minimum Nextcloud desktop client version allowed to sync with this server. Connections from earlier clients will be denied. Defaults to the @@ -3671,7 +3671,7 @@ maximum.supported.desktop.version :: - 'maximum.supported.desktop.version' => '99.99.99', + 'maximum.supported.desktop.version' => '99.99.99', Specify the maximum Nextcloud desktop client version allowed to sync with this server. Connections from later clients will be denied. @@ -3684,7 +3684,7 @@ localstorage.allowsymlinks :: - 'localstorage.allowsymlinks' => false, + 'localstorage.allowsymlinks' => false, Allow local storage to contain symlinks. @@ -3703,7 +3703,7 @@ localstorage.umask :: - 'localstorage.umask' => 0022, + 'localstorage.umask' => 0022, Nextcloud overrides umask to ensure suitable access permissions regardless of web server or PHP-FPM configuration. Modifying this value has security @@ -3719,7 +3719,7 @@ localstorage.unlink_on_truncate :: - 'localstorage.unlink_on_truncate' => false, + 'localstorage.unlink_on_truncate' => false, Allow storage systems that do not support modifying existing files to overcome this limitation by removing files before overwriting. @@ -3732,7 +3732,7 @@ quota_include_external_storage :: - 'quota_include_external_storage' => false, + 'quota_include_external_storage' => false, Include external storage mounts in quota calculations. @@ -3763,7 +3763,7 @@ external_storage.auth_availability_delay :: - 'external_storage.auth_availability_delay' => 1800, + 'external_storage.auth_availability_delay' => 1800, When an external storage is unavailable (e.g., due to failed authentication), it is flagged as such for a specified duration. For authentication failures, @@ -3778,7 +3778,7 @@ files_external_allow_create_new_local :: - 'files_external_allow_create_new_local' => true, + 'files_external_allow_create_new_local' => true, Allow creation of external storages of type "Local" via the web interface and APIs. When disabled, local storages can still be created using the occ command:: @@ -3793,7 +3793,7 @@ filesystem_check_changes :: - 'filesystem_check_changes' => 0, + 'filesystem_check_changes' => 0, Specify how often the local filesystem (Nextcloud data/ directory and NFS mounts in data/) is checked for changes made outside Nextcloud. This does not @@ -3810,7 +3810,7 @@ part_file_in_storage :: - 'part_file_in_storage' => true, + 'part_file_in_storage' => true, Control where temporary ".part" files are written during direct (non-chunked) uploads. @@ -3837,7 +3837,7 @@ filesystem_cache_readonly :: - 'filesystem_cache_readonly' => false, + 'filesystem_cache_readonly' => false, Read-only mode for scan/detection reconciliation writes to filecache. @@ -3871,7 +3871,7 @@ trusted_proxies :: - 'trusted_proxies' => ['203.0.113.45', '198.51.100.128', '192.168.2.0/24'], + 'trusted_proxies' => ['203.0.113.45', '198.51.100.128', '192.168.2.0/24'], List of trusted proxy servers. Supported formats: @@ -3894,7 +3894,7 @@ forwarded_for_headers :: - 'forwarded_for_headers' => ['HTTP_X_FORWARDED', 'HTTP_FORWARDED_FOR'], + 'forwarded_for_headers' => ['HTTP_X_FORWARDED', 'HTTP_FORWARDED_FOR'], Headers trusted as containing the client IP address when used with ``trusted_proxies``. For example, use ``HTTP_X_FORWARDED_FOR`` for the @@ -3911,7 +3911,7 @@ allowed_admin_ranges :: - 'allowed_admin_ranges' => ['192.0.2.42/32', '233.252.0.0/24', '2001:db8::13:37/64'], + 'allowed_admin_ranges' => ['192.0.2.42/32', '233.252.0.0/24', '2001:db8::13:37/64'], List of trusted IP ranges for admin actions. If non-empty, all admin actions must originate from IPs within these ranges. @@ -3928,7 +3928,7 @@ max_filesize_animated_gifs_public_sharing :: - 'max_filesize_animated_gifs_public_sharing' => 10, + 'max_filesize_animated_gifs_public_sharing' => 10, Maximum file size (in megabytes) for animating GIFs on public sharing pages. @@ -3944,7 +3944,7 @@ filelocking.ttl :: - 'filelocking.ttl' => 60 * 60, + 'filelocking.ttl' => 60 * 60, Set the lock's time-to-live (TTL) in seconds. Locks older than this are automatically cleaned up. @@ -3958,7 +3958,7 @@ memcache.locking :: - 'memcache.locking' => '\\OC\\Memcache\\Redis', + 'memcache.locking' => '\\OC\\Memcache\\Redis', Memory caching backend for file locking. Redis is highly recommended to avoid data loss, as many memcache backends may evict values unexpectedly. @@ -3971,7 +3971,7 @@ filelocking.debug :: - 'filelocking.debug' => false, + 'filelocking.debug' => false, Enable debug logging for file locking. This can generate a large volume of log entries, potentially causing performance degradation and large log files on @@ -3987,7 +3987,7 @@ upgrade.disable-web :: - 'upgrade.disable-web' => false, + 'upgrade.disable-web' => false, Disable the web-based updater. @@ -3999,7 +3999,7 @@ upgrade.cli-upgrade-link :: - 'upgrade.cli-upgrade-link' => '', + 'upgrade.cli-upgrade-link' => '', Customize the CLI upgrade documentation link. @@ -4009,7 +4009,7 @@ user_ini_additional_lines :: - 'user_ini_additional_lines' => '', + 'user_ini_additional_lines' => '', Additional line(s) (string or array of strings) that will be added to .user.ini on each update by the updater. @@ -4022,7 +4022,7 @@ documentation_url.server_logs :: - 'documentation_url.server_logs' => '', + 'documentation_url.server_logs' => '', Customize the server logs documentation link for exception handling. @@ -4032,7 +4032,7 @@ debug :: - 'debug' => false, + 'debug' => false, Enable debugging mode for Nextcloud. Only use for local development, not in production, as it disables minification and outputs additional debug @@ -4046,7 +4046,7 @@ data-fingerprint :: - 'data-fingerprint' => '', + 'data-fingerprint' => '', Set the data fingerprint for the current data served. Used by clients to detect if a backup has been restored. Update this by running:: @@ -4064,7 +4064,7 @@ configfilemode :: - 'configfilemode' => 0640, + 'configfilemode' => 0640, config.php file mode in octal notation. @@ -4076,7 +4076,7 @@ copied_sample_config :: - 'copied_sample_config' => true, + 'copied_sample_config' => true, This entry serves as a warning if the sample configuration was copied. @@ -4090,7 +4090,7 @@ lookup_server :: - 'lookup_server' => 'https://lookup.nextcloud.com', + 'lookup_server' => 'https://lookup.nextcloud.com', Use a custom lookup server to publish user data. @@ -4102,7 +4102,7 @@ gs.enabled :: - 'gs.enabled' => false, + 'gs.enabled' => false, Enable Nextcloud's Global Scale architecture. @@ -4114,7 +4114,7 @@ gs.federation :: - 'gs.federation' => 'internal', + 'gs.federation' => 'internal', Configure federation for Global Scale setups. Set to ``global`` to allow federation outside the environment. @@ -4127,10 +4127,10 @@ csrf.optout :: - 'csrf.optout' => [ - '/^WebDAVFS/', // OS X Finder - '/^Microsoft-WebDAV-MiniRedir/', // Windows WebDAV drive - ], + 'csrf.optout' => [ + '/^WebDAVFS/', // OS X Finder + '/^Microsoft-WebDAV-MiniRedir/', // Windows WebDAV drive + ], List of user agents exempt from SameSite cookie protection due to non-standard HTTP behavior. @@ -4152,7 +4152,7 @@ core.login_flow_v2.allowed_user_agents :: - 'core.login_flow_v2.allowed_user_agents' => [], + 'core.login_flow_v2.allowed_user_agents' => [], Specify allowed user agents for Login Flow V2 using regular expressions. @@ -4176,7 +4176,7 @@ simpleSignUpLink.shown :: - 'simpleSignUpLink.shown' => true, + 'simpleSignUpLink.shown' => true, Show or hide the "simple sign up" link on public pages. @@ -4190,7 +4190,7 @@ login_form_autocomplete :: - 'login_form_autocomplete' => true, + 'login_form_autocomplete' => true, Enable or disable autocompletion for the login form. Disabling this prevents browsers from remembering login credentials, which may be required for @@ -4204,7 +4204,7 @@ login_form_timeout :: - 'login_form_timeout' => 300, + 'login_form_timeout' => 300, Set a timeout (in seconds) for the login form. After this period, the form is reset to prevent password leaks on public devices if the user forgets to clear @@ -4220,7 +4220,7 @@ no_unsupported_browser_warning :: - 'no_unsupported_browser_warning' => false, + 'no_unsupported_browser_warning' => false, Suppress warnings for outdated or unsupported browsers. When enabled, users can bypass the warning after reading it. @@ -4235,7 +4235,7 @@ files_no_background_scan :: - 'files_no_background_scan' => false, + 'files_no_background_scan' => false, Disable background scanning of files. When enabled, a background job runs every 10 minutes to sync the filesystem and database for up to 500 users with @@ -4249,7 +4249,7 @@ query_log_file :: - 'query_log_file' => '', + 'query_log_file' => '', Log all database queries to a file. @@ -4267,7 +4267,7 @@ query_log_file_requestid :: - 'query_log_file_requestid' => '', + 'query_log_file_requestid' => '', Prefix all queries with the request ID when set to `yes`. @@ -4279,7 +4279,7 @@ query_log_file_parameters :: - 'query_log_file_parameters' => '', + 'query_log_file_parameters' => '', Include all query parameters in the query log when set to `yes`. @@ -4296,7 +4296,7 @@ query_log_file_backtrace :: - 'query_log_file_backtrace' => '', + 'query_log_file_backtrace' => '', Include a backtrace in the query log when set to `yes`. @@ -4308,7 +4308,7 @@ redis_log_file :: - 'redis_log_file' => '', + 'redis_log_file' => '', Log all Redis requests to a file. @@ -4326,7 +4326,7 @@ diagnostics.logging :: - 'diagnostics.logging' => true, + 'diagnostics.logging' => true, Enable diagnostics event logging. Logs timings of common execution steps at debug level. Use with ``log.condition`` to enable conditionally in production. @@ -4339,7 +4339,7 @@ diagnostics.logging.threshold :: - 'diagnostics.logging.threshold' => 0, + 'diagnostics.logging.threshold' => 0, Limit diagnostics event logging to events longer than the specified threshold (in milliseconds). A value of 0 disables diagnostics event logging. @@ -4350,7 +4350,7 @@ profile.enabled :: - 'profile.enabled' => true, + 'profile.enabled' => true, Toggle availability of user profiles. @@ -4376,7 +4376,7 @@ account_manager.default_property_scope :: - 'account_manager.default_property_scope' => [], + 'account_manager.default_property_scope' => [], Override default scopes for account data. Valid properties and scopes are defined in ``OCP\Accounts\IAccountManager``. Values are merged with defaults @@ -4391,7 +4391,7 @@ projects.enabled :: - 'projects.enabled' => false, + 'projects.enabled' => false, Enable the deprecated Projects feature, superseded by Related Resources since Nextcloud 25. @@ -4404,7 +4404,7 @@ bulkupload.enabled :: - 'bulkupload.enabled' => true, + 'bulkupload.enabled' => true, Enable the bulk upload feature. @@ -4416,7 +4416,7 @@ reference_opengraph :: - 'reference_opengraph' => true, + 'reference_opengraph' => true, Enable fetching Open Graph metadata from remote URLs. @@ -4428,7 +4428,7 @@ unified_search.enabled :: - 'unified_search.enabled' => false, + 'unified_search.enabled' => false, Enable the legacy unified search. @@ -4440,7 +4440,7 @@ enable_non-accessible_features :: - 'enable_non-accessible_features' => true, + 'enable_non-accessible_features' => true, Enable features that do not yet comply with accessibility standards. @@ -4452,15 +4452,15 @@ binary_search_paths :: - 'binary_search_paths' => [ - '/usr/local/sbin', - '/usr/local/bin', - '/usr/sbin', - '/usr/bin', - '/sbin', - '/bin', - '/opt/bin', - ], + 'binary_search_paths' => [ + '/usr/local/sbin', + '/usr/local/bin', + '/usr/sbin', + '/usr/bin', + '/sbin', + '/bin', + '/opt/bin', + ], Directories where Nextcloud searches for external binaries (e.g., LibreOffice, sendmail, ffmpeg). @@ -4480,7 +4480,7 @@ files.chunked_upload.max_size :: - 'files.chunked_upload.max_size' => 100 * 1024 * 1024, + 'files.chunked_upload.max_size' => 100 * 1024 * 1024, Maximum chunk size for chunked uploads (in bytes). Larger chunks increase throughput but yield diminishing returns above 100 MiB. Services like @@ -4494,7 +4494,7 @@ files.chunked_upload.max_parallel_count :: - 'files.chunked_upload.max_parallel_count' => 5, + 'files.chunked_upload.max_parallel_count' => 5, Maximum number of chunks uploaded in parallel during chunked uploads. Higher counts increase throughput but consume more server resources, with diminishing @@ -4508,7 +4508,7 @@ files.trash.delete :: - 'files.trash.delete' => true, + 'files.trash.delete' => true, Allow users to manually delete files from their trashbin. Automated deletions (e.g., due to low quota) are unaffected. @@ -4521,7 +4521,7 @@ enable_lazy_objects :: - 'enable_lazy_objects' => true, + 'enable_lazy_objects' => true, Enable PHP 8.4 lazy objects for Dependency Injection to improve performance by avoiding instantiation of unused objects. @@ -4534,7 +4534,7 @@ default_certificates_bundle_path :: - 'default_certificates_bundle_path' => \OC::$SERVERROOT . '/resources/config/ca-bundle.crt', + 'default_certificates_bundle_path' => \OC::$SERVERROOT . '/resources/config/ca-bundle.crt', Change the default certificates bundle used for trusting certificates. @@ -4548,10 +4548,10 @@ openmetrics_skipped_classes :: - 'openmetrics_skipped_classes' => [ - 'OC\OpenMetrics\Exporters\FilesByType', - 'OCA\Files_Sharing\OpenMetrics\SharesCount', - ], + 'openmetrics_skipped_classes' => [ + 'OC\OpenMetrics\Exporters\FilesByType', + 'OCA\Files_Sharing\OpenMetrics\SharesCount', + ], OpenMetrics skipped exporters Allows to skip some exporters in the OpenMetrics endpoint ``/metrics``. @@ -4564,11 +4564,11 @@ openmetrics_allowed_clients :: - 'openmetrics_allowed_clients' => [ - '192.168.0.0/16', - 'fe80::/10', - '10.0.0.1', - ], + 'openmetrics_allowed_clients' => [ + '192.168.0.0/16', + 'fe80::/10', + '10.0.0.1', + ], OpenMetrics allowed client IP addresses Restricts the IP addresses able to make requests on the ``/metrics`` endpoint. @@ -4583,7 +4583,7 @@ preview_expiration_days :: - 'preview_expiration_days' => 0, + 'preview_expiration_days' => 0, Delete previews older than a certain number of days to reduce storage usage.