@@ -29,2784 +29,2784 @@ |
||
| 29 | 29 | $CONFIG = [ |
| 30 | 30 | |
| 31 | 31 | |
| 32 | - /** |
|
| 33 | - * Default Parameters |
|
| 34 | - * |
|
| 35 | - * These parameters are configured by the Nextcloud installer, and are required |
|
| 36 | - * for your Nextcloud server to operate. |
|
| 37 | - */ |
|
| 38 | - |
|
| 39 | - |
|
| 40 | - /** |
|
| 41 | - * This is a unique identifier for your Nextcloud installation, created |
|
| 42 | - * automatically by the installer. This example is for documentation only, |
|
| 43 | - * and you should never use it because it will not work. A valid ``instanceid`` |
|
| 44 | - * is created when you install Nextcloud. |
|
| 45 | - */ |
|
| 46 | - 'instanceid' => '', |
|
| 47 | - |
|
| 48 | - /** |
|
| 49 | - * The salt used to hash all passwords, auto-generated by the Nextcloud |
|
| 50 | - * installer. (There are also per-user salts.) If you lose this salt, you lose |
|
| 51 | - * all your passwords. This example is for documentation only, and you should |
|
| 52 | - * never use it. |
|
| 53 | - * |
|
| 54 | - * @deprecated This salt is deprecated and only used for legacy-compatibility, |
|
| 55 | - * developers should *NOT* use this value for anything nowadays. |
|
| 56 | - */ |
|
| 57 | - 'passwordsalt' => '', |
|
| 58 | - |
|
| 59 | - /** |
|
| 60 | - * Secret used by Nextcloud for various purposes, e.g., to encrypt data. If you |
|
| 61 | - * lose this string, there will be data corruption. |
|
| 62 | - */ |
|
| 63 | - 'secret' => '', |
|
| 64 | - |
|
| 65 | - /** |
|
| 66 | - * Your list of trusted domains that users can log into. Specifying trusted |
|
| 67 | - * domains prevents host header poisoning. Do not remove this, as it performs |
|
| 68 | - * necessary security checks. |
|
| 69 | - * |
|
| 70 | - * You can specify: |
|
| 71 | - * |
|
| 72 | - * - The exact hostname of your host or virtual host, e.g. ``demo.example.org``. |
|
| 73 | - * - The exact hostname with permitted port, e.g. ``demo.example.org:443``. This disallows all other ports on this host |
|
| 74 | - * - Use ``*`` as a wildcard, e.g., ``ubos-raspberry-pi*.local`` will allow ``ubos-raspberry-pi.local`` and ``ubos-raspberry-pi-2.local`` |
|
| 75 | - * - The IP address with or without permitted port, e.g. ``[2001:db8::1]:8080`` Using TLS certificates where ``commonName=<IP address>`` is deprecated |
|
| 76 | - */ |
|
| 77 | - 'trusted_domains' => [ |
|
| 78 | - 'demo.example.org', |
|
| 79 | - 'otherdomain.example.org', |
|
| 80 | - '10.111.112.113', |
|
| 81 | - '[2001:db8::1]' |
|
| 82 | - ], |
|
| 83 | - |
|
| 84 | - /** |
|
| 85 | - * The validity domain for cookies, for example ``''`` (cookies will be sent only |
|
| 86 | - * the domain that defined it, e.g. ``'demo.example.org'``), ``'demo.example.org'`` |
|
| 87 | - * (cookies will be valid for the domain and all subdomains), ... |
|
| 88 | - * |
|
| 89 | - * Defaults to ``''`` (safe option) |
|
| 90 | - */ |
|
| 91 | - 'cookie_domain' => '', |
|
| 92 | - |
|
| 93 | - /** |
|
| 94 | - * Where user files are stored. The SQLite database is also stored here, when |
|
| 95 | - * you use SQLite. |
|
| 96 | - * |
|
| 97 | - * Default to ``data/`` in the Nextcloud directory. |
|
| 98 | - */ |
|
| 99 | - 'datadirectory' => '/var/www/nextcloud/data', |
|
| 100 | - |
|
| 101 | - /** |
|
| 102 | - * The current version number of your Nextcloud installation. This is set up |
|
| 103 | - * during installation and update, so you shouldn't need to change it. |
|
| 104 | - */ |
|
| 105 | - 'version' => '', |
|
| 106 | - |
|
| 107 | - /** |
|
| 108 | - * Identifies the database used with this installation. See also config option |
|
| 109 | - * ``supportedDatabases`` |
|
| 110 | - * |
|
| 111 | - * Available: |
|
| 112 | - * - sqlite3 (SQLite3) |
|
| 113 | - * - mysql (MySQL/MariaDB) |
|
| 114 | - * - pgsql (PostgreSQL) |
|
| 115 | - * |
|
| 116 | - * Defaults to ``sqlite3`` |
|
| 117 | - */ |
|
| 118 | - 'dbtype' => 'sqlite3', |
|
| 119 | - |
|
| 120 | - /** |
|
| 121 | - * Your host server name, for example ``localhost``, ``hostname``, |
|
| 122 | - * ``hostname.example.com``, or the IP address. |
|
| 123 | - * To specify a port, use ``hostname:####``; for IPv6 addresses, use the URI notation ``[ip]:port``. |
|
| 124 | - * To specify a Unix socket, use ``localhost:/path/to/directory/containing/socket`` or |
|
| 125 | - * ``:/path/to/directory/containing/socket``, e.g., ``localhost:/run/postgresql/``. |
|
| 126 | - */ |
|
| 127 | - 'dbhost' => '', |
|
| 128 | - |
|
| 129 | - /** |
|
| 130 | - * The name of the Nextcloud database, which is set during installation. You |
|
| 131 | - * should not need to change this. |
|
| 132 | - */ |
|
| 133 | - 'dbname' => 'nextcloud', |
|
| 134 | - |
|
| 135 | - /** |
|
| 136 | - * The user that Nextcloud uses to write to the database. This must be unique |
|
| 137 | - * across Nextcloud instances using the same SQL database. This is set up during |
|
| 138 | - * installation, so you shouldn't need to change it. |
|
| 139 | - */ |
|
| 140 | - 'dbuser' => '', |
|
| 141 | - |
|
| 142 | - /** |
|
| 143 | - * The password for the database user. This is set up during installation, so |
|
| 144 | - * you shouldn't need to change it. |
|
| 145 | - */ |
|
| 146 | - 'dbpassword' => '', |
|
| 147 | - |
|
| 148 | - /** |
|
| 149 | - * Prefix for the Nextcloud tables in the database. |
|
| 150 | - * |
|
| 151 | - * Default to ``oc_`` |
|
| 152 | - */ |
|
| 153 | - 'dbtableprefix' => 'oc_', |
|
| 154 | - |
|
| 155 | - /** |
|
| 156 | - * Enable persistent connections to the database. |
|
| 157 | - * This setting uses the ``persistent`` option from Doctrine DBAL, which in turn |
|
| 158 | - * uses the PDO::ATTR_PERSISTENT option from the PDO driver. |
|
| 159 | - */ |
|
| 160 | - 'dbpersistent' => '', |
|
| 161 | - |
|
| 162 | - /** |
|
| 163 | - * Specify read-only replicas to be used by Nextcloud when querying the database |
|
| 164 | - */ |
|
| 165 | - 'dbreplica' => [ |
|
| 166 | - ['user' => 'nextcloud', 'password' => 'password1', 'host' => 'replica1', 'dbname' => ''], |
|
| 167 | - ['user' => 'nextcloud', 'password' => 'password2', 'host' => 'replica2', 'dbname' => ''], |
|
| 168 | - ], |
|
| 169 | - |
|
| 170 | - /** |
|
| 171 | - * Add request ID to the database query in a comment. |
|
| 172 | - * |
|
| 173 | - * This can be enabled to assist in mapping database logs to Nextcloud logs. |
|
| 174 | - */ |
|
| 175 | - 'db.log_request_id' => false, |
|
| 176 | - |
|
| 177 | - /** |
|
| 178 | - * Indicates whether the Nextcloud instance was installed successfully; ``true`` |
|
| 179 | - * indicates a successful installation, and ``false`` indicates an unsuccessful |
|
| 180 | - * installation. |
|
| 181 | - * |
|
| 182 | - * Defaults to ``false`` |
|
| 183 | - */ |
|
| 184 | - 'installed' => false, |
|
| 185 | - |
|
| 186 | - |
|
| 187 | - /** |
|
| 188 | - * User Experience |
|
| 189 | - * |
|
| 190 | - * These optional parameters control some aspects of the user interface. Default |
|
| 191 | - * values, where present, are shown. |
|
| 192 | - */ |
|
| 193 | - |
|
| 194 | - /** |
|
| 195 | - * This sets the default language on your Nextcloud server, using ISO_639-1 |
|
| 196 | - * language codes such as ``en`` for English, ``de`` for German, and ``fr`` for |
|
| 197 | - * French. The default_language parameter is only used when the browser does |
|
| 198 | - * not send any language, and the user hasn’t configured their own language |
|
| 199 | - * preferences. |
|
| 200 | - * |
|
| 201 | - * Nextcloud has two distinguished language codes for German, ``de`` and ``de_DE``. |
|
| 202 | - * ``de`` is used for informal German and ``de_DE`` for formal German. By setting |
|
| 203 | - * this value to ``de_DE``, you can enforce the formal version of German unless |
|
| 204 | - * the user has chosen something different explicitly. |
|
| 205 | - * |
|
| 206 | - * Defaults to ``en`` |
|
| 207 | - */ |
|
| 208 | - 'default_language' => 'en', |
|
| 209 | - |
|
| 210 | - /** |
|
| 211 | - * With this setting, a language can be forced for all users. If a language is |
|
| 212 | - * forced, the users are also unable to change their language in the personal |
|
| 213 | - * settings. If users shall be unable to change their language, but users have |
|
| 214 | - * different languages, this value can be set to ``true`` instead of a language |
|
| 215 | - * code. |
|
| 216 | - * |
|
| 217 | - * Defaults to ``false`` |
|
| 218 | - */ |
|
| 219 | - 'force_language' => 'en', |
|
| 220 | - |
|
| 221 | - /** |
|
| 222 | - * This sets the default locale on your Nextcloud server, using ISO_639 |
|
| 223 | - * language codes such as ``en`` for English, ``de`` for German, and ``fr`` for |
|
| 224 | - * French, and ISO-3166 country codes such as ``GB``, ``US``, ``CA``, as defined |
|
| 225 | - * in RFC 5646. It overrides automatic locale detection on public pages like |
|
| 226 | - * login or shared items. User's locale preferences configured under "personal |
|
| 227 | - * -> locale" override this setting after they have logged in. |
|
| 228 | - * |
|
| 229 | - * Defaults to ``en`` |
|
| 230 | - */ |
|
| 231 | - 'default_locale' => 'en_US', |
|
| 232 | - |
|
| 233 | - /** |
|
| 234 | - * With this setting, it is possible to reduce the languages available in the |
|
| 235 | - * language chooser. The languages have to be set as array values using ISO_639-1 |
|
| 236 | - * language codes such as ``en`` for English, ``de`` for German, etc. |
|
| 237 | - * |
|
| 238 | - * For example: Set to ``['de', 'fr']`` to only allow German and French languages. |
|
| 239 | - */ |
|
| 240 | - 'reduce_to_languages' => [], |
|
| 241 | - |
|
| 242 | - /** |
|
| 243 | - * This sets the default region for phone numbers on your Nextcloud server, |
|
| 244 | - * using ISO 3166-1 country codes such as ``DE`` for Germany, ``FR`` for France, … |
|
| 245 | - * It is required to allow inserting phone numbers in the user profiles starting |
|
| 246 | - * without the country code (e.g., +49 for Germany). |
|
| 247 | - * |
|
| 248 | - * No default value! |
|
| 249 | - */ |
|
| 250 | - 'default_phone_region' => 'GB', |
|
| 251 | - |
|
| 252 | - /** |
|
| 253 | - * With this setting, a locale can be forced for all users. If a locale is |
|
| 254 | - * forced, the users are also unable to change their locale in the personal |
|
| 255 | - * settings. If users shall be unable to change their locale, but users have |
|
| 256 | - * different languages, this value can be set to ``true`` instead of a locale |
|
| 257 | - * code. |
|
| 258 | - * |
|
| 259 | - * Defaults to ``false`` |
|
| 260 | - */ |
|
| 261 | - 'force_locale' => 'en_US', |
|
| 262 | - |
|
| 263 | - /** |
|
| 264 | - * This sets the default timezone on your Nextcloud server, using IANA |
|
| 265 | - * identifiers like ``Europe/Berlin`` or ``Pacific/Auckland``. The default |
|
| 266 | - * timezone parameter is only used when the timezone of the user cannot be |
|
| 267 | - * determined. |
|
| 268 | - * |
|
| 269 | - * Defaults to ``UTC`` |
|
| 270 | - */ |
|
| 271 | - 'default_timezone' => 'Europe/Berlin', |
|
| 272 | - |
|
| 273 | - /** |
|
| 274 | - * ``true`` enables the Help menu item in the user menu (top right of the |
|
| 275 | - * Nextcloud Web interface). |
|
| 276 | - * ``false`` removes the Help item. |
|
| 277 | - */ |
|
| 278 | - 'knowledgebaseenabled' => true, |
|
| 279 | - |
|
| 280 | - /** |
|
| 281 | - * ``true`` embeds the documentation in an iframe inside Nextcloud. |
|
| 282 | - * ``false`` only shows buttons to the online documentation. |
|
| 283 | - */ |
|
| 284 | - 'knowledgebase.embedded' => false, |
|
| 285 | - |
|
| 286 | - /** |
|
| 287 | - * ``true`` allows users to change their display names (on their Personal |
|
| 288 | - * pages), and ``false`` prevents them from changing their display names. |
|
| 289 | - */ |
|
| 290 | - 'allow_user_to_change_display_name' => true, |
|
| 291 | - |
|
| 292 | - /** |
|
| 293 | - * The directory where the skeleton files are located. These files will be |
|
| 294 | - * copied to the data directory of new users. Set empty string to not copy any |
|
| 295 | - * skeleton files. If unset and templatedirectory is an empty string, shipped |
|
| 296 | - * templates will be used to create a template directory for the user. |
|
| 297 | - * ``{lang}`` can be used as a placeholder for the language of the user. |
|
| 298 | - * If the directory does not exist, it falls back to non-dialect (from ``de_DE`` |
|
| 299 | - * to ``de``). If that does not exist either, it falls back to ``default`` |
|
| 300 | - * |
|
| 301 | - * Defaults to ``core/skeleton`` in the Nextcloud directory. |
|
| 302 | - */ |
|
| 303 | - 'skeletondirectory' => '/path/to/nextcloud/core/skeleton', |
|
| 304 | - |
|
| 305 | - /** |
|
| 306 | - * The directory where the template files are located. These files will be |
|
| 307 | - * copied to the template directory of new users. Set empty string to not copy any |
|
| 308 | - * template files. |
|
| 309 | - * ``{lang}`` can be used as a placeholder for the language of the user. |
|
| 310 | - * If the directory does not exist, it falls back to non-dialect (from ``de_DE`` |
|
| 311 | - * to ``de``). If that does not exist either, it falls back to ``default`` |
|
| 312 | - * |
|
| 313 | - * To disable creating a template directory, set both skeletondirectory and |
|
| 314 | - * templatedirectory to empty strings. |
|
| 315 | - */ |
|
| 316 | - 'templatedirectory' => '/path/to/nextcloud/templates', |
|
| 317 | - |
|
| 318 | - /** |
|
| 319 | - * User session |
|
| 320 | - */ |
|
| 321 | - |
|
| 322 | - /** |
|
| 323 | - * Lifetime of the remember login cookie. This should be larger than the |
|
| 324 | - * session_lifetime. If it is set to 0, remember me is disabled. |
|
| 325 | - * |
|
| 326 | - * Defaults to ``60*60*24*15`` seconds (15 days) |
|
| 327 | - */ |
|
| 328 | - 'remember_login_cookie_lifetime' => 60 * 60 * 24 * 15, |
|
| 329 | - |
|
| 330 | - /** |
|
| 331 | - * The lifetime of a session after inactivity. |
|
| 332 | - * |
|
| 333 | - * The maximum possible time is limited by the ``session.gc_maxlifetime`` php.ini setting |
|
| 334 | - * which would overwrite this option if it is less than the value in the ``config.php`` |
|
| 335 | - * |
|
| 336 | - * Defaults to ``60*60*24`` seconds (24 hours) |
|
| 337 | - */ |
|
| 338 | - 'session_lifetime' => 60 * 60 * 24, |
|
| 339 | - |
|
| 340 | - /** |
|
| 341 | - * The timeout in seconds for requests to servers made by the DAV component (e.g., needed for federated shares). |
|
| 342 | - */ |
|
| 343 | - 'davstorage.request_timeout' => 30, |
|
| 344 | - |
|
| 345 | - /** |
|
| 346 | - * The timeout in seconds for synchronizing address books, e.g., federated system address books (as run by ``occ federation:sync-addressbooks``). |
|
| 347 | - * |
|
| 348 | - * Defaults to ``30`` seconds |
|
| 349 | - */ |
|
| 350 | - 'carddav_sync_request_timeout' => 30, |
|
| 351 | - |
|
| 352 | - /** |
|
| 353 | - * The limit applied to the synchronization report request, e.g. federated system address books (as run by ``occ federation:sync-addressbooks``). |
|
| 354 | - */ |
|
| 355 | - 'carddav_sync_request_truncation' => 2500, |
|
| 356 | - |
|
| 357 | - /** |
|
| 358 | - * ``true`` enables a relaxed session timeout, where the session timeout would no longer be |
|
| 359 | - * handled by Nextcloud but by either the PHP garbage collection or the expiration of |
|
| 360 | - * potential other session backends like Redis. |
|
| 361 | - * |
|
| 362 | - * This may lead to sessions being available for longer than what ``session_lifetime`` uses but |
|
| 363 | - * comes with performance benefits as sessions are no longer a locking operation for concurrent |
|
| 364 | - * requests. |
|
| 365 | - */ |
|
| 366 | - 'session_relaxed_expiry' => false, |
|
| 367 | - |
|
| 368 | - /** |
|
| 369 | - * Enable or disable session keep-alive when a user is logged in to the Web UI. |
|
| 370 | - * Enabling this sends a "heartbeat" to the server to keep it from timing out. |
|
| 371 | - * |
|
| 372 | - * Defaults to ``true`` |
|
| 373 | - */ |
|
| 374 | - 'session_keepalive' => true, |
|
| 375 | - |
|
| 376 | - /** |
|
| 377 | - * Enable or disable the automatic logout after session_lifetime, even if session |
|
| 378 | - * keepalive is enabled. This will make sure that an inactive browser will log itself out |
|
| 379 | - * even if requests to the server might extend the session lifetime. |
|
| 380 | - * |
|
| 381 | - * NOTE: The logout is handled on the client side. This is not a way to |
|
| 382 | - * limit the duration of potentially compromised sessions. |
|
| 383 | - * |
|
| 384 | - * Defaults to ``false`` |
|
| 385 | - */ |
|
| 386 | - 'auto_logout' => false, |
|
| 387 | - |
|
| 388 | - /** |
|
| 389 | - * Enforce token authentication for clients, which blocks requests using the user |
|
| 390 | - * password for enhanced security. Users need to generate tokens in personal settings |
|
| 391 | - * which can be used as passwords on their clients. |
|
| 392 | - * |
|
| 393 | - * Defaults to ``false`` |
|
| 394 | - */ |
|
| 395 | - 'token_auth_enforced' => false, |
|
| 396 | - |
|
| 397 | - /** |
|
| 398 | - * The interval at which token activity should be updated. |
|
| 399 | - * Increasing this value means that the last activity on the security page gets |
|
| 400 | - * more outdated. |
|
| 401 | - * |
|
| 402 | - * Tokens are still checked every 5 minutes for validity |
|
| 403 | - * max value: 300 |
|
| 404 | - * |
|
| 405 | - * Defaults to ``60`` |
|
| 406 | - */ |
|
| 407 | - 'token_auth_activity_update' => 60, |
|
| 408 | - |
|
| 409 | - /** |
|
| 410 | - * Whether the brute force protection shipped with Nextcloud should be enabled or not. |
|
| 411 | - * |
|
| 412 | - * WARNING: Disabling this is discouraged for security reasons. |
|
| 413 | - * |
|
| 414 | - * Defaults to ``true`` |
|
| 415 | - */ |
|
| 416 | - 'auth.bruteforce.protection.enabled' => true, |
|
| 417 | - |
|
| 418 | - /** |
|
| 419 | - * Whether the brute force protection should write into the database even when a memory cache is available |
|
| 420 | - * |
|
| 421 | - * Using the database is most likely worse for performance, but makes investigating |
|
| 422 | - * issues a lot easier as it's possible to look directly at the table to see all |
|
| 423 | - * logged remote addresses and actions. |
|
| 424 | - * |
|
| 425 | - * Defaults to ``false`` |
|
| 426 | - */ |
|
| 427 | - 'auth.bruteforce.protection.force.database' => false, |
|
| 428 | - |
|
| 429 | - /** |
|
| 430 | - * Whether the brute force protection shipped with Nextcloud should be set to testing mode. |
|
| 431 | - * |
|
| 432 | - * In testing mode, brute force attempts are still recorded, but the requests do |
|
| 433 | - * not sleep/wait for the specified time. They will still abort with |
|
| 434 | - * "429 Too Many Requests" when the maximum delay is reached. |
|
| 435 | - * Enabling this is discouraged for security reasons |
|
| 436 | - * and should only be done for debugging and on CI when running tests. |
|
| 437 | - * |
|
| 438 | - * Defaults to ``false`` |
|
| 439 | - */ |
|
| 440 | - 'auth.bruteforce.protection.testing' => false, |
|
| 441 | - |
|
| 442 | - /** |
|
| 443 | - * Brute force protection: maximum number of attempts before blocking |
|
| 444 | - * |
|
| 445 | - * When more than max-attempts login requests are sent to Nextcloud, requests |
|
| 446 | - * will abort with "429 Too Many Requests". |
|
| 447 | - * For security reasons, change it only if you know what you are doing. |
|
| 448 | - * |
|
| 449 | - * Defaults to ``10`` |
|
| 450 | - */ |
|
| 451 | - 'auth.bruteforce.max-attempts' => 10, |
|
| 452 | - |
|
| 453 | - /** |
|
| 454 | - * Whether the rate limit protection shipped with Nextcloud should be enabled or not. |
|
| 455 | - * |
|
| 456 | - * WARNING: Disabling this is discouraged for security reasons. |
|
| 457 | - * |
|
| 458 | - * Defaults to ``true`` |
|
| 459 | - */ |
|
| 460 | - 'ratelimit.protection.enabled' => true, |
|
| 461 | - |
|
| 462 | - /** |
|
| 463 | - * Size of subnet used to normalize IPv6 |
|
| 464 | - * |
|
| 465 | - * For Brute Force Protection and Rate Limiting, IPv6 addresses are truncated using subnet size. |
|
| 466 | - * It defaults to /56, but you can set it between /32 and /64 |
|
| 467 | - * |
|
| 468 | - * Defaults to ``56`` |
|
| 469 | - */ |
|
| 470 | - 'security.ipv6_normalized_subnet_size' => 56, |
|
| 471 | - |
|
| 472 | - /** |
|
| 473 | - * By default, WebAuthn is available, but it can be explicitly disabled by admins |
|
| 474 | - */ |
|
| 475 | - 'auth.webauthn.enabled' => true, |
|
| 476 | - |
|
| 477 | - /** |
|
| 478 | - * Whether encrypted passwords should be stored in the database |
|
| 479 | - * |
|
| 480 | - * The passwords are only decrypted using the login token stored uniquely in the |
|
| 481 | - * clients and allow connecting to external storages, autoconfiguring mail accounts in |
|
| 482 | - * the mail app, and periodically checking if the password is still valid. |
|
| 483 | - * |
|
| 484 | - * This might be desirable to disable this functionality when using one-time |
|
| 485 | - * passwords or when having a password policy enforcing long passwords (> 300 |
|
| 486 | - * characters). |
|
| 487 | - * |
|
| 488 | - * By default, the passwords are stored encrypted in the database. |
|
| 489 | - * |
|
| 490 | - * WARNING: If disabled, password changes on the user backend (e.g., on LDAP) no |
|
| 491 | - * longer log connected clients out automatically. Users can still disconnect |
|
| 492 | - * the clients by deleting the app token from the security settings. |
|
| 493 | - */ |
|
| 494 | - 'auth.storeCryptedPassword' => true, |
|
| 495 | - |
|
| 496 | - /** |
|
| 497 | - * By default, the login form is always available. There are cases (SSO) where an |
|
| 498 | - * admin wants to avoid users entering their credentials to the system if the SSO |
|
| 499 | - * app is unavailable. |
|
| 500 | - * |
|
| 501 | - * This will show an error. But the direct login still works with adding ``?direct=1`` |
|
| 502 | - */ |
|
| 503 | - 'hide_login_form' => false, |
|
| 504 | - |
|
| 505 | - /** |
|
| 506 | - * If your user backend does not allow password resets (e.g., when it's a |
|
| 507 | - * read-only user backend like LDAP), you can specify a custom link, where the |
|
| 508 | - * user is redirected to, when clicking the "Reset password" link after a failed |
|
| 509 | - * login attempt. |
|
| 510 | - * In case you do not want to provide any link, replace the URL with ``'disabled'`` |
|
| 511 | - */ |
|
| 512 | - 'lost_password_link' => 'https://example.org/link/to/password/reset', |
|
| 513 | - |
|
| 514 | - /** |
|
| 515 | - * URL to use as target for the logo link in the header (top-left logo) |
|
| 516 | - * |
|
| 517 | - * Defaults to the base URL of your Nextcloud instance |
|
| 518 | - */ |
|
| 519 | - 'logo_url' => 'https://example.org', |
|
| 520 | - |
|
| 521 | - /** |
|
| 522 | - * Mail Parameters |
|
| 523 | - * |
|
| 524 | - * These configure the email settings for Nextcloud notifications and password |
|
| 525 | - * resets. |
|
| 526 | - */ |
|
| 527 | - |
|
| 528 | - /** |
|
| 529 | - * The return address that you want to appear on emails sent by the Nextcloud |
|
| 530 | - * server, for example ``[email protected]``, substituting your own domain, |
|
| 531 | - * of course. |
|
| 532 | - */ |
|
| 533 | - 'mail_domain' => 'example.com', |
|
| 534 | - |
|
| 535 | - /** |
|
| 536 | - * FROM address that overrides the built-in ``sharing-noreply`` and |
|
| 537 | - * ``lostpassword-noreply`` FROM addresses. |
|
| 538 | - * |
|
| 539 | - * Defaults to different FROM addresses depending on the feature. |
|
| 540 | - */ |
|
| 541 | - 'mail_from_address' => 'nextcloud', |
|
| 542 | - |
|
| 543 | - /** |
|
| 544 | - * Enable SMTP class debugging. |
|
| 545 | - * NOTE: ``loglevel`` will likely need to be adjusted too. See docs: |
|
| 546 | - * https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/email_configuration.html#enabling-debug-mode |
|
| 547 | - * |
|
| 548 | - * Defaults to ``false`` |
|
| 549 | - */ |
|
| 550 | - 'mail_smtpdebug' => false, |
|
| 551 | - |
|
| 552 | - /** |
|
| 553 | - * Which mode to use for sending mail: ``sendmail``, ``smtp``, ``qmail``, or ``null``. |
|
| 554 | - * |
|
| 555 | - * If you are using local or remote SMTP, set this to ``smtp``. |
|
| 556 | - * |
|
| 557 | - * For the ``sendmail`` option, you need an installed and working email system on |
|
| 558 | - * the server, with ``/usr/sbin/sendmail`` installed on your Unix system. |
|
| 559 | - * |
|
| 560 | - * For ``qmail``, the binary is /var/qmail/bin/sendmail, and it must be installed |
|
| 561 | - * on your Unix system. |
|
| 562 | - * |
|
| 563 | - * Use the string ``null`` to send no mails (disable mail delivery). This can be |
|
| 564 | - * useful if mails should be sent via APIs and rendering messages is not necessary. |
|
| 565 | - * |
|
| 566 | - * Defaults to ``smtp`` |
|
| 567 | - */ |
|
| 568 | - 'mail_smtpmode' => 'smtp', |
|
| 569 | - |
|
| 570 | - /** |
|
| 571 | - * This depends on ``mail_smtpmode``. Specify the IP address of your mail |
|
| 572 | - * server host. This may contain multiple hosts separated by a semicolon. If |
|
| 573 | - * you need to specify the port number, append it to the IP address separated by |
|
| 574 | - * a colon, like this: ``127.0.0.1:24``. |
|
| 575 | - * |
|
| 576 | - * Defaults to ``127.0.0.1`` |
|
| 577 | - */ |
|
| 578 | - 'mail_smtphost' => '127.0.0.1', |
|
| 579 | - |
|
| 580 | - /** |
|
| 581 | - * This depends on ``mail_smtpmode``. Specify the port for sending mail. |
|
| 582 | - * |
|
| 583 | - * Defaults to ``25`` |
|
| 584 | - */ |
|
| 585 | - 'mail_smtpport' => 25, |
|
| 586 | - |
|
| 587 | - /** |
|
| 588 | - * This depends on ``mail_smtpmode``. This sets the SMTP server timeout, in |
|
| 589 | - * seconds. You may need to increase this if you are running an anti-malware or |
|
| 590 | - * spam scanner. |
|
| 591 | - * |
|
| 592 | - * Defaults to ``10`` seconds |
|
| 593 | - */ |
|
| 594 | - 'mail_smtptimeout' => 10, |
|
| 595 | - |
|
| 596 | - /** |
|
| 597 | - * This depends on ``mail_smtpmode``. Specify ``ssl`` when you are using SSL/TLS. Any other value will be ignored. |
|
| 598 | - * |
|
| 599 | - * If the server advertises STARTTLS capabilities, they might be used, but they cannot be enforced by |
|
| 600 | - * this config option. |
|
| 601 | - * |
|
| 602 | - * Defaults to ``''`` (empty string) |
|
| 603 | - */ |
|
| 604 | - 'mail_smtpsecure' => '', |
|
| 605 | - |
|
| 606 | - /** |
|
| 607 | - * This depends on ``mail_smtpmode``. Change this to ``true`` if your mail |
|
| 608 | - * server requires authentication. |
|
| 609 | - * |
|
| 610 | - * Defaults to ``false`` |
|
| 611 | - */ |
|
| 612 | - 'mail_smtpauth' => false, |
|
| 613 | - |
|
| 614 | - /** |
|
| 615 | - * This depends on ``mail_smtpauth``. Specify the username for authenticating to |
|
| 616 | - * the SMTP server. |
|
| 617 | - * |
|
| 618 | - * Defaults to ``''`` (empty string) |
|
| 619 | - */ |
|
| 620 | - 'mail_smtpname' => '', |
|
| 621 | - |
|
| 622 | - /** |
|
| 623 | - * This depends on ``mail_smtpauth``. Specify the password for authenticating to |
|
| 624 | - * the SMTP server. |
|
| 625 | - * |
|
| 626 | - * Default to ``''`` (empty string) |
|
| 627 | - */ |
|
| 628 | - 'mail_smtppassword' => '', |
|
| 629 | - |
|
| 630 | - /** |
|
| 631 | - * Replaces the default mail template layout. This can be utilized if the |
|
| 632 | - * options to modify the mail texts with the theming app are not enough. |
|
| 633 | - * The class must extend ``\OC\Mail\EMailTemplate`` |
|
| 634 | - */ |
|
| 635 | - 'mail_template_class' => '\OC\Mail\EMailTemplate', |
|
| 636 | - |
|
| 637 | - /** |
|
| 638 | - * Email will be sent by default with an HTML and a plain text body. This option |
|
| 639 | - * allows sending only plain text emails. |
|
| 640 | - */ |
|
| 641 | - 'mail_send_plaintext_only' => false, |
|
| 642 | - |
|
| 643 | - /** |
|
| 644 | - * This depends on ``mail_smtpmode``. Array of additional streams options that |
|
| 645 | - * will be passed to underlying Swift mailer implementation. |
|
| 646 | - * Defaults to an empty array. |
|
| 647 | - */ |
|
| 648 | - 'mail_smtpstreamoptions' => [], |
|
| 649 | - |
|
| 650 | - /** |
|
| 651 | - * Which mode is used for sendmail/qmail: ``smtp`` or ``pipe``. |
|
| 652 | - * |
|
| 653 | - * For ``smtp``, the sendmail binary is started with the parameter ``-bs``: |
|
| 654 | - * - Use the SMTP protocol on standard input and output. |
|
| 655 | - * |
|
| 656 | - * For ``pipe``, the binary is started with the parameters ``-t``: |
|
| 657 | - * - Read message from STDIN and extract recipients. |
|
| 658 | - * |
|
| 659 | - * Defaults to ``smtp`` |
|
| 660 | - */ |
|
| 661 | - 'mail_sendmailmode' => 'smtp', |
|
| 662 | - |
|
| 663 | - /** |
|
| 664 | - * Proxy Configurations |
|
| 665 | - */ |
|
| 666 | - |
|
| 667 | - /** |
|
| 668 | - * The automatic hostname detection of Nextcloud can fail in certain reverse |
|
| 669 | - * proxy and CLI/cron situations. This option allows you to manually override |
|
| 670 | - * the automatic detection; for example, ``www.example.com``, or specify the port |
|
| 671 | - * ``www.example.com:8080``. |
|
| 672 | - */ |
|
| 673 | - 'overwritehost' => '', |
|
| 674 | - |
|
| 675 | - /** |
|
| 676 | - * When generating URLs, Nextcloud attempts to detect whether the server is |
|
| 677 | - * accessed via ``https`` or ``http``. However, if Nextcloud is behind a proxy |
|
| 678 | - * and the proxy handles the ``https`` calls, Nextcloud would not know that |
|
| 679 | - * ``ssl`` is in use, which would result in incorrect URLs being generated. |
|
| 680 | - * Valid values are ``http`` and ``https``. |
|
| 681 | - */ |
|
| 682 | - 'overwriteprotocol' => '', |
|
| 683 | - |
|
| 684 | - /** |
|
| 685 | - * Nextcloud attempts to detect the webroot for generating URLs automatically. |
|
| 686 | - * For example, if ``www.example.com/nextcloud`` is the URL pointing to the |
|
| 687 | - * Nextcloud instance, the webroot is ``/nextcloud``. When proxies are in use, |
|
| 688 | - * it may be difficult for Nextcloud to detect this parameter, resulting in |
|
| 689 | - * invalid URLs. |
|
| 690 | - */ |
|
| 691 | - 'overwritewebroot' => '', |
|
| 692 | - |
|
| 693 | - /** |
|
| 694 | - * This option allows you to define a manual override condition as a regular |
|
| 695 | - * expression for the remote IP address. For example, defining a range of IP |
|
| 696 | - * addresses starting with ``10.0.0.`` and ending with 1 to 3: |
|
| 697 | - * ``^10\.0\.0\.[1-3]$`` |
|
| 698 | - * |
|
| 699 | - * Defaults to ``''`` (empty string) |
|
| 700 | - */ |
|
| 701 | - 'overwritecondaddr' => '', |
|
| 702 | - |
|
| 703 | - /** |
|
| 704 | - * Use this configuration parameter to specify the base URL for any URLs which |
|
| 705 | - * are generated within Nextcloud using any kind of command line tools (cron or |
|
| 706 | - * occ). The value should contain the full base URL: |
|
| 707 | - * ``https://www.example.com/nextcloud`` |
|
| 708 | - * Please make sure to set the value to the URL that your users mainly use to access this Nextcloud. |
|
| 709 | - * Otherwise, there might be problems with the URL generation via cron. |
|
| 710 | - * |
|
| 711 | - * Defaults to ``''`` (empty string) |
|
| 712 | - */ |
|
| 713 | - 'overwrite.cli.url' => '', |
|
| 714 | - |
|
| 715 | - /** |
|
| 716 | - * To have clean URLs without ``/index.php``, this parameter needs to be configured. |
|
| 717 | - * |
|
| 718 | - * This parameter will be written as "RewriteBase" on update and installation of |
|
| 719 | - * Nextcloud to your ``.htaccess`` file. While this value is often simply the URL |
|
| 720 | - * path of the Nextcloud installation, it cannot be set automatically properly in |
|
| 721 | - * every scenario and needs thus some manual configuration. |
|
| 722 | - * |
|
| 723 | - * In a standard Apache setup, this usually equals the folder that Nextcloud is |
|
| 724 | - * accessible at. So if Nextcloud is accessible via ``https://mycloud.org/nextcloud``, |
|
| 725 | - * the correct value would most likely be ``/nextcloud``. If Nextcloud is running |
|
| 726 | - * under ``https://mycloud.org/``, then it would be ``/``. |
|
| 727 | - * |
|
| 728 | - * Note that the above rule is not valid in every case, as there are some rare setup |
|
| 729 | - * cases where this may not apply. However, to avoid any update problems, this |
|
| 730 | - * configuration value is explicitly opt-in. |
|
| 731 | - * |
|
| 732 | - * After setting this value, run ``occ maintenance:update:htaccess``. Now, when the |
|
| 733 | - * following conditions are met, Nextcloud URLs won't contain ``index.php``: |
|
| 734 | - * |
|
| 735 | - * - ``mod_rewrite`` is installed |
|
| 736 | - * - ``mod_env`` is installed |
|
| 737 | - * |
|
| 738 | - * Defaults to ``''`` (empty string) |
|
| 739 | - */ |
|
| 740 | - 'htaccess.RewriteBase' => '/', |
|
| 741 | - |
|
| 742 | - /** |
|
| 743 | - * For server setups that don't have ``mod_env`` enabled or restricted (e.g., suEXEC), |
|
| 744 | - * this parameter has to be set to true and will assume mod_rewrite. |
|
| 745 | - * |
|
| 746 | - * Please check if ``mod_rewrite`` is active and functional before setting this |
|
| 747 | - * parameter, and you updated your .htaccess with ``occ maintenance:update:htaccess``. |
|
| 748 | - * Otherwise, your Nextcloud installation might not be reachable any more. |
|
| 749 | - * For example, try accessing resources by leaving out ``index.php`` in the URL. |
|
| 750 | - */ |
|
| 751 | - 'htaccess.IgnoreFrontController' => false, |
|
| 752 | - |
|
| 753 | - /** |
|
| 754 | - * The URL of your proxy server, for example, ``proxy.example.com:8081``. |
|
| 755 | - * |
|
| 756 | - * NOTE: Guzzle (the HTTP library used by Nextcloud) reads the environment |
|
| 757 | - * variables ``HTTP_PROXY`` (only for CLI requests), ``HTTPS_PROXY``, and ``NO_PROXY`` by default. |
|
| 758 | - * |
|
| 759 | - * If you configure a proxy with Nextcloud, any default configuration by Guzzle |
|
| 760 | - * is overwritten. Make sure to set ``proxyexclude`` accordingly if necessary. |
|
| 761 | - * |
|
| 762 | - * Defaults to ``''`` (empty string) |
|
| 763 | - */ |
|
| 764 | - 'proxy' => '', |
|
| 765 | - |
|
| 766 | - /** |
|
| 767 | - * The optional authentication for the proxy to use to connect to the internet. |
|
| 768 | - * The format is: ``username:password``. |
|
| 769 | - * |
|
| 770 | - * Defaults to ``''`` (empty string) |
|
| 771 | - */ |
|
| 772 | - 'proxyuserpwd' => '', |
|
| 773 | - |
|
| 774 | - /** |
|
| 775 | - * List of hostnames that should not be proxied to. |
|
| 776 | - * For example: ``['.mit.edu', 'foo.com']``. |
|
| 777 | - * |
|
| 778 | - * Hint: Use something like ``explode(',', getenv('NO_PROXY'))`` to sync this |
|
| 779 | - * value with the global ``NO_PROXY`` option. |
|
| 780 | - * |
|
| 781 | - * Defaults to empty array. |
|
| 782 | - */ |
|
| 783 | - 'proxyexclude' => [], |
|
| 784 | - |
|
| 785 | - /** |
|
| 786 | - * Allow remote servers with local addresses, e.g., in federated shares, webcal services, and more |
|
| 787 | - * |
|
| 788 | - * Defaults to ``false`` |
|
| 789 | - */ |
|
| 790 | - 'allow_local_remote_servers' => true, |
|
| 791 | - |
|
| 792 | - /** |
|
| 793 | - * Deleted Items (trash bin) |
|
| 794 | - * |
|
| 795 | - * These parameters control the Deleted files app. |
|
| 796 | - */ |
|
| 797 | - |
|
| 798 | - /** |
|
| 799 | - * If the trash bin app is enabled (default), this setting defines the policy |
|
| 800 | - * for when files and folders in the trash bin will be permanently deleted. |
|
| 801 | - * |
|
| 802 | - * If the user quota limit is exceeded due to deleted files in the trash bin, |
|
| 803 | - * retention settings will be ignored and files will be cleaned up until |
|
| 804 | - * the quota requirements are met. |
|
| 805 | - * |
|
| 806 | - * The app allows for two settings, a minimum time for trash bin retention, |
|
| 807 | - * and a maximum time for trash bin retention. |
|
| 808 | - * |
|
| 809 | - * Minimum time is the number of days a file will be kept, after which it |
|
| 810 | - * *may be* deleted. A file may be deleted after the minimum number of days |
|
| 811 | - * has expired if space is needed. The file will not be deleted if space is |
|
| 812 | - * not needed. |
|
| 813 | - * |
|
| 814 | - * Whether "space is needed" depends on whether a user quota is defined or not: |
|
| 815 | - * |
|
| 816 | - * * If no user quota is defined, the available space on the Nextcloud data |
|
| 817 | - * partition sets the limit for the trashbin |
|
| 818 | - * (issues: see https://github.com/nextcloud/server/issues/28451). |
|
| 819 | - * * If a user quota is defined, 50% of the user's remaining quota space sets |
|
| 820 | - * the limit for the trashbin. |
|
| 821 | - * |
|
| 822 | - * Maximum time is the number of days at which it is *guaranteed |
|
| 823 | - * to be* deleted. There is no further dependency on the available space. |
|
| 824 | - * |
|
| 825 | - * Both minimum and maximum times can be set together to explicitly define |
|
| 826 | - * file and folder deletion. For migration purposes, this setting is installed |
|
| 827 | - * initially set to "auto", which is equivalent to the default setting in |
|
| 828 | - * Nextcloud. |
|
| 829 | - * |
|
| 830 | - * Available values (D1 and D2 are configurable numbers): |
|
| 831 | - * |
|
| 832 | - * * ``auto`` |
|
| 833 | - * | Default setting. Keeps files and folders in the trash bin for at least **30** days. |
|
| 834 | - * | Then, **if space is needed**, deletes trashed files anytime after that. |
|
| 835 | - * * ``D1, auto`` |
|
| 836 | - * | Keeps files and folders in the trash bin for at least **D1** days. |
|
| 837 | - * | Then, **if space is needed**, deletes trashed files anytime after that. |
|
| 838 | - * * ``auto, D2`` |
|
| 839 | - * | **If space is needed**, deletes trashed files anytime. |
|
| 840 | - * | After **D2** days, delete all trashed files automatically |
|
| 841 | - * * ``D1, D2`` |
|
| 842 | - * | Keeps files and folders in the trash bin for at least **D1** days. |
|
| 843 | - * | Then, after **D2** days, delete all trashed files automatically. |
|
| 844 | - * * ``disabled`` |
|
| 845 | - * | Trash bin auto clean is disabled, files and folders will be kept forever. |
|
| 846 | - * |
|
| 847 | - * Defaults to ``auto`` |
|
| 848 | - */ |
|
| 849 | - 'trashbin_retention_obligation' => 'auto', |
|
| 850 | - |
|
| 851 | - |
|
| 852 | - /** |
|
| 853 | - * File versions |
|
| 854 | - * |
|
| 855 | - * These parameters control the Versions app. |
|
| 856 | - */ |
|
| 857 | - |
|
| 858 | - /** |
|
| 859 | - * If the versions app is enabled (default), this setting defines the policy |
|
| 860 | - * for when versions will be permanently deleted. |
|
| 861 | - * The app allows for two settings, a minimum time for version retention, |
|
| 862 | - * and a maximum time for version retention. |
|
| 863 | - * Minimum time is the number of days a version will be kept, after which it |
|
| 864 | - * may be deleted. Maximum time is the number of days at which it is guaranteed |
|
| 865 | - * to be deleted. |
|
| 866 | - * Both minimum and maximum times can be set together to explicitly define |
|
| 867 | - * version deletion. For migration purposes, this setting is installed |
|
| 868 | - * initially set to "auto", which is equivalent to the default setting in |
|
| 869 | - * Nextcloud. |
|
| 870 | - * |
|
| 871 | - * Available values: |
|
| 872 | - * |
|
| 873 | - * * ``auto`` |
|
| 874 | - * default setting. Automatically expire versions according to expire |
|
| 875 | - * rules. Please refer to :doc:`../configuration_files/file_versioning` for |
|
| 876 | - * more information. |
|
| 877 | - * * ``D, auto`` |
|
| 878 | - * keep versions at least for D days, apply expiration rules to all versions |
|
| 879 | - * that are older than D days |
|
| 880 | - * * ``auto, D`` |
|
| 881 | - * delete all versions that are older than D days automatically, delete |
|
| 882 | - * other versions according to expire rules |
|
| 883 | - * * ``D1, D2`` |
|
| 884 | - * keep versions for at least D1 days and delete when exceeds D2 days |
|
| 885 | - * * ``disabled`` |
|
| 886 | - * versions auto clean disabled, versions will be kept forever |
|
| 887 | - * |
|
| 888 | - * Defaults to ``auto`` |
|
| 889 | - */ |
|
| 890 | - 'versions_retention_obligation' => 'auto', |
|
| 891 | - |
|
| 892 | - /** |
|
| 893 | - * Nextcloud Verifications |
|
| 894 | - * |
|
| 895 | - * Nextcloud performs several verification checks. There are two options, |
|
| 896 | - * ``true`` and ``false``. |
|
| 897 | - */ |
|
| 898 | - |
|
| 899 | - /** |
|
| 900 | - * Checks an app before install whether it uses private APIs instead of the |
|
| 901 | - * proper public APIs. If this is set to true, it will only allow installing or |
|
| 902 | - * enabling apps that pass this check. |
|
| 903 | - * |
|
| 904 | - * Defaults to ``false`` |
|
| 905 | - */ |
|
| 906 | - 'appcodechecker' => true, |
|
| 907 | - |
|
| 908 | - /** |
|
| 909 | - * Check if Nextcloud is up-to-date and shows a notification if a new version is |
|
| 910 | - * available. It sends current version, PHP version, installation and last update |
|
| 911 | - * time, and release channel to the updater server which responds with the latest |
|
| 912 | - * available version based on those metrics. |
|
| 913 | - * |
|
| 914 | - * Defaults to ``true`` |
|
| 915 | - */ |
|
| 916 | - 'updatechecker' => true, |
|
| 917 | - |
|
| 918 | - /** |
|
| 919 | - * URL that Nextcloud should use to look for updates |
|
| 920 | - * |
|
| 921 | - * Defaults to ``https://updates.nextcloud.com/updater_server/`` |
|
| 922 | - */ |
|
| 923 | - 'updater.server.url' => 'https://updates.nextcloud.com/updater_server/', |
|
| 924 | - |
|
| 925 | - /** |
|
| 926 | - * The channel that Nextcloud should use to look for updates |
|
| 927 | - * |
|
| 928 | - * Supported values: |
|
| 929 | - * |
|
| 930 | - * - ``daily`` |
|
| 931 | - * - ``beta`` |
|
| 932 | - * - ``stable`` |
|
| 933 | - */ |
|
| 934 | - 'updater.release.channel' => 'stable', |
|
| 935 | - |
|
| 936 | - /** |
|
| 937 | - * Is Nextcloud connected to the Internet or running in a closed network? |
|
| 938 | - * |
|
| 939 | - * Defaults to ``true`` |
|
| 940 | - */ |
|
| 941 | - 'has_internet_connection' => true, |
|
| 942 | - |
|
| 943 | - /** |
|
| 944 | - * Which domains to request to determine the availability of an Internet |
|
| 945 | - * connection. If none of these hosts are reachable, the administration panel |
|
| 946 | - * will show a warning. Set to an empty list to not do any such checks (warning |
|
| 947 | - * will still be shown). |
|
| 948 | - * If no protocol is provided, both http and https will be tested. |
|
| 949 | - * For example, ``http://www.nextcloud.com`` and ``https://www.nextcloud.com`` |
|
| 950 | - * will be tested for ``www.nextcloud.com`` |
|
| 951 | - * If a protocol is provided, only this one will be tested. |
|
| 952 | - * |
|
| 953 | - * Defaults to the following domains: |
|
| 954 | - * |
|
| 955 | - * - https://www.nextcloud.com |
|
| 956 | - * - https://www.startpage.com |
|
| 957 | - * - https://www.eff.org |
|
| 958 | - * - https://www.edri.org |
|
| 959 | - */ |
|
| 960 | - 'connectivity_check_domains' => [ |
|
| 961 | - 'https://www.nextcloud.com', |
|
| 962 | - 'https://www.startpage.com', |
|
| 963 | - 'https://www.eff.org', |
|
| 964 | - 'https://www.edri.org' |
|
| 965 | - ], |
|
| 966 | - |
|
| 967 | - /** |
|
| 968 | - * Allows Nextcloud to verify a working .well-known URL redirects. This is done |
|
| 969 | - * by attempting to make a request from JS to |
|
| 970 | - * ``https://example.tld/.well-known/caldav/`` |
|
| 971 | - * |
|
| 972 | - * Defaults to ``true`` |
|
| 973 | - */ |
|
| 974 | - 'check_for_working_wellknown_setup' => true, |
|
| 975 | - |
|
| 976 | - /** |
|
| 977 | - * This is a crucial security check on Apache servers that should always be set |
|
| 978 | - * to ``true``. This verifies that the ``.htaccess`` file is writable and works. |
|
| 979 | - * If it is not, then any options controlled by ``.htaccess``, such as large |
|
| 980 | - * file uploads, will not work. It also runs checks on the ``data/`` directory, |
|
| 981 | - * which verifies that it can't be accessed directly through the Web server. |
|
| 982 | - * |
|
| 983 | - * Defaults to ``true`` |
|
| 984 | - */ |
|
| 985 | - 'check_for_working_htaccess' => true, |
|
| 986 | - |
|
| 987 | - /** |
|
| 988 | - * In rare setups (e.g., on OpenShift or Docker on Windows), the permissions check |
|
| 989 | - * might block the installation while the underlying system offers no means to |
|
| 990 | - * "correct" the permissions. In this case, set the value to false. |
|
| 991 | - * |
|
| 992 | - * In regular cases, if issues with permissions are encountered, they should be |
|
| 993 | - * adjusted accordingly. Changing the flag is discouraged. |
|
| 994 | - * |
|
| 995 | - * Defaults to ``true`` |
|
| 996 | - */ |
|
| 997 | - 'check_data_directory_permissions' => true, |
|
| 998 | - |
|
| 999 | - /** |
|
| 1000 | - * In certain environments, it is desired to have a read-only configuration file. |
|
| 1001 | - * When this switch is set to ``true``, writing to the config file will be |
|
| 1002 | - * forbidden. Therefore, it will not be possible to configure all options via |
|
| 1003 | - * the Web interface. Furthermore, when updating Nextcloud, it is required to |
|
| 1004 | - * make the configuration file writable again and to set this switch to ``false`` |
|
| 1005 | - * for the update process. |
|
| 1006 | - * |
|
| 1007 | - * Defaults to ``false`` |
|
| 1008 | - */ |
|
| 1009 | - 'config_is_read_only' => false, |
|
| 1010 | - |
|
| 1011 | - /** |
|
| 1012 | - * Logging |
|
| 1013 | - */ |
|
| 1014 | - |
|
| 1015 | - /** |
|
| 1016 | - * This parameter determines where the Nextcloud logs are sent. |
|
| 1017 | - * |
|
| 1018 | - * - ``file``: the logs are written to file ``nextcloud.log`` in the default Nextcloud data directory. The log file can be changed with parameter ``logfile``. |
|
| 1019 | - * - ``syslog``: the logs are sent to the system log. This requires a syslog daemon to be active. |
|
| 1020 | - * - ``errorlog``: the logs are sent to the PHP ``error_log`` function. |
|
| 1021 | - * - ``systemd``: the logs are sent to the Systemd journal. This requires a system that runs Systemd and the Systemd journal. The PHP extension ``systemd`` must be installed and active. |
|
| 1022 | - * |
|
| 1023 | - * Defaults to ``file`` |
|
| 1024 | - */ |
|
| 1025 | - 'log_type' => 'file', |
|
| 1026 | - |
|
| 1027 | - /** |
|
| 1028 | - * This parameter determines where the audit logs are sent. See ``log_type`` for more information. |
|
| 1029 | - * |
|
| 1030 | - * Defaults to ``file`` |
|
| 1031 | - */ |
|
| 1032 | - 'log_type_audit' => 'file', |
|
| 1033 | - |
|
| 1034 | - /** |
|
| 1035 | - * Name of the file to which the Nextcloud logs are written if parameter |
|
| 1036 | - * ``log_type`` is set to ``file``. |
|
| 1037 | - * |
|
| 1038 | - * Defaults to ``[datadirectory]/nextcloud.log`` |
|
| 1039 | - */ |
|
| 1040 | - 'logfile' => '/var/log/nextcloud.log', |
|
| 1041 | - |
|
| 1042 | - /** |
|
| 1043 | - * Name of the file to which the audit logs are written if parameter |
|
| 1044 | - * ``log_type`` is set to ``file``. |
|
| 1045 | - * |
|
| 1046 | - * Defaults to ``[datadirectory]/audit.log`` |
|
| 1047 | - */ |
|
| 1048 | - 'logfile_audit' => '/var/log/audit.log', |
|
| 1049 | - |
|
| 1050 | - /** |
|
| 1051 | - * Log file mode for the Nextcloud logging type in octal notation. |
|
| 1052 | - * |
|
| 1053 | - * Defaults to ``0640`` (writable by user, readable by group). |
|
| 1054 | - */ |
|
| 1055 | - 'logfilemode' => 0640, |
|
| 1056 | - |
|
| 1057 | - /** |
|
| 1058 | - * Loglevel to start logging at. Valid values are: |
|
| 1059 | - * |
|
| 1060 | - * - ``0`` = Debug |
|
| 1061 | - * - ``1`` = Info |
|
| 1062 | - * - ``2`` = Warning |
|
| 1063 | - * - ``3`` = Error |
|
| 1064 | - * - ``4`` = Fatal. |
|
| 1065 | - * |
|
| 1066 | - * |
|
| 1067 | - * Defaults to ``2`` (Warning) |
|
| 1068 | - */ |
|
| 1069 | - 'loglevel' => 2, |
|
| 1070 | - |
|
| 1071 | - /** |
|
| 1072 | - * Loglevel used by the frontend to start logging at. The same values as |
|
| 1073 | - * for ``loglevel`` can be used. If not set, it defaults to the value |
|
| 1074 | - * configured for ``loglevel`` or Warning if that is not set either. |
|
| 1075 | - * |
|
| 1076 | - * Defaults to ``2`` |
|
| 1077 | - */ |
|
| 1078 | - 'loglevel_frontend' => 2, |
|
| 1079 | - |
|
| 1080 | - /** |
|
| 1081 | - * Loglevel used by the dirty database query detection. Useful to identify |
|
| 1082 | - * potential database bugs in production. Set this to loglevel or higher to |
|
| 1083 | - * see dirty queries in the logs. |
|
| 1084 | - * |
|
| 1085 | - * Defaults to ``0`` (debug) |
|
| 1086 | - */ |
|
| 1087 | - 'loglevel_dirty_database_queries' => 0, |
|
| 1088 | - |
|
| 1089 | - /** |
|
| 1090 | - * If you maintain different instances and aggregate the logs, you may want |
|
| 1091 | - * to distinguish between them. ``syslog_tag`` can be set per instance |
|
| 1092 | - * with a unique ID. Only available if ``log_type`` is set to ``syslog`` or |
|
| 1093 | - * ``systemd``. |
|
| 1094 | - * |
|
| 1095 | - * The default value is ``Nextcloud``. |
|
| 1096 | - */ |
|
| 1097 | - 'syslog_tag' => 'Nextcloud', |
|
| 1098 | - |
|
| 1099 | - /** |
|
| 1100 | - * If you maintain different instances and aggregate the logs, you may want |
|
| 1101 | - * to distinguish between them. ``syslog_tag_audit`` can be set per instance |
|
| 1102 | - * with a unique ID. Only available if ``log_type`` is set to ``syslog`` or |
|
| 1103 | - * ``systemd``. |
|
| 1104 | - * |
|
| 1105 | - * The default value is the value of ``syslog_tag``. |
|
| 1106 | - */ |
|
| 1107 | - 'syslog_tag_audit' => 'Nextcloud', |
|
| 1108 | - |
|
| 1109 | - /** |
|
| 1110 | - * Log condition for log level increase based on conditions. Once one of these |
|
| 1111 | - * conditions is met, the required log level is set to debug. This allows |
|
| 1112 | - * debugging specific requests, users, or apps |
|
| 1113 | - * |
|
| 1114 | - * Supported conditions: |
|
| 1115 | - * - ``shared_secret``: if a request parameter with the name `log_secret` is set to |
|
| 1116 | - * this value, the condition is met |
|
| 1117 | - * - ``users``: if the current request is done by one of the specified users, |
|
| 1118 | - * this condition is met |
|
| 1119 | - * - ``apps``: if the log message is invoked by one of the specified apps, |
|
| 1120 | - * this condition is met |
|
| 1121 | - * - ``matches``: if all the conditions inside a group match, |
|
| 1122 | - * this condition is met. This allows logging only entries to an app |
|
| 1123 | - * by a few users. |
|
| 1124 | - * |
|
| 1125 | - * Defaults to an empty array. |
|
| 1126 | - */ |
|
| 1127 | - 'log.condition' => [ |
|
| 1128 | - 'shared_secret' => '57b58edb6637fe3059b3595cf9c41b9', |
|
| 1129 | - 'users' => ['sample-user'], |
|
| 1130 | - 'apps' => ['files'], |
|
| 1131 | - 'matches' => [ |
|
| 1132 | - [ |
|
| 1133 | - 'shared_secret' => '57b58edb6637fe3059b3595cf9c41b9', |
|
| 1134 | - 'users' => ['sample-user'], |
|
| 1135 | - 'apps' => ['files'], |
|
| 1136 | - 'loglevel' => 1, |
|
| 1137 | - 'message' => 'contains substring' |
|
| 1138 | - ], |
|
| 1139 | - ], |
|
| 1140 | - ], |
|
| 1141 | - |
|
| 1142 | - /** |
|
| 1143 | - * Enables logging a backtrace with each log line. Normally, only Exceptions |
|
| 1144 | - * carry backtrace information, which are logged automatically. This |
|
| 1145 | - * switch turns them on for any log message. Enabling this option will lead |
|
| 1146 | - * to increased log data size. |
|
| 1147 | - * |
|
| 1148 | - * Defaults to ``false``. |
|
| 1149 | - */ |
|
| 1150 | - 'log.backtrace' => false, |
|
| 1151 | - |
|
| 1152 | - /** |
|
| 1153 | - * This uses PHP.date formatting; see https://www.php.net/manual/en/function.date.php |
|
| 1154 | - * |
|
| 1155 | - * Defaults to ISO 8601 ``2005-08-15T15:52:01+00:00``, see ``\DateTime::ATOM`` |
|
| 1156 | - * https://www.php.net/manual/en/class.datetimeinterface.php#datetimeinterface.constants.atom |
|
| 1157 | - */ |
|
| 1158 | - 'logdateformat' => 'F d, Y H:i:s', |
|
| 1159 | - |
|
| 1160 | - /** |
|
| 1161 | - * The timezone for logfiles. See https://www.php.net/manual/en/timezones.php |
|
| 1162 | - * |
|
| 1163 | - * Defaults to ``UTC`` |
|
| 1164 | - */ |
|
| 1165 | - 'logtimezone' => 'Europe/Berlin', |
|
| 1166 | - |
|
| 1167 | - /** |
|
| 1168 | - * Append all database queries and parameters to the log file. Use this only for |
|
| 1169 | - * debugging, as your logfile will become huge. |
|
| 1170 | - */ |
|
| 1171 | - 'log_query' => false, |
|
| 1172 | - |
|
| 1173 | - /** |
|
| 1174 | - * Enables log rotation and limits the total size of logfiles. Set it to 0 for |
|
| 1175 | - * no rotation. Specify a size in bytes, for example, 104857600 (100 megabytes |
|
| 1176 | - * = 100 * 1024 * 1024 bytes). A new logfile is created with a new name when the |
|
| 1177 | - * old logfile reaches your limit. If a rotated log file is already present, it |
|
| 1178 | - * will be overwritten. |
|
| 1179 | - * |
|
| 1180 | - * Defaults to 100 MB |
|
| 1181 | - */ |
|
| 1182 | - 'log_rotate_size' => 100 * 1024 * 1024, |
|
| 1183 | - |
|
| 1184 | - /** |
|
| 1185 | - * Enable built-in profiler. Helpful when trying to debug performance |
|
| 1186 | - * issues. |
|
| 1187 | - * |
|
| 1188 | - * Note that this has a performance impact and shouldn't be enabled |
|
| 1189 | - * on production. |
|
| 1190 | - */ |
|
| 1191 | - 'profiler' => false, |
|
| 1192 | - |
|
| 1193 | - /** |
|
| 1194 | - * Enable profiling for individual requests if profiling single requests is enabled or the secret is passed. |
|
| 1195 | - * This requires the excimer extension to be installed. Be careful with this, as it can generate a lot of data. |
|
| 1196 | - * |
|
| 1197 | - * The profile data will be stored as a JSON file in the profiling.path directory that can be analyzed with speedscope. |
|
| 1198 | - * |
|
| 1199 | - * Defaults to ``false`` |
|
| 1200 | - */ |
|
| 1201 | - 'profiling.request' => false, |
|
| 1202 | - |
|
| 1203 | - /** |
|
| 1204 | - * The rate at which profiling data is collected for individual requests. |
|
| 1205 | - * A lower value means more data points but higher overhead. |
|
| 1206 | - * |
|
| 1207 | - * Defaults to ``0.001`` |
|
| 1208 | - */ |
|
| 1209 | - 'profiling.request.rate' => 0.001, |
|
| 1210 | - |
|
| 1211 | - /** |
|
| 1212 | - * A secret token that can be passed via ?profile_secret=<secret> to enable profiling for a specific request. |
|
| 1213 | - * This allows profiling specific requests in production without enabling it globally. |
|
| 1214 | - * |
|
| 1215 | - * No default value. |
|
| 1216 | - */ |
|
| 1217 | - 'profiling.secret' => '', |
|
| 1218 | - |
|
| 1219 | - /** |
|
| 1220 | - * Enable sampling-based profiling. This collects profiling data periodically rather than per-request. |
|
| 1221 | - * This requires the excimer extension to be installed. Be careful with this, as it can generate a lot of data. |
|
| 1222 | - * |
|
| 1223 | - * The profile data will be stored as a plain text file in the profiling.path directory that can be analyzed with speedscope. |
|
| 1224 | - * |
|
| 1225 | - * Defaults to ``false`` |
|
| 1226 | - */ |
|
| 1227 | - 'profiling.sample' => false, |
|
| 1228 | - |
|
| 1229 | - /** |
|
| 1230 | - * The rate at which sampling profiling data is collected in seconds. |
|
| 1231 | - * A lower value means more frequent samples but higher overhead. |
|
| 1232 | - * |
|
| 1233 | - * Defaults to ``1`` |
|
| 1234 | - */ |
|
| 1235 | - 'profiling.sample.rate' => 1, |
|
| 1236 | - |
|
| 1237 | - /** |
|
| 1238 | - * How often (in minutes) the sample log files are rotated. |
|
| 1239 | - * |
|
| 1240 | - * Defaults to ``60`` |
|
| 1241 | - */ |
|
| 1242 | - 'profiling.sample.rotation' => 60, |
|
| 1243 | - |
|
| 1244 | - /** |
|
| 1245 | - * The directory where profiling data is stored. |
|
| 1246 | - * |
|
| 1247 | - * Note that this directory must be writable by the web server user and will not be cleaned up automatically. |
|
| 1248 | - */ |
|
| 1249 | - 'profiling.path' => '/tmp', |
|
| 1250 | - |
|
| 1251 | - |
|
| 1252 | - /** |
|
| 1253 | - * Alternate Code Locations |
|
| 1254 | - * |
|
| 1255 | - * Some Nextcloud code may be stored in alternate locations. |
|
| 1256 | - */ |
|
| 1257 | - |
|
| 1258 | - /** |
|
| 1259 | - * This section is for configuring the download links for Nextcloud clients, as |
|
| 1260 | - * seen in the first-run wizard and on Personal pages. |
|
| 1261 | - * |
|
| 1262 | - * Defaults to: |
|
| 1263 | - * |
|
| 1264 | - * - Desktop client: ``https://nextcloud.com/install/#install-clients`` |
|
| 1265 | - * - Android client: ``https://play.google.com/store/apps/details?id=com.nextcloud.client`` |
|
| 1266 | - * - iOS client: ``https://itunes.apple.com/us/app/nextcloud/id1125420102?mt=8`` |
|
| 1267 | - * - iOS client app ID: ``1125420102`` |
|
| 1268 | - * - F-Droid client: ``https://f-droid.org/packages/com.nextcloud.client/`` |
|
| 1269 | - */ |
|
| 1270 | - 'customclient_desktop' |
|
| 1271 | - => 'https://nextcloud.com/install/#install-clients', |
|
| 1272 | - 'customclient_android' |
|
| 1273 | - => 'https://play.google.com/store/apps/details?id=com.nextcloud.client', |
|
| 1274 | - 'customclient_ios' |
|
| 1275 | - => 'https://itunes.apple.com/us/app/nextcloud/id1125420102?mt=8', |
|
| 1276 | - 'customclient_ios_appid' |
|
| 1277 | - => '1125420102', |
|
| 1278 | - 'customclient_fdroid' |
|
| 1279 | - => 'https://f-droid.org/packages/com.nextcloud.client/', |
|
| 1280 | - |
|
| 1281 | - /** |
|
| 1282 | - * Activity |
|
| 1283 | - * |
|
| 1284 | - * Options for the activity app. |
|
| 1285 | - */ |
|
| 1286 | - |
|
| 1287 | - /** |
|
| 1288 | - * Retention of activities. |
|
| 1289 | - * |
|
| 1290 | - * A daily cron job deletes all activities for all users which are older than |
|
| 1291 | - * the number of days specified here. |
|
| 1292 | - * |
|
| 1293 | - * Defaults to ``365`` |
|
| 1294 | - */ |
|
| 1295 | - 'activity_expire_days' => 365, |
|
| 1296 | - |
|
| 1297 | - /** |
|
| 1298 | - * Activities in Team Folders and External Storages. |
|
| 1299 | - * |
|
| 1300 | - * By default, activities in team folders or external storages are only generated |
|
| 1301 | - * for the current user. This is due to a limitations in current implementations. |
|
| 1302 | - * This config flag makes activities in group folders and external storages work |
|
| 1303 | - * like in normal shares (when set to ``true``). |
|
| 1304 | - * |
|
| 1305 | - * WARNING: Enabling this comes with some CRITICAL trade-offs: |
|
| 1306 | - * |
|
| 1307 | - * - If team folder "Advanced Permissions" (ACLs) are used, activities do not |
|
| 1308 | - * respect the permissions and therefore all users see all activities, even |
|
| 1309 | - * for files and directories they do not have access to. |
|
| 1310 | - * - Users who had access to a team folder, share, or external storage can see |
|
| 1311 | - * activities in their stream and emails that happen after they are removed |
|
| 1312 | - * until they log in again. |
|
| 1313 | - * - Users who are newly added to a team folder, share, or external storage |
|
| 1314 | - * cannot see activities in their stream or emails that happen after they |
|
| 1315 | - * are added until they log in again. |
|
| 1316 | - * |
|
| 1317 | - * Defaults to ``false`` |
|
| 1318 | - */ |
|
| 1319 | - 'activity_use_cached_mountpoints' => false, |
|
| 1320 | - |
|
| 1321 | - /** |
|
| 1322 | - * Apps |
|
| 1323 | - * |
|
| 1324 | - * Options for the Apps folder, Apps store, and App code checker. |
|
| 1325 | - */ |
|
| 1326 | - |
|
| 1327 | - /** |
|
| 1328 | - * Set the default app to open on login. The entry IDs can be retrieved from |
|
| 1329 | - * the Navigations OCS API endpoint: https://docs.nextcloud.com/server/latest/developer_manual/_static/openapi.html#/operations/core-navigation-get-apps-navigation. |
|
| 1330 | - * You can use a comma-separated list of app names, so if the first |
|
| 1331 | - * app is not enabled for a user, then Nextcloud will try the second one, and so |
|
| 1332 | - * on. If no enabled apps are found, it defaults to the dashboard app. |
|
| 1333 | - * |
|
| 1334 | - * Defaults to ``dashboard,files`` |
|
| 1335 | - */ |
|
| 1336 | - 'defaultapp' => 'dashboard,files', |
|
| 1337 | - |
|
| 1338 | - /** |
|
| 1339 | - * When enabled, admins may install apps from the Nextcloud app store. |
|
| 1340 | - * |
|
| 1341 | - * Defaults to ``true`` |
|
| 1342 | - */ |
|
| 1343 | - 'appstoreenabled' => true, |
|
| 1344 | - |
|
| 1345 | - /** |
|
| 1346 | - * Enables the installation of apps from a self-hosted apps store. |
|
| 1347 | - * Requires that at least one of the configured apps directories is writable. |
|
| 1348 | - * |
|
| 1349 | - * Defaults to ``https://apps.nextcloud.com/api/v1`` |
|
| 1350 | - */ |
|
| 1351 | - 'appstoreurl' => 'https://apps.nextcloud.com/api/v1', |
|
| 1352 | - |
|
| 1353 | - /** |
|
| 1354 | - * Filters allowed installable apps from the appstore. |
|
| 1355 | - * Empty array will prevent all apps from the store to be found. |
|
| 1356 | - */ |
|
| 1357 | - 'appsallowlist' => [], |
|
| 1358 | - |
|
| 1359 | - /** |
|
| 1360 | - * Use the ``apps_paths`` parameter to set the location of the Apps directory, |
|
| 1361 | - * which should be scanned for available apps, and where user-specific apps |
|
| 1362 | - * should be installed from the Apps store. The ``path`` defines the absolute |
|
| 1363 | - * file system path to the app folder. The key ``url`` defines the HTTP Web path |
|
| 1364 | - * to that folder, starting from the Nextcloud webroot. The key ``writable`` |
|
| 1365 | - * indicates if a Web server can write files to that folder. |
|
| 1366 | - */ |
|
| 1367 | - 'apps_paths' => [ |
|
| 1368 | - [ |
|
| 1369 | - 'path' => '/var/www/nextcloud/apps', |
|
| 1370 | - 'url' => '/apps', |
|
| 1371 | - 'writable' => true, |
|
| 1372 | - ], |
|
| 1373 | - ], |
|
| 1374 | - |
|
| 1375 | - /** |
|
| 1376 | - * @see appcodechecker |
|
| 1377 | - */ |
|
| 1378 | - |
|
| 1379 | - /** |
|
| 1380 | - * Previews |
|
| 1381 | - * |
|
| 1382 | - * Nextcloud supports generating previews for various file types, such as images, audio files, and text files. |
|
| 1383 | - * These options control enabling and disabling previews, and thumbnail size. |
|
| 1384 | - */ |
|
| 1385 | - |
|
| 1386 | - /** |
|
| 1387 | - * By default, Nextcloud can generate previews for the following filetypes: |
|
| 1388 | - * |
|
| 1389 | - * - Image files |
|
| 1390 | - * - Text documents |
|
| 1391 | - * |
|
| 1392 | - * Valid values are ``true``, to enable previews, or |
|
| 1393 | - * ``false``, to disable previews |
|
| 1394 | - * |
|
| 1395 | - * Defaults to ``true`` |
|
| 1396 | - */ |
|
| 1397 | - 'enable_previews' => true, |
|
| 1398 | - |
|
| 1399 | - /** |
|
| 1400 | - * Number of all preview requests being processed concurrently, |
|
| 1401 | - * including previews that need to be newly generated, and those that have |
|
| 1402 | - * been generated. |
|
| 1403 | - * |
|
| 1404 | - * This should be greater than ``preview_concurrency_new``. |
|
| 1405 | - * If unspecified, defaults to twice the value of ``preview_concurrency_new``. |
|
| 1406 | - */ |
|
| 1407 | - 'preview_concurrency_all' => 8, |
|
| 1408 | - |
|
| 1409 | - /** |
|
| 1410 | - * Number of new previews that are being concurrently generated. |
|
| 1411 | - * |
|
| 1412 | - * Depending on the max preview size set by ``preview_max_x`` and ``preview_max_y``, |
|
| 1413 | - * the generation process can consume considerable CPU and memory resources. |
|
| 1414 | - * It's recommended to limit this to be no greater than the number of CPU cores. |
|
| 1415 | - * If unspecified, defaults to the number of CPU cores, or 4 if that cannot |
|
| 1416 | - * be determined. |
|
| 1417 | - */ |
|
| 1418 | - 'preview_concurrency_new' => 4, |
|
| 1419 | - |
|
| 1420 | - /** |
|
| 1421 | - * The maximum width, in pixels, of a preview. A value of ``null`` means there |
|
| 1422 | - * is no limit. |
|
| 1423 | - * |
|
| 1424 | - * Defaults to ``4096`` |
|
| 1425 | - */ |
|
| 1426 | - 'preview_max_x' => 4096, |
|
| 1427 | - /** |
|
| 1428 | - * The maximum height, in pixels, of a preview. A value of ``null`` means there |
|
| 1429 | - * is no limit. |
|
| 1430 | - * |
|
| 1431 | - * Defaults to ``4096`` |
|
| 1432 | - */ |
|
| 1433 | - 'preview_max_y' => 4096, |
|
| 1434 | - |
|
| 1435 | - /** |
|
| 1436 | - * Max file size for generating image previews with imagegd (default behavior). |
|
| 1437 | - * If the image is bigger, it'll try other preview generators, but will most |
|
| 1438 | - * likely either show the default mimetype icon or not display the image at all. |
|
| 1439 | - * Set to ``-1`` for no limit and try to generate image previews on all file sizes. |
|
| 1440 | - * |
|
| 1441 | - * Defaults to ``50`` megabytes |
|
| 1442 | - */ |
|
| 1443 | - 'preview_max_filesize_image' => 50, |
|
| 1444 | - |
|
| 1445 | - /** |
|
| 1446 | - * Max memory for generating image previews with imagegd (default behavior) |
|
| 1447 | - * Reads the image dimensions from the header and assumes 32 bits per pixel. |
|
| 1448 | - * If creating the image would allocate more memory, preview generation will |
|
| 1449 | - * be disabled and the default mimetype icon is shown. Set to ``-1`` for no limit. |
|
| 1450 | - * |
|
| 1451 | - * Defaults to ``256`` megabytes |
|
| 1452 | - */ |
|
| 1453 | - 'preview_max_memory' => 256, |
|
| 1454 | - |
|
| 1455 | - /** |
|
| 1456 | - * Custom path for LibreOffice/OpenOffice binary |
|
| 1457 | - * |
|
| 1458 | - * |
|
| 1459 | - * Defaults to ``''`` (empty string) |
|
| 1460 | - */ |
|
| 1461 | - 'preview_libreoffice_path' => '/usr/bin/libreoffice', |
|
| 1462 | - |
|
| 1463 | - /** |
|
| 1464 | - * Custom path for ffmpeg binary |
|
| 1465 | - * |
|
| 1466 | - * Defaults to ``null`` and falls back to searching ``ffmpeg`` |
|
| 1467 | - * in the configured ``PATH`` environment |
|
| 1468 | - */ |
|
| 1469 | - 'preview_ffmpeg_path' => '/usr/bin/ffmpeg', |
|
| 1470 | - |
|
| 1471 | - /** |
|
| 1472 | - * Custom path for ffprobe binary |
|
| 1473 | - * |
|
| 1474 | - * Defaults to ``null`` and falls back to using the same path as ffmpeg. |
|
| 1475 | - * ffprobe is typically packaged with ffmpeg and is required for |
|
| 1476 | - * enhanced preview generation for HDR videos. |
|
| 1477 | - */ |
|
| 1478 | - 'preview_ffprobe_path' => '/usr/bin/ffprobe', |
|
| 1479 | - |
|
| 1480 | - /** |
|
| 1481 | - * Set the URL of the Imaginary service to send image previews to. |
|
| 1482 | - * Also requires the ``OC\Preview\Imaginary`` provider to be enabled in the |
|
| 1483 | - * ``enabledPreviewProviders`` array, to create previews for these mimetypes: bmp, |
|
| 1484 | - * x-bitmap, png, jpeg, gif, heic, heif, svg+xml, tiff, webp, and illustrator. |
|
| 1485 | - * |
|
| 1486 | - * If you want Imaginary to also create preview images from PDF documents, you |
|
| 1487 | - * have to add the ``OC\Preview\ImaginaryPDF`` provider as well. |
|
| 1488 | - * |
|
| 1489 | - * See https://github.com/h2non/imaginary |
|
| 1490 | - */ |
|
| 1491 | - 'preview_imaginary_url' => 'http://previews_hpb:8088/', |
|
| 1492 | - |
|
| 1493 | - /** |
|
| 1494 | - * If you want to set an API key for Imaginary. |
|
| 1495 | - */ |
|
| 1496 | - 'preview_imaginary_key' => 'secret', |
|
| 1497 | - |
|
| 1498 | - /** |
|
| 1499 | - * Only register providers that have been explicitly enabled |
|
| 1500 | - * |
|
| 1501 | - * The following providers are disabled by default due to performance or privacy |
|
| 1502 | - * concerns: |
|
| 1503 | - * |
|
| 1504 | - * - ``OC\Preview\EMF`` |
|
| 1505 | - * - ``OC\Preview\Font`` |
|
| 1506 | - * - ``OC\Preview\HEIC`` |
|
| 1507 | - * - ``OC\Preview\Illustrator`` |
|
| 1508 | - * - ``OC\Preview\MP3`` |
|
| 1509 | - * - ``OC\Preview\MSOffice2003`` |
|
| 1510 | - * - ``OC\Preview\MSOffice2007`` |
|
| 1511 | - * - ``OC\Preview\MSOfficeDoc`` |
|
| 1512 | - * - ``OC\Preview\Movie`` |
|
| 1513 | - * - ``OC\Preview\PDF`` |
|
| 1514 | - * - ``OC\Preview\Photoshop`` |
|
| 1515 | - * - ``OC\Preview\Postscript`` |
|
| 1516 | - * - ``OC\Preview\SVG`` |
|
| 1517 | - * - ``OC\Preview\StarOffice`` |
|
| 1518 | - * - ``OC\Preview\TIFF`` |
|
| 1519 | - * |
|
| 1520 | - * Defaults to the following providers: |
|
| 1521 | - * |
|
| 1522 | - * - ``OC\Preview\BMP`` |
|
| 1523 | - * - ``OC\Preview\GIF`` |
|
| 1524 | - * - ``OC\Preview\JPEG`` |
|
| 1525 | - * - ``OC\Preview\Krita`` |
|
| 1526 | - * - ``OC\Preview\MarkDown`` |
|
| 1527 | - * - ``OC\Preview\OpenDocument`` |
|
| 1528 | - * - ``OC\Preview\PNG`` |
|
| 1529 | - * - ``OC\Preview\TXT`` |
|
| 1530 | - * - ``OC\Preview\XBitmap`` |
|
| 1531 | - * |
|
| 1532 | - */ |
|
| 1533 | - 'enabledPreviewProviders' => [ |
|
| 1534 | - 'OC\Preview\BMP', |
|
| 1535 | - 'OC\Preview\GIF', |
|
| 1536 | - 'OC\Preview\JPEG', |
|
| 1537 | - 'OC\Preview\Krita', |
|
| 1538 | - 'OC\Preview\MarkDown', |
|
| 1539 | - 'OC\Preview\OpenDocument', |
|
| 1540 | - 'OC\Preview\PNG', |
|
| 1541 | - 'OC\Preview\TXT', |
|
| 1542 | - 'OC\Preview\XBitmap', |
|
| 1543 | - ], |
|
| 1544 | - |
|
| 1545 | - /** |
|
| 1546 | - * Maximum file size for metadata generation. |
|
| 1547 | - * If a file exceeds this size, metadata generation will be skipped. |
|
| 1548 | - * |
|
| 1549 | - * NOTE: memory equivalent to this size will be used for metadata generation. |
|
| 1550 | - * |
|
| 1551 | - * Default: 256 megabytes. |
|
| 1552 | - */ |
|
| 1553 | - 'metadata_max_filesize' => 256, |
|
| 1554 | - |
|
| 1555 | - /** |
|
| 1556 | - * Maximum file size for file conversion. |
|
| 1557 | - * If a file exceeds this size, the file will not be converted. |
|
| 1558 | - * |
|
| 1559 | - * Default: 100 MiB |
|
| 1560 | - */ |
|
| 1561 | - 'max_file_conversion_filesize' => 100, |
|
| 1562 | - |
|
| 1563 | - /** |
|
| 1564 | - * LDAP |
|
| 1565 | - * |
|
| 1566 | - * Global settings used by LDAP User and Group Backend |
|
| 1567 | - */ |
|
| 1568 | - |
|
| 1569 | - /** |
|
| 1570 | - * Defines the interval in minutes for the background job that checks user |
|
| 1571 | - * existence and marks them as ready to be cleaned up. The number is always |
|
| 1572 | - * minutes. Setting it to 0 disables the feature. |
|
| 1573 | - * See command line (occ) methods ``ldap:show-remnants`` and ``user:delete`` |
|
| 1574 | - * |
|
| 1575 | - * Defaults to ``51`` minutes |
|
| 1576 | - */ |
|
| 1577 | - 'ldapUserCleanupInterval' => 51, |
|
| 1578 | - |
|
| 1579 | - /** |
|
| 1580 | - * Sort groups in the user settings by name instead of the user count |
|
| 1581 | - * |
|
| 1582 | - * By enabling this, the user count beside the group name is disabled as well. |
|
| 1583 | - * @deprecated since Nextcloud 29 - Use the frontend instead or set the app config value ``group.sortBy`` for ``core`` to ``2`` |
|
| 1584 | - */ |
|
| 1585 | - 'sort_groups_by_name' => false, |
|
| 1586 | - |
|
| 1587 | - /** |
|
| 1588 | - * Comments |
|
| 1589 | - * |
|
| 1590 | - * Global settings for the Comments infrastructure |
|
| 1591 | - */ |
|
| 1592 | - |
|
| 1593 | - /** |
|
| 1594 | - * Replaces the default Comments Manager Factory. This can be utilized if an |
|
| 1595 | - * own or 3rd-party CommentsManager should be used that – for instance – uses the |
|
| 1596 | - * filesystem instead of the database to keep the comments. |
|
| 1597 | - * |
|
| 1598 | - * Defaults to ``\OC\Comments\ManagerFactory`` |
|
| 1599 | - */ |
|
| 1600 | - 'comments.managerFactory' => '\OC\Comments\ManagerFactory', |
|
| 1601 | - |
|
| 1602 | - /** |
|
| 1603 | - * Replaces the default System Tags Manager Factory. This can be utilized if an |
|
| 1604 | - * own or 3rd-party SystemTagsManager should be used that – for instance – uses the |
|
| 1605 | - * filesystem instead of the database to keep the tags. |
|
| 1606 | - * |
|
| 1607 | - * Defaults to ``\OC\SystemTag\ManagerFactory`` |
|
| 1608 | - */ |
|
| 1609 | - 'systemtags.managerFactory' => '\OC\SystemTag\ManagerFactory', |
|
| 1610 | - |
|
| 1611 | - /** |
|
| 1612 | - * Maintenance |
|
| 1613 | - * |
|
| 1614 | - * These options are for halting user activity when you are performing server |
|
| 1615 | - * maintenance. |
|
| 1616 | - */ |
|
| 1617 | - |
|
| 1618 | - /** |
|
| 1619 | - * Enable maintenance mode to disable Nextcloud |
|
| 1620 | - * |
|
| 1621 | - * If you want to prevent users from logging in to Nextcloud before you start |
|
| 1622 | - * doing some maintenance work, you need to set the value of the maintenance |
|
| 1623 | - * parameter to true. Please keep in mind that users who are already logged in |
|
| 1624 | - * are kicked out of Nextcloud instantly. |
|
| 1625 | - * |
|
| 1626 | - * Defaults to ``false`` |
|
| 1627 | - */ |
|
| 1628 | - 'maintenance' => false, |
|
| 1629 | - |
|
| 1630 | - /** |
|
| 1631 | - * UTC Hour for maintenance windows |
|
| 1632 | - * |
|
| 1633 | - * Some background jobs only run once a day. When an hour is defined for this config, |
|
| 1634 | - * the background jobs which advertise themselves as not time sensitive will be |
|
| 1635 | - * delayed during the "working" hours and only run in the 4 hours after the given time. |
|
| 1636 | - * This is, e.g., used for activity expiration, suspicious login training, and update checks. |
|
| 1637 | - * |
|
| 1638 | - * A value of 1, e.g., will only run these background jobs between 01:00am UTC and 05:00am UTC. |
|
| 1639 | - * |
|
| 1640 | - * Defaults to ``100`` which disables the feature |
|
| 1641 | - */ |
|
| 1642 | - 'maintenance_window_start' => 1, |
|
| 1643 | - |
|
| 1644 | - /** |
|
| 1645 | - * Log all LDAP requests into a file |
|
| 1646 | - * |
|
| 1647 | - * Warning: This heavily decreases the performance of the server and is only |
|
| 1648 | - * meant to debug/profile the LDAP interaction manually. |
|
| 1649 | - * Also, it might log sensitive data into a plain text file. |
|
| 1650 | - */ |
|
| 1651 | - 'ldap_log_file' => '', |
|
| 1652 | - |
|
| 1653 | - /** |
|
| 1654 | - * SSL |
|
| 1655 | - */ |
|
| 1656 | - |
|
| 1657 | - /** |
|
| 1658 | - * Extra SSL options to be used for configuration. |
|
| 1659 | - * |
|
| 1660 | - * Defaults to an empty array. |
|
| 1661 | - */ |
|
| 1662 | - 'openssl' => [ |
|
| 1663 | - 'config' => '/absolute/location/of/openssl.cnf', |
|
| 1664 | - ], |
|
| 1665 | - |
|
| 1666 | - /** |
|
| 1667 | - * Memory caching backend configuration |
|
| 1668 | - * |
|
| 1669 | - * Available cache backends: |
|
| 1670 | - * |
|
| 1671 | - * * ``\OC\Memcache\APCu`` APC user backend |
|
| 1672 | - * * ``\OC\Memcache\ArrayCache`` In-memory array-based backend (not recommended) |
|
| 1673 | - * * ``\OC\Memcache\Memcached`` Memcached backend |
|
| 1674 | - * * ``\OC\Memcache\Redis`` Redis backend |
|
| 1675 | - * |
|
| 1676 | - * Advice on choosing between the various backends: |
|
| 1677 | - * |
|
| 1678 | - * * APCu should be easiest to install. Almost all distributions have packages. |
|
| 1679 | - * Use this for single user environment for all caches. |
|
| 1680 | - * * Use Redis or Memcached for distributed environments. |
|
| 1681 | - * For the local cache (you can configure two) take APCu. |
|
| 1682 | - */ |
|
| 1683 | - |
|
| 1684 | - /** |
|
| 1685 | - * Memory caching backend for locally stored data |
|
| 1686 | - * |
|
| 1687 | - * * Used for host-specific data, e.g., file paths |
|
| 1688 | - * |
|
| 1689 | - * Defaults to ``none`` |
|
| 1690 | - */ |
|
| 1691 | - 'memcache.local' => '\\OC\\Memcache\\APCu', |
|
| 1692 | - |
|
| 1693 | - /** |
|
| 1694 | - * Memory caching backend for distributed data |
|
| 1695 | - * |
|
| 1696 | - * * Used for installation-specific data, e.g., database caching |
|
| 1697 | - * * If unset, defaults to the value of memcache.local |
|
| 1698 | - * |
|
| 1699 | - * Defaults to ``none`` |
|
| 1700 | - */ |
|
| 1701 | - 'memcache.distributed' => '\\OC\\Memcache\\Memcached', |
|
| 1702 | - |
|
| 1703 | - /** |
|
| 1704 | - * Connection details for Redis to use for memory caching in a single server configuration. |
|
| 1705 | - * |
|
| 1706 | - * For enhanced security, it is recommended to configure Redis |
|
| 1707 | - * to require a password. See http://redis.io/topics/security |
|
| 1708 | - * for more information. |
|
| 1709 | - * |
|
| 1710 | - * We also support Redis SSL/TLS encryption as of version 6. |
|
| 1711 | - * See https://redis.io/topics/encryption for more information. |
|
| 1712 | - */ |
|
| 1713 | - 'redis' => [ |
|
| 1714 | - 'host' => 'localhost', // can also be a Unix domain socket: '/tmp/redis.sock' |
|
| 1715 | - 'port' => 6379, |
|
| 1716 | - 'timeout' => 0.0, |
|
| 1717 | - 'read_timeout' => 0.0, |
|
| 1718 | - 'user' => '', // Optional: if not defined, no password will be used. |
|
| 1719 | - 'password' => '', // Optional: if not defined, no password will be used. |
|
| 1720 | - 'dbindex' => 0, // Optional: if undefined, SELECT will not run and will use Redis Server's default DB Index. |
|
| 1721 | - // If Redis in-transit encryption is enabled, provide certificates |
|
| 1722 | - // SSL context https://www.php.net/manual/en/context.ssl.php |
|
| 1723 | - 'ssl_context' => [ |
|
| 1724 | - 'local_cert' => '/certs/redis.crt', |
|
| 1725 | - 'local_pk' => '/certs/redis.key', |
|
| 1726 | - 'cafile' => '/certs/ca.crt' |
|
| 1727 | - ] |
|
| 1728 | - ], |
|
| 1729 | - |
|
| 1730 | - /** |
|
| 1731 | - * Connection details for a Redis Cluster. |
|
| 1732 | - * |
|
| 1733 | - * Redis Cluster support requires the PHP module phpredis in version 3.0.0 or |
|
| 1734 | - * higher. |
|
| 1735 | - * |
|
| 1736 | - * Available failover modes: |
|
| 1737 | - * - ``\RedisCluster::FAILOVER_NONE`` - only send commands to master nodes (default) |
|
| 1738 | - * - ``\RedisCluster::FAILOVER_ERROR`` - failover to slaves for read commands if master is unavailable (recommended) |
|
| 1739 | - * - ``\RedisCluster::FAILOVER_DISTRIBUTE`` - randomly distribute read commands across master and slaves |
|
| 1740 | - * |
|
| 1741 | - * WARNING: ``\RedisCluster::FAILOVER_DISTRIBUTE`` is a not recommended setting, and we strongly |
|
| 1742 | - * suggest to not use it if you use Redis for file locking. Due to the way Redis |
|
| 1743 | - * is synchronized, it could happen that the read for an existing lock is |
|
| 1744 | - * scheduled to a slave that is not fully synchronized with the connected master |
|
| 1745 | - * which then causes a FileLocked exception. |
|
| 1746 | - * |
|
| 1747 | - * See https://redis.io/topics/cluster-spec for details about the Redis cluster |
|
| 1748 | - * |
|
| 1749 | - * Authentication works with phpredis version 4.2.1+. See |
|
| 1750 | - * https://github.com/phpredis/phpredis/commit/c5994f2a42b8a348af92d3acb4edff1328ad8ce1 |
|
| 1751 | - */ |
|
| 1752 | - 'redis.cluster' => [ |
|
| 1753 | - 'seeds' => [ // provide some or all of the cluster servers to bootstrap discovery, port required |
|
| 1754 | - 'localhost:7000', |
|
| 1755 | - 'localhost:7001', |
|
| 1756 | - ], |
|
| 1757 | - 'timeout' => 0.0, |
|
| 1758 | - 'read_timeout' => 0.0, |
|
| 1759 | - 'failover_mode' => \RedisCluster::FAILOVER_ERROR, |
|
| 1760 | - 'user' => '', // Optional: if not defined, no password will be used. |
|
| 1761 | - 'password' => '', // Optional: if not defined, no password will be used. |
|
| 1762 | - // If Redis in-transit encryption is enabled, provide certificates |
|
| 1763 | - // SSL context https://www.php.net/manual/en/context.ssl.php |
|
| 1764 | - 'ssl_context' => [ |
|
| 1765 | - 'local_cert' => '/certs/redis.crt', |
|
| 1766 | - 'local_pk' => '/certs/redis.key', |
|
| 1767 | - 'cafile' => '/certs/ca.crt' |
|
| 1768 | - ] |
|
| 1769 | - ], |
|
| 1770 | - |
|
| 1771 | - |
|
| 1772 | - /** |
|
| 1773 | - * Server details for one or more Memcached servers to use for memory caching. |
|
| 1774 | - */ |
|
| 1775 | - 'memcached_servers' => [ |
|
| 1776 | - // hostname, port and optional weight |
|
| 1777 | - // or path and port 0 for Unix socket. Also see: |
|
| 1778 | - // https://www.php.net/manual/en/memcached.addservers.php |
|
| 1779 | - // https://www.php.net/manual/en/memcached.addserver.php |
|
| 1780 | - ['localhost', 11211], |
|
| 1781 | - //array('other.host.local', 11211), |
|
| 1782 | - ], |
|
| 1783 | - |
|
| 1784 | - /** |
|
| 1785 | - * Connection options for Memcached |
|
| 1786 | - */ |
|
| 1787 | - 'memcached_options' => [ |
|
| 1788 | - // Set timeouts to 50ms |
|
| 1789 | - \Memcached::OPT_CONNECT_TIMEOUT => 50, |
|
| 1790 | - \Memcached::OPT_RETRY_TIMEOUT => 50, |
|
| 1791 | - \Memcached::OPT_SEND_TIMEOUT => 50, |
|
| 1792 | - \Memcached::OPT_RECV_TIMEOUT => 50, |
|
| 1793 | - \Memcached::OPT_POLL_TIMEOUT => 50, |
|
| 1794 | - |
|
| 1795 | - // Enable compression |
|
| 1796 | - \Memcached::OPT_COMPRESSION => true, |
|
| 1797 | - |
|
| 1798 | - // Turn on consistent hashing |
|
| 1799 | - \Memcached::OPT_LIBKETAMA_COMPATIBLE => true, |
|
| 1800 | - |
|
| 1801 | - // Enable Binary Protocol |
|
| 1802 | - \Memcached::OPT_BINARY_PROTOCOL => true, |
|
| 1803 | - |
|
| 1804 | - // Binary serializer will be enabled if the igbinary PECL module is available |
|
| 1805 | - //\Memcached::OPT_SERIALIZER => \Memcached::SERIALIZER_IGBINARY, |
|
| 1806 | - ], |
|
| 1807 | - |
|
| 1808 | - |
|
| 1809 | - /** |
|
| 1810 | - * Location of the cache folder, defaults to ``data/$user/cache`` where |
|
| 1811 | - * ``$user`` is the current user. When specified, the format will change to |
|
| 1812 | - * ``$cache_path/$user`` where ``$cache_path`` is the configured cache directory |
|
| 1813 | - * and ``$user`` is the user. |
|
| 1814 | - * |
|
| 1815 | - * Defaults to ``''`` (empty string) |
|
| 1816 | - */ |
|
| 1817 | - 'cache_path' => '', |
|
| 1818 | - |
|
| 1819 | - /** |
|
| 1820 | - * TTL of chunks located in the cache folder before they're removed by |
|
| 1821 | - * garbage collection (in seconds). Increase this value if users have |
|
| 1822 | - * issues uploading very large files via the Nextcloud Client as upload isn't |
|
| 1823 | - * completed within one day. |
|
| 1824 | - * |
|
| 1825 | - * Defaults to ``60*60*24`` (1 day) |
|
| 1826 | - */ |
|
| 1827 | - 'cache_chunk_gc_ttl' => 60 * 60 * 24, |
|
| 1828 | - |
|
| 1829 | - /** |
|
| 1830 | - * Enable caching of the app config values. |
|
| 1831 | - * If enabled the app config will be cached locally for a short TTL, |
|
| 1832 | - * reducing database load significantly on larger setups. |
|
| 1833 | - * |
|
| 1834 | - * Defaults to ``true`` |
|
| 1835 | - */ |
|
| 1836 | - 'cache_app_config' => true, |
|
| 1837 | - |
|
| 1838 | - /** |
|
| 1839 | - * Using Object Store with Nextcloud |
|
| 1840 | - */ |
|
| 1841 | - |
|
| 1842 | - /** |
|
| 1843 | - * This example shows how to configure Nextcloud to store all files in a |
|
| 1844 | - * Swift object storage. |
|
| 1845 | - * |
|
| 1846 | - * It is important to note that Nextcloud in object store mode will expect |
|
| 1847 | - * exclusive access to the object store container because it only stores the |
|
| 1848 | - * binary data for each file. The metadata is currently kept in the local |
|
| 1849 | - * database for performance reasons. |
|
| 1850 | - * |
|
| 1851 | - * WARNING: The current implementation is incompatible with any app that uses |
|
| 1852 | - * direct file I/O and circumvents our virtual filesystem. That includes |
|
| 1853 | - * Encryption and Gallery. Gallery will store thumbnails directly in the |
|
| 1854 | - * filesystem, and encryption will cause severe overhead because key files need |
|
| 1855 | - * to be fetched in addition to any requested file. |
|
| 1856 | - * |
|
| 1857 | - */ |
|
| 1858 | - 'objectstore' => [ |
|
| 1859 | - 'class' => 'OC\\Files\\ObjectStore\\Swift', |
|
| 1860 | - 'arguments' => [ |
|
| 1861 | - // trystack will use your Facebook ID as the username |
|
| 1862 | - 'username' => 'facebook100000123456789', |
|
| 1863 | - // in the trystack dashboard, go to user -> settings -> API Password to |
|
| 1864 | - // generate a password |
|
| 1865 | - 'password' => 'Secr3tPaSSWoRdt7', |
|
| 1866 | - // must already exist in the objectstore, name can be different |
|
| 1867 | - 'container' => 'nextcloud', |
|
| 1868 | - // prefix to prepend to the fileid, default is 'oid:urn:' |
|
| 1869 | - 'objectPrefix' => 'oid:urn:', |
|
| 1870 | - // create the container if it does not exist. default is false |
|
| 1871 | - 'autocreate' => true, |
|
| 1872 | - // required, dev-/trystack defaults to 'RegionOne' |
|
| 1873 | - 'region' => 'RegionOne', |
|
| 1874 | - // The Identity / Keystone endpoint |
|
| 1875 | - 'url' => 'http://8.21.28.222:5000/v2.0', |
|
| 1876 | - // uploadPartSize: size of the uploaded chunks, defaults to 524288000 |
|
| 1877 | - 'uploadPartSize' => 524288000, |
|
| 1878 | - // required on dev-/trystack |
|
| 1879 | - 'tenantName' => 'facebook100000123456789', |
|
| 1880 | - // dev-/trystack uses swift by default, the lib defaults to 'cloudFiles' |
|
| 1881 | - // if omitted |
|
| 1882 | - 'serviceName' => 'swift', |
|
| 1883 | - // The Interface / URL Type, optional |
|
| 1884 | - 'urlType' => 'internal', |
|
| 1885 | - // Maximum amount of data that can be uploaded |
|
| 1886 | - 'totalSizeLimit' => 1024 * 1024 * 1024, |
|
| 1887 | - ], |
|
| 1888 | - ], |
|
| 1889 | - |
|
| 1890 | - /** |
|
| 1891 | - * To use Swift V3 |
|
| 1892 | - */ |
|
| 1893 | - 'objectstore' => [ |
|
| 1894 | - 'class' => 'OC\\Files\\ObjectStore\\Swift', |
|
| 1895 | - 'arguments' => [ |
|
| 1896 | - 'autocreate' => true, |
|
| 1897 | - 'user' => [ |
|
| 1898 | - 'name' => 'swift', |
|
| 1899 | - 'password' => 'swift', |
|
| 1900 | - 'domain' => [ |
|
| 1901 | - 'name' => 'default', |
|
| 1902 | - ], |
|
| 1903 | - ], |
|
| 1904 | - 'scope' => [ |
|
| 1905 | - 'project' => [ |
|
| 1906 | - 'name' => 'service', |
|
| 1907 | - 'domain' => [ |
|
| 1908 | - 'name' => 'default', |
|
| 1909 | - ], |
|
| 1910 | - ], |
|
| 1911 | - ], |
|
| 1912 | - 'tenantName' => 'service', |
|
| 1913 | - 'serviceName' => 'swift', |
|
| 1914 | - 'region' => 'regionOne', |
|
| 1915 | - 'url' => 'http://yourswifthost:5000/v3', |
|
| 1916 | - 'bucket' => 'nextcloud', |
|
| 1917 | - ], |
|
| 1918 | - ], |
|
| 1919 | - |
|
| 1920 | - /** |
|
| 1921 | - * If this is set to true and a multibucket object store is configured, then |
|
| 1922 | - * newly created previews are put into 256 dedicated buckets. |
|
| 1923 | - * |
|
| 1924 | - * Those buckets are named like the multibucket version but with the postfix |
|
| 1925 | - * ``-preview-NUMBER`` where NUMBER is between 0 and 255. |
|
| 1926 | - * |
|
| 1927 | - * Keep in mind that only previews of files are put in there that don't have |
|
| 1928 | - * some already. Otherwise, the old bucket will be used. |
|
| 1929 | - * |
|
| 1930 | - * To migrate existing previews to this new multibucket distribution of previews, |
|
| 1931 | - * use the occ command ``preview:repair``. For now, this will only migrate |
|
| 1932 | - * previews that were generated before Nextcloud 19 in the flat |
|
| 1933 | - * ``appdata_INSTANCEID/previews/FILEID`` folder structure. |
|
| 1934 | - */ |
|
| 1935 | - 'objectstore.multibucket.preview-distribution' => false, |
|
| 1936 | - |
|
| 1937 | - |
|
| 1938 | - /** |
|
| 1939 | - * Sharing |
|
| 1940 | - * |
|
| 1941 | - * Global settings for Sharing |
|
| 1942 | - */ |
|
| 1943 | - |
|
| 1944 | - /** |
|
| 1945 | - * Replaces the default Share Provider Factory. This can be utilized if |
|
| 1946 | - * own or 3rd-party Share Providers are used that – for instance – use the |
|
| 1947 | - * filesystem instead of the database to keep the share information. |
|
| 1948 | - * |
|
| 1949 | - * Defaults to ``\OC\Share20\ProviderFactory`` |
|
| 1950 | - */ |
|
| 1951 | - 'sharing.managerFactory' => '\OC\Share20\ProviderFactory', |
|
| 1952 | - |
|
| 1953 | - /** |
|
| 1954 | - * Enables expiration for link share passwords sent by email (sharebymail). |
|
| 1955 | - * The passwords will expire after the configured interval; the users can |
|
| 1956 | - * still request a new one on the public link page. |
|
| 1957 | - */ |
|
| 1958 | - 'sharing.enable_mail_link_password_expiration' => false, |
|
| 1959 | - |
|
| 1960 | - /** |
|
| 1961 | - * Expiration interval for passwords, in seconds. |
|
| 1962 | - */ |
|
| 1963 | - 'sharing.mail_link_password_expiration_interval' => 3600, |
|
| 1964 | - |
|
| 1965 | - /** |
|
| 1966 | - * Define max number of results returned by the search for auto-completion of |
|
| 1967 | - * users, groups, etc. The value must not be lower than 0 (for unlimited). |
|
| 1968 | - * |
|
| 1969 | - * If more, different sources are requested (e.g., different user backends; or |
|
| 1970 | - * both users and groups), the value is applied per source and might not be |
|
| 1971 | - * truncated after collecting the results. I.e., more results can appear than |
|
| 1972 | - * configured here. |
|
| 1973 | - * |
|
| 1974 | - * Default is 25. |
|
| 1975 | - */ |
|
| 1976 | - 'sharing.maxAutocompleteResults' => 25, |
|
| 1977 | - |
|
| 1978 | - /** |
|
| 1979 | - * Define the minimum length of the search string before we start auto-completion |
|
| 1980 | - * Default is no limit (value set to 0) |
|
| 1981 | - */ |
|
| 1982 | - 'sharing.minSearchStringLength' => 0, |
|
| 1983 | - |
|
| 1984 | - /** |
|
| 1985 | - * Set to true to enable that internal shares need to be accepted by the users by default. |
|
| 1986 | - * Users can change this for their account in their personal sharing settings |
|
| 1987 | - */ |
|
| 1988 | - 'sharing.enable_share_accept' => false, |
|
| 1989 | - |
|
| 1990 | - /** |
|
| 1991 | - * Set to ``true`` to enforce that internal shares need to be accepted |
|
| 1992 | - */ |
|
| 1993 | - 'sharing.force_share_accept' => false, |
|
| 1994 | - |
|
| 1995 | - /** |
|
| 1996 | - * Set to ``false`` to prevent users from setting a custom share_folder |
|
| 1997 | - */ |
|
| 1998 | - 'sharing.allow_custom_share_folder' => true, |
|
| 1999 | - |
|
| 2000 | - /** |
|
| 2001 | - * Define a default folder for shared files and folders other than root. |
|
| 2002 | - * Changes to this value will only have effect on new shares. |
|
| 2003 | - * |
|
| 2004 | - * Defaults to ``/`` |
|
| 2005 | - */ |
|
| 2006 | - 'share_folder' => '/', |
|
| 2007 | - |
|
| 2008 | - /** |
|
| 2009 | - * Set to ``false`` to stop sending a mail when users receive a share |
|
| 2010 | - */ |
|
| 2011 | - 'sharing.enable_share_mail' => true, |
|
| 2012 | - |
|
| 2013 | - /** |
|
| 2014 | - * Set to true to enable the feature to add exceptions for share password enforcement |
|
| 2015 | - */ |
|
| 2016 | - 'sharing.allow_disabled_password_enforcement_groups' => false, |
|
| 2017 | - |
|
| 2018 | - /** |
|
| 2019 | - * Set to true to always transfer incoming shares by default |
|
| 2020 | - * when running ``occ files:transfer-ownership``. |
|
| 2021 | - * Defaults to ``false``, so incoming shares are not transferred if not specifically requested |
|
| 2022 | - * by a command line argument. |
|
| 2023 | - */ |
|
| 2024 | - 'transferIncomingShares' => false, |
|
| 2025 | - |
|
| 2026 | - /** |
|
| 2027 | - * Federated Cloud Sharing |
|
| 2028 | - */ |
|
| 2029 | - |
|
| 2030 | - /** |
|
| 2031 | - * Allow self-signed certificates for federated shares |
|
| 2032 | - */ |
|
| 2033 | - 'sharing.federation.allowSelfSignedCertificates' => false, |
|
| 2034 | - |
|
| 2035 | - /** |
|
| 2036 | - * Hashing |
|
| 2037 | - */ |
|
| 2038 | - |
|
| 2039 | - /** |
|
| 2040 | - * By default, Nextcloud will use the Argon2 password hashing if available. |
|
| 2041 | - * However, if for whatever reason you want to stick with the PASSWORD_DEFAULT |
|
| 2042 | - * of your PHP version, then set the setting to true. |
|
| 2043 | - * |
|
| 2044 | - * Nextcloud uses the Argon2 algorithm (with PHP >= 7.2) to create hashes by its |
|
| 2045 | - * own and exposes its configuration options as following. More information can |
|
| 2046 | - * be found at: https://www.php.net/manual/en/function.password-hash.php |
|
| 2047 | - */ |
|
| 2048 | - 'hashing_default_password' => false, |
|
| 2049 | - |
|
| 2050 | - /** |
|
| 2051 | - * The number of CPU threads to be used by the algorithm for computing a hash. |
|
| 2052 | - * The value must be an integer, and the minimum value is ``1``. Rationally, it does |
|
| 2053 | - * not help to provide a number higher than the available threads on the machine. |
|
| 2054 | - * Values that undershoot the minimum will be ignored in favor of the minimum. |
|
| 2055 | - */ |
|
| 2056 | - 'hashingThreads' => PASSWORD_ARGON2_DEFAULT_THREADS, |
|
| 2057 | - |
|
| 2058 | - /** |
|
| 2059 | - * The memory in KiB to be used by the algorithm for computing a hash. The value |
|
| 2060 | - * must be an integer, and the minimum value is 8 times the number of CPU threads. |
|
| 2061 | - * Values that undershoot the minimum will be ignored in favor of the minimum. |
|
| 2062 | - */ |
|
| 2063 | - 'hashingMemoryCost' => PASSWORD_ARGON2_DEFAULT_MEMORY_COST, |
|
| 2064 | - |
|
| 2065 | - /** |
|
| 2066 | - * The number of iterations that are used by the algorithm for computing a hash. |
|
| 2067 | - * The value must be an integer, and the minimum value is ``1``. Values that |
|
| 2068 | - * undershoot the minimum will be ignored in favor of the minimum. |
|
| 2069 | - */ |
|
| 2070 | - 'hashingTimeCost' => PASSWORD_ARGON2_DEFAULT_TIME_COST, |
|
| 2071 | - |
|
| 2072 | - /** |
|
| 2073 | - * The hashing cost used by hashes generated by Nextcloud |
|
| 2074 | - * Using a higher value requires more time and CPU power to calculate the hashes |
|
| 2075 | - */ |
|
| 2076 | - 'hashingCost' => 10, |
|
| 2077 | - |
|
| 2078 | - /** |
|
| 2079 | - * All other configuration options |
|
| 2080 | - */ |
|
| 2081 | - |
|
| 2082 | - /** |
|
| 2083 | - * Additional driver options for the database connection, e.g., to enable SSL |
|
| 2084 | - * encryption in MySQL or specify a custom wait timeout on a cheap hoster. |
|
| 2085 | - * |
|
| 2086 | - * When setting up TLS/SSL for encrypting the connections, you need to ensure that |
|
| 2087 | - * the passed keys and certificates are readable by the PHP process. In addition, |
|
| 2088 | - * ``PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT`` might need to be set to false, if the |
|
| 2089 | - * database server's certificate CN does not match with the hostname used to connect. |
|
| 2090 | - * The standard behavior here is different from the MySQL/MariaDB CLI client, which |
|
| 2091 | - * does not verify the server cert except ``--ssl-verify-server-cert`` is passed manually. |
|
| 2092 | - */ |
|
| 2093 | - 'dbdriveroptions' => [ |
|
| 2094 | - PDO::MYSQL_ATTR_SSL_CA => '/file/path/to/ca_cert.pem', |
|
| 2095 | - PDO::MYSQL_ATTR_SSL_KEY => '/file/path/to/mysql-client-key.pem', |
|
| 2096 | - PDO::MYSQL_ATTR_SSL_CERT => '/file/path/to/mysql-client-cert.pem', |
|
| 2097 | - PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT => false, |
|
| 2098 | - PDO::MYSQL_ATTR_INIT_COMMAND => 'SET wait_timeout = 28800' |
|
| 2099 | - ], |
|
| 2100 | - |
|
| 2101 | - /** |
|
| 2102 | - * SQLite3 journal mode can be specified using this configuration parameter - |
|
| 2103 | - * can be ``'WAL'`` or ``'DELETE'``. See https://www.sqlite.org/wal.html for more details. |
|
| 2104 | - */ |
|
| 2105 | - 'sqlite.journal_mode' => 'DELETE', |
|
| 2106 | - |
|
| 2107 | - /** |
|
| 2108 | - * During setup, if requirements are met (see below), this setting is set to true |
|
| 2109 | - * to enable MySQL to handle 4-byte characters instead of 3-byte characters. |
|
| 2110 | - * |
|
| 2111 | - * To convert an existing 3-byte setup to a 4-byte setup, configure the MySQL |
|
| 2112 | - * parameters as described below and run the migration command: |
|
| 2113 | - * ``./occ db:convert-mysql-charset`` |
|
| 2114 | - * This config setting will be automatically updated after a successful migration. |
|
| 2115 | - * |
|
| 2116 | - * Refer to the documentation for more details. |
|
| 2117 | - * |
|
| 2118 | - * MySQL requires specific settings for longer indexes (> 767 bytes), which are |
|
| 2119 | - * necessary for 4-byte character support:: |
|
| 2120 | - * |
|
| 2121 | - * [mysqld] |
|
| 2122 | - * innodb_large_prefix=ON |
|
| 2123 | - * innodb_file_format=Barracuda |
|
| 2124 | - * innodb_file_per_table=ON |
|
| 2125 | - * |
|
| 2126 | - * Tables will be created with: |
|
| 2127 | - * * character set: ``utf8mb4`` |
|
| 2128 | - * * collation: ``utf8mb4_bin`` |
|
| 2129 | - * * row_format: ``dynamic`` |
|
| 2130 | - * |
|
| 2131 | - * See: |
|
| 2132 | - * * https://dev.mysql.com/doc/refman/5.7/en/charset-unicode-utf8mb4.html |
|
| 2133 | - * * https://dev.mysql.com/doc/refman/5.7/en/innodb-parameters.html#sysvar_innodb_large_prefix |
|
| 2134 | - * * https://mariadb.com/kb/en/mariadb/xtradbinnodb-server-system-variables/#innodb_large_prefix |
|
| 2135 | - * * http://www.tocker.ca/2013/10/31/benchmarking-innodb-page-compression-performance.html |
|
| 2136 | - * * http://mechanics.flite.com/blog/2014/07/29/using-innodb-large-prefix-to-avoid-error-1071/ |
|
| 2137 | - */ |
|
| 2138 | - 'mysql.utf8mb4' => false, |
|
| 2139 | - |
|
| 2140 | - /** |
|
| 2141 | - * For search queries in the database, a default collation is chosen based on the |
|
| 2142 | - * character set. In some cases, a different collation is desired, such as for |
|
| 2143 | - * accent-sensitive searches. |
|
| 2144 | - * |
|
| 2145 | - * MariaDB and MySQL share some collations, but also have incompatible ones, |
|
| 2146 | - * depending on the database server version. |
|
| 2147 | - * |
|
| 2148 | - * This option allows overriding the automatic collation choice. Example:: |
|
| 2149 | - * |
|
| 2150 | - * 'mysql.collation' => 'utf8mb4_0900_as_ci', |
|
| 2151 | - * |
|
| 2152 | - * This setting does not affect table creation or setup, where utf8[mb4]_bin is |
|
| 2153 | - * always used. It applies only to SQL queries using LIKE comparison operators. |
|
| 2154 | - */ |
|
| 2155 | - 'mysql.collation' => null, |
|
| 2156 | - |
|
| 2157 | - /** |
|
| 2158 | - * PostgreSQL SSL connection |
|
| 2159 | - */ |
|
| 2160 | - 'pgsql_ssl' => [ |
|
| 2161 | - 'mode' => '', |
|
| 2162 | - 'cert' => '', |
|
| 2163 | - 'rootcert' => '', |
|
| 2164 | - 'key' => '', |
|
| 2165 | - 'crl' => '', |
|
| 2166 | - ], |
|
| 2167 | - |
|
| 2168 | - /** |
|
| 2169 | - * Database types supported for installation. |
|
| 2170 | - * |
|
| 2171 | - * Available: |
|
| 2172 | - * - sqlite (SQLite3) |
|
| 2173 | - * - mysql (MySQL) |
|
| 2174 | - * - pgsql (PostgreSQL) |
|
| 2175 | - * - oci (Oracle) |
|
| 2176 | - * |
|
| 2177 | - * Defaults to: |
|
| 2178 | - * - sqlite (SQLite3) |
|
| 2179 | - * - mysql (MySQL) |
|
| 2180 | - * - pgsql (PostgreSQL) |
|
| 2181 | - */ |
|
| 2182 | - 'supportedDatabases' => [ |
|
| 2183 | - 'sqlite', |
|
| 2184 | - 'mysql', |
|
| 2185 | - 'pgsql', |
|
| 2186 | - 'oci', |
|
| 2187 | - ], |
|
| 2188 | - |
|
| 2189 | - /** |
|
| 2190 | - * Override the location where Nextcloud stores temporary files. Useful in setups |
|
| 2191 | - * where the system temporary directory is on a limited-space ramdisk, restricted, |
|
| 2192 | - * or when using external storage that does not support streaming. |
|
| 2193 | - * |
|
| 2194 | - * The web server user/PHP must have write access to this directory. Ensure that |
|
| 2195 | - * PHP configuration recognizes this as a valid temporary directory by setting |
|
| 2196 | - * the TMP, TMPDIR, and TEMP environment variables accordingly. Additional |
|
| 2197 | - * permissions may be required for AppArmor or SELinux. |
|
| 2198 | - */ |
|
| 2199 | - 'tempdirectory' => '/tmp/nextcloudtemp', |
|
| 2200 | - |
|
| 2201 | - /** |
|
| 2202 | - * Override the location where Nextcloud stores update files during updates. |
|
| 2203 | - * Useful when the default ``datadirectory`` is on a network disk like NFS or is |
|
| 2204 | - * otherwise restricted. Defaults to the value of ``datadirectory`` if unset. |
|
| 2205 | - * |
|
| 2206 | - * If set, the directory must be located outside the Nextcloud installation |
|
| 2207 | - * directory and writable by the web server user. |
|
| 2208 | - */ |
|
| 2209 | - 'updatedirectory' => '', |
|
| 2210 | - |
|
| 2211 | - /** |
|
| 2212 | - * Block specific files or filenames, disallowing uploads or access (read and write). |
|
| 2213 | - * ``.htaccess`` is blocked by default. |
|
| 2214 | - * |
|
| 2215 | - * WARNING: Use this only if you understand the implications. |
|
| 2216 | - * |
|
| 2217 | - * NOTE: This list is case-insensitive. |
|
| 2218 | - * |
|
| 2219 | - * Defaults to ``['.htaccess']`` |
|
| 2220 | - */ |
|
| 2221 | - 'forbidden_filenames' => ['.htaccess'], |
|
| 2222 | - |
|
| 2223 | - /** |
|
| 2224 | - * Disallow uploads of files with specific basenames. Matching existing files |
|
| 2225 | - * cannot be updated, and no new files can be created in matching folders. |
|
| 2226 | - * |
|
| 2227 | - * The basename is the filename without the extension, e.g., for "archive.tar.gz", |
|
| 2228 | - * the basename is "archive". |
|
| 2229 | - * |
|
| 2230 | - * NOTE: This list is case-insensitive. |
|
| 2231 | - * |
|
| 2232 | - * Defaults to ``[]`` (empty array) |
|
| 2233 | - */ |
|
| 2234 | - 'forbidden_filename_basenames' => [], |
|
| 2235 | - |
|
| 2236 | - /** |
|
| 2237 | - * Block specific characters in filenames. Useful for filesystems or operating |
|
| 2238 | - * systems (e.g., Windows) that do not support certain characters. Matching |
|
| 2239 | - * existing files cannot be updated, and no new files can be created in matching |
|
| 2240 | - * folders. |
|
| 2241 | - * |
|
| 2242 | - * The ``/`` and ``\`` characters, as well as ASCII characters [0-31], are always |
|
| 2243 | - * forbidden. |
|
| 2244 | - * |
|
| 2245 | - * Example for Windows: ``['?', '<', '>', ':', '*', '|', '"']`` |
|
| 2246 | - * See: https://en.wikipedia.org/wiki/Comparison_of_file_systems#Limits |
|
| 2247 | - * |
|
| 2248 | - * Defaults to ``[]`` (empty array) |
|
| 2249 | - */ |
|
| 2250 | - 'forbidden_filename_characters' => [], |
|
| 2251 | - |
|
| 2252 | - /** |
|
| 2253 | - * Deny specific file extensions. Matching existing files cannot be updated, and |
|
| 2254 | - * no new files can be created in matching folders. |
|
| 2255 | - * |
|
| 2256 | - * The ``'.part'`` extension is always forbidden, as it is used internally by Nextcloud. |
|
| 2257 | - * |
|
| 2258 | - * Defaults to ``['.filepart', '.part']`` |
|
| 2259 | - */ |
|
| 2260 | - 'forbidden_filename_extensions' => ['.part', '.filepart'], |
|
| 2261 | - |
|
| 2262 | - /** |
|
| 2263 | - * Specify the name of a theme to apply to Nextcloud. Themes are located in |
|
| 2264 | - * ``nextcloud/themes/`` by default. |
|
| 2265 | - * |
|
| 2266 | - * Defaults to the theming app, included since Nextcloud 9. |
|
| 2267 | - */ |
|
| 2268 | - 'theme' => '', |
|
| 2269 | - |
|
| 2270 | - /** |
|
| 2271 | - * Enforce a specific user theme, disabling user theming settings. Must be a |
|
| 2272 | - * valid ITheme ID, e.g., ``dark``, ``dark-highcontrast``, ``default``, ``light``, |
|
| 2273 | - * ``light-highcontrast``, ``opendyslexic``. |
|
| 2274 | - */ |
|
| 2275 | - 'enforce_theme' => '', |
|
| 2276 | - |
|
| 2277 | - /** |
|
| 2278 | - * Enable or disable Progressive Web App (PWA) functionality, which allows |
|
| 2279 | - * browsers to open web applications in dedicated windows. |
|
| 2280 | - * |
|
| 2281 | - * Defaults to ``true`` |
|
| 2282 | - */ |
|
| 2283 | - 'theming.standalone_window.enabled' => true, |
|
| 2284 | - |
|
| 2285 | - /** |
|
| 2286 | - * Specify the default cipher for encrypting files. Supported ciphers: |
|
| 2287 | - * - AES-256-CTR |
|
| 2288 | - * - AES-128-CTR |
|
| 2289 | - * - AES-256-CFB |
|
| 2290 | - * - AES-128-CFB |
|
| 2291 | - * |
|
| 2292 | - * Defaults to ``AES-256-CTR`` |
|
| 2293 | - */ |
|
| 2294 | - 'cipher' => 'AES-256-CTR', |
|
| 2295 | - |
|
| 2296 | - /** |
|
| 2297 | - * Use the legacy base64 format for encrypted files instead of the more |
|
| 2298 | - * space-efficient binary format. This affects only newly written files; existing |
|
| 2299 | - * encrypted files remain readable regardless of the format. |
|
| 2300 | - * |
|
| 2301 | - * Defaults to ``false`` |
|
| 2302 | - */ |
|
| 2303 | - 'encryption.use_legacy_base64_encoding' => false, |
|
| 2304 | - |
|
| 2305 | - /** |
|
| 2306 | - * Specify the minimum Nextcloud desktop client version allowed to sync with this |
|
| 2307 | - * server. Connections from earlier clients will be denied. Defaults to the |
|
| 2308 | - * minimum officially supported version at the time of this server release. |
|
| 2309 | - * |
|
| 2310 | - * Changing this may cause older, unsupported clients to malfunction, potentially |
|
| 2311 | - * leading to data loss or unexpected behavior. |
|
| 2312 | - * |
|
| 2313 | - * Defaults to ``3.1.0`` |
|
| 2314 | - */ |
|
| 2315 | - 'minimum.supported.desktop.version' => '3.1.0', |
|
| 2316 | - |
|
| 2317 | - /** |
|
| 2318 | - * Specify the maximum Nextcloud desktop client version allowed to sync with this |
|
| 2319 | - * server. Connections from later clients will be denied. |
|
| 2320 | - * |
|
| 2321 | - * Defaults to ``99.99.99`` |
|
| 2322 | - */ |
|
| 2323 | - 'maximum.supported.desktop.version' => '99.99.99', |
|
| 2324 | - |
|
| 2325 | - /** |
|
| 2326 | - * Allow local storage to contain symlinks. |
|
| 2327 | - * WARNING: Not recommended, as this allows Nextcloud to access files outside the |
|
| 2328 | - * data directory, posing a potential security risk. |
|
| 2329 | - * |
|
| 2330 | - * Defaults to ``false`` |
|
| 2331 | - */ |
|
| 2332 | - 'localstorage.allowsymlinks' => false, |
|
| 2333 | - |
|
| 2334 | - /** |
|
| 2335 | - * Nextcloud overrides umask to ensure suitable access permissions regardless of |
|
| 2336 | - * web server or PHP-FPM configuration. Modifying this value has security |
|
| 2337 | - * implications and may cause issues with the installation. |
|
| 2338 | - * |
|
| 2339 | - * Most installations should not modify this value. |
|
| 2340 | - * |
|
| 2341 | - * Defaults to ``0022`` |
|
| 2342 | - */ |
|
| 2343 | - 'localstorage.umask' => 0022, |
|
| 2344 | - |
|
| 2345 | - /** |
|
| 2346 | - * Allow storage systems that do not support modifying existing files to overcome |
|
| 2347 | - * this limitation by removing files before overwriting. |
|
| 2348 | - * |
|
| 2349 | - * Defaults to ``false`` |
|
| 2350 | - */ |
|
| 2351 | - 'localstorage.unlink_on_truncate' => false, |
|
| 2352 | - |
|
| 2353 | - /** |
|
| 2354 | - * EXPERIMENTAL: Include external storage in quota calculations. |
|
| 2355 | - * |
|
| 2356 | - * Defaults to ``false`` |
|
| 2357 | - */ |
|
| 2358 | - 'quota_include_external_storage' => false, |
|
| 2359 | - |
|
| 2360 | - /** |
|
| 2361 | - * When an external storage is unavailable (e.g., due to failed authentication), |
|
| 2362 | - * it is flagged as such for a specified duration. For authentication failures, |
|
| 2363 | - * this delay can be customized to reduce the likelihood of account lockouts in |
|
| 2364 | - * systems like Active Directory. |
|
| 2365 | - * |
|
| 2366 | - * Defaults to ``1800`` seconds (30 minutes) |
|
| 2367 | - */ |
|
| 2368 | - 'external_storage.auth_availability_delay' => 1800, |
|
| 2369 | - |
|
| 2370 | - /** |
|
| 2371 | - * Allow creation of external storages of type "Local" via the web interface and |
|
| 2372 | - * APIs. When disabled, local storages can still be created using the occ command:: |
|
| 2373 | - * occ files_external:create /mountpoint local null::null -c datadir=/path/to/data |
|
| 2374 | - * |
|
| 2375 | - * Defaults to ``true`` |
|
| 2376 | - */ |
|
| 2377 | - 'files_external_allow_create_new_local' => true, |
|
| 2378 | - |
|
| 2379 | - /** |
|
| 2380 | - * Specify how often the local filesystem (Nextcloud data/ directory and NFS |
|
| 2381 | - * mounts in data/) is checked for changes made outside Nextcloud. This does not |
|
| 2382 | - * apply to external storage. |
|
| 2383 | - * |
|
| 2384 | - * - ``0`` -> Never check the filesystem for outside changes, improving performance when no external changes are expected. |
|
| 2385 | - * - ``1`` -> Check each file or folder at most once per request, recommended for general use if outside changes are possible. |
|
| 2386 | - * |
|
| 2387 | - * Defaults to ``0`` |
|
| 2388 | - */ |
|
| 2389 | - 'filesystem_check_changes' => 0, |
|
| 2390 | - |
|
| 2391 | - /** |
|
| 2392 | - * Store part files created during upload in the same storage as the upload |
|
| 2393 | - * target. Setting this to false stores part files in the root of the user's |
|
| 2394 | - * folder, which may be necessary for external storage with limited rename |
|
| 2395 | - * capabilities. |
|
| 2396 | - * |
|
| 2397 | - * Defaults to ``true`` |
|
| 2398 | - */ |
|
| 2399 | - 'part_file_in_storage' => true, |
|
| 2400 | - |
|
| 2401 | - /** |
|
| 2402 | - * Specify the location of the ``mount.json`` file. |
|
| 2403 | - * |
|
| 2404 | - * Defaults to ``data/mount.json`` in the Nextcloud directory. |
|
| 2405 | - */ |
|
| 2406 | - 'mount_file' => '/var/www/nextcloud/data/mount.json', |
|
| 2407 | - |
|
| 2408 | - /** |
|
| 2409 | - * Prevent Nextcloud from updating the cache due to filesystem changes for all |
|
| 2410 | - * storage. |
|
| 2411 | - * |
|
| 2412 | - * Defaults to ``false`` |
|
| 2413 | - */ |
|
| 2414 | - 'filesystem_cache_readonly' => false, |
|
| 2415 | - |
|
| 2416 | - /** |
|
| 2417 | - * List of trusted proxy servers. Supported formats: |
|
| 2418 | - * |
|
| 2419 | - * - IPv4 addresses, e.g., ``192.168.2.123`` |
|
| 2420 | - * - IPv4 ranges in CIDR notation, e.g., ``192.168.2.0/24`` |
|
| 2421 | - * - IPv6 addresses, e.g., ``fd9e:21a7:a92c:2323::1`` |
|
| 2422 | - * - IPv6 ranges in CIDR notation, e.g., ``2001:db8:85a3:8d3:1319:8a20::/95`` |
|
| 2423 | - * |
|
| 2424 | - * If a request's ``REMOTE_ADDR`` matches an address here, it is treated as a proxy, |
|
| 2425 | - * and the client IP is read from the HTTP header specified in |
|
| 2426 | - * ``forwarded_for_headers`` instead of ``REMOTE_ADDR``. |
|
| 2427 | - * |
|
| 2428 | - * Ensure ``forwarded_for_headers`` is configured if ``trusted_proxies`` is set. |
|
| 2429 | - * |
|
| 2430 | - * Defaults to ``[]`` (empty array) |
|
| 2431 | - */ |
|
| 2432 | - 'trusted_proxies' => ['203.0.113.45', '198.51.100.128', '192.168.2.0/24'], |
|
| 2433 | - |
|
| 2434 | - /** |
|
| 2435 | - * Headers trusted as containing the client IP address when used with |
|
| 2436 | - * ``trusted_proxies``. For example, use ``HTTP_X_FORWARDED_FOR`` for the |
|
| 2437 | - * ``X-Forwarded-For`` header. |
|
| 2438 | - * |
|
| 2439 | - * Incorrect configuration allows clients to spoof their IP address, bypassing |
|
| 2440 | - * access controls and rendering logs unreliable. |
|
| 2441 | - * |
|
| 2442 | - * Defaults to ``['HTTP_X_FORWARDED_FOR']`` |
|
| 2443 | - */ |
|
| 2444 | - 'forwarded_for_headers' => ['HTTP_X_FORWARDED', 'HTTP_FORWARDED_FOR'], |
|
| 2445 | - |
|
| 2446 | - /** |
|
| 2447 | - * List of trusted IP ranges for admin actions. If non-empty, all admin actions |
|
| 2448 | - * must originate from IPs within these ranges. |
|
| 2449 | - * |
|
| 2450 | - * Supported formats: |
|
| 2451 | - * - IPv4 addresses or ranges, e.g., ``192.0.2.42/32``, ``233.252.0.0/24`` |
|
| 2452 | - * - IPv6 addresses or ranges, e.g., ``2001:db8::13:37/64`` |
|
| 2453 | - * |
|
| 2454 | - * Defaults to ``[]`` (empty array) |
|
| 2455 | - */ |
|
| 2456 | - 'allowed_admin_ranges' => ['192.0.2.42/32', '233.252.0.0/24', '2001:db8::13:37/64'], |
|
| 2457 | - |
|
| 2458 | - /** |
|
| 2459 | - * Maximum file size (in megabytes) for animating GIFs on public sharing pages. |
|
| 2460 | - * If a GIF exceeds this size, a static preview is shown. |
|
| 2461 | - * |
|
| 2462 | - * Set to ``-1`` for no limit. |
|
| 2463 | - * |
|
| 2464 | - * Defaults to ``10`` megabytes |
|
| 2465 | - */ |
|
| 2466 | - 'max_filesize_animated_gifs_public_sharing' => 10, |
|
| 2467 | - |
|
| 2468 | - /** |
|
| 2469 | - * Set the lock's time-to-live (TTL) in seconds. Locks older than this are |
|
| 2470 | - * automatically cleaned up. |
|
| 2471 | - * |
|
| 2472 | - * Defaults to ``3600`` seconds (1 hour) or the PHP ``max_execution_time``, |
|
| 2473 | - * whichever is higher. |
|
| 2474 | - */ |
|
| 2475 | - 'filelocking.ttl' => 60 * 60, |
|
| 2476 | - |
|
| 2477 | - /** |
|
| 2478 | - * Memory caching backend for file locking. Redis is highly recommended to avoid |
|
| 2479 | - * data loss, as many memcache backends may evict values unexpectedly. |
|
| 2480 | - * |
|
| 2481 | - * Defaults to ``none`` |
|
| 2482 | - */ |
|
| 2483 | - 'memcache.locking' => '\\OC\\Memcache\\Redis', |
|
| 2484 | - |
|
| 2485 | - /** |
|
| 2486 | - * Enable debug logging for file locking. This can generate a large volume of log |
|
| 2487 | - * entries, potentially causing performance degradation and large log files on |
|
| 2488 | - * busy instances. |
|
| 2489 | - * |
|
| 2490 | - * Use with ``log.condition`` to limit logging in production environments. |
|
| 2491 | - * |
|
| 2492 | - * Defaults to ``false`` |
|
| 2493 | - */ |
|
| 2494 | - 'filelocking.debug' => false, |
|
| 2495 | - |
|
| 2496 | - /** |
|
| 2497 | - * Disable the web-based updater. |
|
| 2498 | - * |
|
| 2499 | - * Defaults to ``false`` |
|
| 2500 | - */ |
|
| 2501 | - 'upgrade.disable-web' => false, |
|
| 2502 | - |
|
| 2503 | - /** |
|
| 2504 | - * Customize the CLI upgrade documentation link. |
|
| 2505 | - */ |
|
| 2506 | - 'upgrade.cli-upgrade-link' => '', |
|
| 2507 | - |
|
| 2508 | - /** |
|
| 2509 | - * Additional line(s) (string or array of strings) |
|
| 2510 | - * that will be added to .user.ini on each update by the updater. |
|
| 2511 | - * |
|
| 2512 | - * Defaults to ``''`` (empty string) |
|
| 2513 | - */ |
|
| 2514 | - 'user_ini_additional_lines' => '', |
|
| 2515 | - |
|
| 2516 | - /** |
|
| 2517 | - * Customize the server logs documentation link for exception handling. |
|
| 2518 | - */ |
|
| 2519 | - 'documentation_url.server_logs' => '', |
|
| 2520 | - |
|
| 2521 | - /** |
|
| 2522 | - * Enable debugging mode for Nextcloud. Only use for local development, not in |
|
| 2523 | - * production, as it disables minification and outputs additional debug |
|
| 2524 | - * information. |
|
| 2525 | - * |
|
| 2526 | - * Defaults to ``false`` |
|
| 2527 | - */ |
|
| 2528 | - 'debug' => false, |
|
| 2529 | - |
|
| 2530 | - /** |
|
| 2531 | - * Set the data fingerprint for the current data served. Used by clients to |
|
| 2532 | - * detect if a backup has been restored. Update this by running:: |
|
| 2533 | - * occ maintenance:data-fingerprint |
|
| 2534 | - * |
|
| 2535 | - * Changing or deleting this value may cause connected clients to stall until |
|
| 2536 | - * conflicts are resolved. |
|
| 2537 | - * |
|
| 2538 | - * Defaults to ``''`` (empty string) |
|
| 2539 | - */ |
|
| 2540 | - 'data-fingerprint' => '', |
|
| 2541 | - |
|
| 2542 | - /** |
|
| 2543 | - * This entry serves as a warning if the sample configuration was copied. |
|
| 2544 | - * DO NOT ADD THIS TO YOUR CONFIGURATION! |
|
| 2545 | - * |
|
| 2546 | - * Ensure all settings are modified only after consulting the documentation. |
|
| 2547 | - */ |
|
| 2548 | - 'copied_sample_config' => true, |
|
| 2549 | - |
|
| 2550 | - /** |
|
| 2551 | - * Use a custom lookup server to publish user data. |
|
| 2552 | - * |
|
| 2553 | - * Defaults to ``https://lookup.nextcloud.com`` |
|
| 2554 | - */ |
|
| 2555 | - 'lookup_server' => 'https://lookup.nextcloud.com', |
|
| 2556 | - |
|
| 2557 | - /** |
|
| 2558 | - * Enable Nextcloud's Global Scale architecture. |
|
| 2559 | - * |
|
| 2560 | - * Defaults to ``false`` |
|
| 2561 | - */ |
|
| 2562 | - 'gs.enabled' => false, |
|
| 2563 | - |
|
| 2564 | - /** |
|
| 2565 | - * Configure federation for Global Scale setups. Set to ``global`` to allow |
|
| 2566 | - * federation outside the environment. |
|
| 2567 | - * |
|
| 2568 | - * Defaults to ``internal`` |
|
| 2569 | - */ |
|
| 2570 | - 'gs.federation' => 'internal', |
|
| 2571 | - |
|
| 2572 | - /** |
|
| 2573 | - * List of user agents exempt from SameSite cookie protection due to non-standard |
|
| 2574 | - * HTTP behavior. |
|
| 2575 | - * |
|
| 2576 | - * WARNING: Use only if you understand the implications. |
|
| 2577 | - * |
|
| 2578 | - * Defaults to: |
|
| 2579 | - * |
|
| 2580 | - * - ``/^WebDAVFS/`` (OS X Finder) |
|
| 2581 | - * - ``/^Microsoft-WebDAV-MiniRedir/`` (Windows WebDAV drive) |
|
| 2582 | - */ |
|
| 2583 | - 'csrf.optout' => [ |
|
| 2584 | - '/^WebDAVFS/', // OS X Finder |
|
| 2585 | - '/^Microsoft-WebDAV-MiniRedir/', // Windows WebDAV drive |
|
| 2586 | - ], |
|
| 2587 | - |
|
| 2588 | - /** |
|
| 2589 | - * Specify allowed user agents for Login Flow V2 using regular expressions. |
|
| 2590 | - * User agents not matching this list are denied access to Login Flow V2. |
|
| 2591 | - * |
|
| 2592 | - * WARNING: Use only if you understand the implications. |
|
| 2593 | - * |
|
| 2594 | - * Example: Allow only the Nextcloud Android app:: |
|
| 2595 | - * |
|
| 2596 | - * 'core.login_flow_v2.allowed_user_agents' => ['/Nextcloud-android/i'], |
|
| 2597 | - * |
|
| 2598 | - * Defaults to ``[]`` (empty array) |
|
| 2599 | - */ |
|
| 2600 | - 'core.login_flow_v2.allowed_user_agents' => [], |
|
| 2601 | - |
|
| 2602 | - /** |
|
| 2603 | - * Show or hide the "simple sign up" link on public pages. |
|
| 2604 | - * See: https://nextcloud.com/signup/ |
|
| 2605 | - * |
|
| 2606 | - * Defaults to ``true`` |
|
| 2607 | - */ |
|
| 2608 | - 'simpleSignUpLink.shown' => true, |
|
| 2609 | - |
|
| 2610 | - /** |
|
| 2611 | - * Enable or disable autocompletion for the login form. Disabling this prevents |
|
| 2612 | - * browsers from remembering login credentials, which may be required for |
|
| 2613 | - * compliance with certain security policies. |
|
| 2614 | - * |
|
| 2615 | - * Defaults to ``true`` |
|
| 2616 | - */ |
|
| 2617 | - 'login_form_autocomplete' => true, |
|
| 2618 | - |
|
| 2619 | - /** |
|
| 2620 | - * Set a timeout (in seconds) for the login form. After this period, the form is |
|
| 2621 | - * reset to prevent password leaks on public devices if the user forgets to clear |
|
| 2622 | - * it. |
|
| 2623 | - * |
|
| 2624 | - * A value of 0 disables the timeout. |
|
| 2625 | - * |
|
| 2626 | - * Defaults to ``300`` seconds (5 minutes) |
|
| 2627 | - */ |
|
| 2628 | - 'login_form_timeout' => 300, |
|
| 2629 | - |
|
| 2630 | - /** |
|
| 2631 | - * Suppress warnings for outdated or unsupported browsers. When enabled, users |
|
| 2632 | - * can bypass the warning after reading it. |
|
| 2633 | - * |
|
| 2634 | - * Set to ``true`` to disable the warning. |
|
| 2635 | - * |
|
| 2636 | - * Defaults to ``false`` |
|
| 2637 | - */ |
|
| 2638 | - 'no_unsupported_browser_warning' => false, |
|
| 2639 | - |
|
| 2640 | - /** |
|
| 2641 | - * Disable background scanning of files. When enabled, a background job runs |
|
| 2642 | - * every 10 minutes to sync the filesystem and database for up to 500 users with |
|
| 2643 | - * unscanned files (size < 0 in filecache). |
|
| 2644 | - * |
|
| 2645 | - * Defaults to ``false`` |
|
| 2646 | - */ |
|
| 2647 | - 'files_no_background_scan' => false, |
|
| 2648 | - |
|
| 2649 | - /** |
|
| 2650 | - * Log all database queries to a file. |
|
| 2651 | - * |
|
| 2652 | - * WARNING: This significantly reduces server performance and is intended only |
|
| 2653 | - * for debugging or profiling query interactions. Sensitive data may be logged in |
|
| 2654 | - * plain text. |
|
| 2655 | - */ |
|
| 2656 | - 'query_log_file' => '', |
|
| 2657 | - |
|
| 2658 | - /** |
|
| 2659 | - * Prefix all queries with the request ID when set to `yes`. |
|
| 2660 | - * |
|
| 2661 | - * Requires ``query_log_file`` to be set. |
|
| 2662 | - */ |
|
| 2663 | - 'query_log_file_requestid' => '', |
|
| 2664 | - |
|
| 2665 | - /** |
|
| 2666 | - * Include all query parameters in the query log when set to `yes`. |
|
| 2667 | - * |
|
| 2668 | - * Requires ``query_log_file`` to be set. |
|
| 2669 | - * WARNING: This may log sensitive data in plain text. |
|
| 2670 | - */ |
|
| 2671 | - 'query_log_file_parameters' => '', |
|
| 2672 | - |
|
| 2673 | - /** |
|
| 2674 | - * Include a backtrace in the query log when set to `yes`. |
|
| 2675 | - * |
|
| 2676 | - * Requires ``query_log_file`` to be set. |
|
| 2677 | - */ |
|
| 2678 | - 'query_log_file_backtrace' => '', |
|
| 2679 | - |
|
| 2680 | - /** |
|
| 2681 | - * Log all Redis requests to a file. |
|
| 2682 | - * |
|
| 2683 | - * WARNING: This significantly reduces server performance and is intended only |
|
| 2684 | - * for debugging or profiling Redis interactions. Sensitive data may be logged in |
|
| 2685 | - * plain text. |
|
| 2686 | - */ |
|
| 2687 | - 'redis_log_file' => '', |
|
| 2688 | - |
|
| 2689 | - /** |
|
| 2690 | - * Enable diagnostics event logging. Logs timings of common execution steps at |
|
| 2691 | - * debug level. Use with ``log.condition`` to enable conditionally in production. |
|
| 2692 | - * |
|
| 2693 | - * Defaults to ``true`` |
|
| 2694 | - */ |
|
| 2695 | - 'diagnostics.logging' => true, |
|
| 2696 | - |
|
| 2697 | - /** |
|
| 2698 | - * Limit diagnostics event logging to events longer than the specified threshold |
|
| 2699 | - * (in milliseconds). A value of 0 disables diagnostics event logging. |
|
| 2700 | - */ |
|
| 2701 | - 'diagnostics.logging.threshold' => 0, |
|
| 2702 | - |
|
| 2703 | - /** |
|
| 2704 | - * Enable profiling globally. |
|
| 2705 | - * |
|
| 2706 | - * Defaults to ``true`` |
|
| 2707 | - */ |
|
| 2708 | - 'profile.enabled' => true, |
|
| 2709 | - |
|
| 2710 | - /** |
|
| 2711 | - * Override default scopes for account data. Valid properties and scopes are |
|
| 2712 | - * defined in ``OCP\Accounts\IAccountManager``. Values are merged with defaults |
|
| 2713 | - * from ``OC\Accounts\AccountManager``. |
|
| 2714 | - * |
|
| 2715 | - * Example: Set phone property to private scope: |
|
| 2716 | - * ``[\OCP\Accounts\IAccountManager::PROPERTY_PHONE => \OCP\Accounts\IAccountManager::SCOPE_PRIVATE]`` |
|
| 2717 | - */ |
|
| 2718 | - 'account_manager.default_property_scope' => [], |
|
| 2719 | - |
|
| 2720 | - /** |
|
| 2721 | - * Enable the deprecated Projects feature, superseded by Related Resources since |
|
| 2722 | - * Nextcloud 25. |
|
| 2723 | - * |
|
| 2724 | - * Defaults to ``false`` |
|
| 2725 | - */ |
|
| 2726 | - 'projects.enabled' => false, |
|
| 2727 | - |
|
| 2728 | - /** |
|
| 2729 | - * Enable the bulk upload feature. |
|
| 2730 | - * |
|
| 2731 | - * Defaults to ``true`` |
|
| 2732 | - */ |
|
| 2733 | - 'bulkupload.enabled' => true, |
|
| 2734 | - |
|
| 2735 | - /** |
|
| 2736 | - * Enable fetching Open Graph metadata from remote URLs. |
|
| 2737 | - * |
|
| 2738 | - * Defaults to ``true`` |
|
| 2739 | - */ |
|
| 2740 | - 'reference_opengraph' => true, |
|
| 2741 | - |
|
| 2742 | - /** |
|
| 2743 | - * Enable the legacy unified search. |
|
| 2744 | - * |
|
| 2745 | - * Defaults to ``false`` |
|
| 2746 | - */ |
|
| 2747 | - 'unified_search.enabled' => false, |
|
| 2748 | - |
|
| 2749 | - /** |
|
| 2750 | - * Enable features that do not yet comply with accessibility standards. |
|
| 2751 | - * |
|
| 2752 | - * Defaults to ``true`` |
|
| 2753 | - */ |
|
| 2754 | - 'enable_non-accessible_features' => true, |
|
| 2755 | - |
|
| 2756 | - /** |
|
| 2757 | - * Directories where Nextcloud searches for external binaries (e.g., LibreOffice, |
|
| 2758 | - * sendmail, ffmpeg). |
|
| 2759 | - * |
|
| 2760 | - * Defaults to: |
|
| 2761 | - * - /usr/local/sbin |
|
| 2762 | - * - /usr/local/bin |
|
| 2763 | - * - /usr/sbin |
|
| 2764 | - * - /usr/bin |
|
| 2765 | - * - /sbin |
|
| 2766 | - * - /bin |
|
| 2767 | - * - /opt/bin |
|
| 2768 | - */ |
|
| 2769 | - 'binary_search_paths' => [ |
|
| 2770 | - '/usr/local/sbin', |
|
| 2771 | - '/usr/local/bin', |
|
| 2772 | - '/usr/sbin', |
|
| 2773 | - '/usr/bin', |
|
| 2774 | - '/sbin', |
|
| 2775 | - '/bin', |
|
| 2776 | - '/opt/bin', |
|
| 2777 | - ], |
|
| 2778 | - |
|
| 2779 | - /** |
|
| 2780 | - * Maximum chunk size for chunked uploads (in bytes). Larger chunks increase |
|
| 2781 | - * throughput but yield diminishing returns above 100 MiB. Services like |
|
| 2782 | - * Cloudflare may limit to 100 MiB. |
|
| 2783 | - * |
|
| 2784 | - * Defaults to ``100 * 1024 * 1024`` (100 MiB) |
|
| 2785 | - */ |
|
| 2786 | - 'files.chunked_upload.max_size' => 100 * 1024 * 1024, |
|
| 2787 | - |
|
| 2788 | - /** |
|
| 2789 | - * Maximum number of chunks uploaded in parallel during chunked uploads. Higher |
|
| 2790 | - * counts increase throughput but consume more server resources, with diminishing |
|
| 2791 | - * returns. |
|
| 2792 | - * |
|
| 2793 | - * Defaults to ``5`` |
|
| 2794 | - */ |
|
| 2795 | - 'files.chunked_upload.max_parallel_count' => 5, |
|
| 2796 | - |
|
| 2797 | - /** |
|
| 2798 | - * Allow users to manually delete files from their trashbin. Automated deletions |
|
| 2799 | - * (e.g., due to low quota) are unaffected. |
|
| 2800 | - * |
|
| 2801 | - * Defaults to ``true`` |
|
| 2802 | - */ |
|
| 2803 | - 'files.trash.delete' => true, |
|
| 2804 | - |
|
| 2805 | - /** |
|
| 2806 | - * Enable PHP 8.4 lazy objects for Dependency Injection to improve performance by |
|
| 2807 | - * avoiding instantiation of unused objects. |
|
| 2808 | - * |
|
| 2809 | - * Defaults to ``true`` |
|
| 2810 | - */ |
|
| 2811 | - 'enable_lazy_objects' => true, |
|
| 32 | + /** |
|
| 33 | + * Default Parameters |
|
| 34 | + * |
|
| 35 | + * These parameters are configured by the Nextcloud installer, and are required |
|
| 36 | + * for your Nextcloud server to operate. |
|
| 37 | + */ |
|
| 38 | + |
|
| 39 | + |
|
| 40 | + /** |
|
| 41 | + * This is a unique identifier for your Nextcloud installation, created |
|
| 42 | + * automatically by the installer. This example is for documentation only, |
|
| 43 | + * and you should never use it because it will not work. A valid ``instanceid`` |
|
| 44 | + * is created when you install Nextcloud. |
|
| 45 | + */ |
|
| 46 | + 'instanceid' => '', |
|
| 47 | + |
|
| 48 | + /** |
|
| 49 | + * The salt used to hash all passwords, auto-generated by the Nextcloud |
|
| 50 | + * installer. (There are also per-user salts.) If you lose this salt, you lose |
|
| 51 | + * all your passwords. This example is for documentation only, and you should |
|
| 52 | + * never use it. |
|
| 53 | + * |
|
| 54 | + * @deprecated This salt is deprecated and only used for legacy-compatibility, |
|
| 55 | + * developers should *NOT* use this value for anything nowadays. |
|
| 56 | + */ |
|
| 57 | + 'passwordsalt' => '', |
|
| 58 | + |
|
| 59 | + /** |
|
| 60 | + * Secret used by Nextcloud for various purposes, e.g., to encrypt data. If you |
|
| 61 | + * lose this string, there will be data corruption. |
|
| 62 | + */ |
|
| 63 | + 'secret' => '', |
|
| 64 | + |
|
| 65 | + /** |
|
| 66 | + * Your list of trusted domains that users can log into. Specifying trusted |
|
| 67 | + * domains prevents host header poisoning. Do not remove this, as it performs |
|
| 68 | + * necessary security checks. |
|
| 69 | + * |
|
| 70 | + * You can specify: |
|
| 71 | + * |
|
| 72 | + * - The exact hostname of your host or virtual host, e.g. ``demo.example.org``. |
|
| 73 | + * - The exact hostname with permitted port, e.g. ``demo.example.org:443``. This disallows all other ports on this host |
|
| 74 | + * - Use ``*`` as a wildcard, e.g., ``ubos-raspberry-pi*.local`` will allow ``ubos-raspberry-pi.local`` and ``ubos-raspberry-pi-2.local`` |
|
| 75 | + * - The IP address with or without permitted port, e.g. ``[2001:db8::1]:8080`` Using TLS certificates where ``commonName=<IP address>`` is deprecated |
|
| 76 | + */ |
|
| 77 | + 'trusted_domains' => [ |
|
| 78 | + 'demo.example.org', |
|
| 79 | + 'otherdomain.example.org', |
|
| 80 | + '10.111.112.113', |
|
| 81 | + '[2001:db8::1]' |
|
| 82 | + ], |
|
| 83 | + |
|
| 84 | + /** |
|
| 85 | + * The validity domain for cookies, for example ``''`` (cookies will be sent only |
|
| 86 | + * the domain that defined it, e.g. ``'demo.example.org'``), ``'demo.example.org'`` |
|
| 87 | + * (cookies will be valid for the domain and all subdomains), ... |
|
| 88 | + * |
|
| 89 | + * Defaults to ``''`` (safe option) |
|
| 90 | + */ |
|
| 91 | + 'cookie_domain' => '', |
|
| 92 | + |
|
| 93 | + /** |
|
| 94 | + * Where user files are stored. The SQLite database is also stored here, when |
|
| 95 | + * you use SQLite. |
|
| 96 | + * |
|
| 97 | + * Default to ``data/`` in the Nextcloud directory. |
|
| 98 | + */ |
|
| 99 | + 'datadirectory' => '/var/www/nextcloud/data', |
|
| 100 | + |
|
| 101 | + /** |
|
| 102 | + * The current version number of your Nextcloud installation. This is set up |
|
| 103 | + * during installation and update, so you shouldn't need to change it. |
|
| 104 | + */ |
|
| 105 | + 'version' => '', |
|
| 106 | + |
|
| 107 | + /** |
|
| 108 | + * Identifies the database used with this installation. See also config option |
|
| 109 | + * ``supportedDatabases`` |
|
| 110 | + * |
|
| 111 | + * Available: |
|
| 112 | + * - sqlite3 (SQLite3) |
|
| 113 | + * - mysql (MySQL/MariaDB) |
|
| 114 | + * - pgsql (PostgreSQL) |
|
| 115 | + * |
|
| 116 | + * Defaults to ``sqlite3`` |
|
| 117 | + */ |
|
| 118 | + 'dbtype' => 'sqlite3', |
|
| 119 | + |
|
| 120 | + /** |
|
| 121 | + * Your host server name, for example ``localhost``, ``hostname``, |
|
| 122 | + * ``hostname.example.com``, or the IP address. |
|
| 123 | + * To specify a port, use ``hostname:####``; for IPv6 addresses, use the URI notation ``[ip]:port``. |
|
| 124 | + * To specify a Unix socket, use ``localhost:/path/to/directory/containing/socket`` or |
|
| 125 | + * ``:/path/to/directory/containing/socket``, e.g., ``localhost:/run/postgresql/``. |
|
| 126 | + */ |
|
| 127 | + 'dbhost' => '', |
|
| 128 | + |
|
| 129 | + /** |
|
| 130 | + * The name of the Nextcloud database, which is set during installation. You |
|
| 131 | + * should not need to change this. |
|
| 132 | + */ |
|
| 133 | + 'dbname' => 'nextcloud', |
|
| 134 | + |
|
| 135 | + /** |
|
| 136 | + * The user that Nextcloud uses to write to the database. This must be unique |
|
| 137 | + * across Nextcloud instances using the same SQL database. This is set up during |
|
| 138 | + * installation, so you shouldn't need to change it. |
|
| 139 | + */ |
|
| 140 | + 'dbuser' => '', |
|
| 141 | + |
|
| 142 | + /** |
|
| 143 | + * The password for the database user. This is set up during installation, so |
|
| 144 | + * you shouldn't need to change it. |
|
| 145 | + */ |
|
| 146 | + 'dbpassword' => '', |
|
| 147 | + |
|
| 148 | + /** |
|
| 149 | + * Prefix for the Nextcloud tables in the database. |
|
| 150 | + * |
|
| 151 | + * Default to ``oc_`` |
|
| 152 | + */ |
|
| 153 | + 'dbtableprefix' => 'oc_', |
|
| 154 | + |
|
| 155 | + /** |
|
| 156 | + * Enable persistent connections to the database. |
|
| 157 | + * This setting uses the ``persistent`` option from Doctrine DBAL, which in turn |
|
| 158 | + * uses the PDO::ATTR_PERSISTENT option from the PDO driver. |
|
| 159 | + */ |
|
| 160 | + 'dbpersistent' => '', |
|
| 161 | + |
|
| 162 | + /** |
|
| 163 | + * Specify read-only replicas to be used by Nextcloud when querying the database |
|
| 164 | + */ |
|
| 165 | + 'dbreplica' => [ |
|
| 166 | + ['user' => 'nextcloud', 'password' => 'password1', 'host' => 'replica1', 'dbname' => ''], |
|
| 167 | + ['user' => 'nextcloud', 'password' => 'password2', 'host' => 'replica2', 'dbname' => ''], |
|
| 168 | + ], |
|
| 169 | + |
|
| 170 | + /** |
|
| 171 | + * Add request ID to the database query in a comment. |
|
| 172 | + * |
|
| 173 | + * This can be enabled to assist in mapping database logs to Nextcloud logs. |
|
| 174 | + */ |
|
| 175 | + 'db.log_request_id' => false, |
|
| 176 | + |
|
| 177 | + /** |
|
| 178 | + * Indicates whether the Nextcloud instance was installed successfully; ``true`` |
|
| 179 | + * indicates a successful installation, and ``false`` indicates an unsuccessful |
|
| 180 | + * installation. |
|
| 181 | + * |
|
| 182 | + * Defaults to ``false`` |
|
| 183 | + */ |
|
| 184 | + 'installed' => false, |
|
| 185 | + |
|
| 186 | + |
|
| 187 | + /** |
|
| 188 | + * User Experience |
|
| 189 | + * |
|
| 190 | + * These optional parameters control some aspects of the user interface. Default |
|
| 191 | + * values, where present, are shown. |
|
| 192 | + */ |
|
| 193 | + |
|
| 194 | + /** |
|
| 195 | + * This sets the default language on your Nextcloud server, using ISO_639-1 |
|
| 196 | + * language codes such as ``en`` for English, ``de`` for German, and ``fr`` for |
|
| 197 | + * French. The default_language parameter is only used when the browser does |
|
| 198 | + * not send any language, and the user hasn’t configured their own language |
|
| 199 | + * preferences. |
|
| 200 | + * |
|
| 201 | + * Nextcloud has two distinguished language codes for German, ``de`` and ``de_DE``. |
|
| 202 | + * ``de`` is used for informal German and ``de_DE`` for formal German. By setting |
|
| 203 | + * this value to ``de_DE``, you can enforce the formal version of German unless |
|
| 204 | + * the user has chosen something different explicitly. |
|
| 205 | + * |
|
| 206 | + * Defaults to ``en`` |
|
| 207 | + */ |
|
| 208 | + 'default_language' => 'en', |
|
| 209 | + |
|
| 210 | + /** |
|
| 211 | + * With this setting, a language can be forced for all users. If a language is |
|
| 212 | + * forced, the users are also unable to change their language in the personal |
|
| 213 | + * settings. If users shall be unable to change their language, but users have |
|
| 214 | + * different languages, this value can be set to ``true`` instead of a language |
|
| 215 | + * code. |
|
| 216 | + * |
|
| 217 | + * Defaults to ``false`` |
|
| 218 | + */ |
|
| 219 | + 'force_language' => 'en', |
|
| 220 | + |
|
| 221 | + /** |
|
| 222 | + * This sets the default locale on your Nextcloud server, using ISO_639 |
|
| 223 | + * language codes such as ``en`` for English, ``de`` for German, and ``fr`` for |
|
| 224 | + * French, and ISO-3166 country codes such as ``GB``, ``US``, ``CA``, as defined |
|
| 225 | + * in RFC 5646. It overrides automatic locale detection on public pages like |
|
| 226 | + * login or shared items. User's locale preferences configured under "personal |
|
| 227 | + * -> locale" override this setting after they have logged in. |
|
| 228 | + * |
|
| 229 | + * Defaults to ``en`` |
|
| 230 | + */ |
|
| 231 | + 'default_locale' => 'en_US', |
|
| 232 | + |
|
| 233 | + /** |
|
| 234 | + * With this setting, it is possible to reduce the languages available in the |
|
| 235 | + * language chooser. The languages have to be set as array values using ISO_639-1 |
|
| 236 | + * language codes such as ``en`` for English, ``de`` for German, etc. |
|
| 237 | + * |
|
| 238 | + * For example: Set to ``['de', 'fr']`` to only allow German and French languages. |
|
| 239 | + */ |
|
| 240 | + 'reduce_to_languages' => [], |
|
| 241 | + |
|
| 242 | + /** |
|
| 243 | + * This sets the default region for phone numbers on your Nextcloud server, |
|
| 244 | + * using ISO 3166-1 country codes such as ``DE`` for Germany, ``FR`` for France, … |
|
| 245 | + * It is required to allow inserting phone numbers in the user profiles starting |
|
| 246 | + * without the country code (e.g., +49 for Germany). |
|
| 247 | + * |
|
| 248 | + * No default value! |
|
| 249 | + */ |
|
| 250 | + 'default_phone_region' => 'GB', |
|
| 251 | + |
|
| 252 | + /** |
|
| 253 | + * With this setting, a locale can be forced for all users. If a locale is |
|
| 254 | + * forced, the users are also unable to change their locale in the personal |
|
| 255 | + * settings. If users shall be unable to change their locale, but users have |
|
| 256 | + * different languages, this value can be set to ``true`` instead of a locale |
|
| 257 | + * code. |
|
| 258 | + * |
|
| 259 | + * Defaults to ``false`` |
|
| 260 | + */ |
|
| 261 | + 'force_locale' => 'en_US', |
|
| 262 | + |
|
| 263 | + /** |
|
| 264 | + * This sets the default timezone on your Nextcloud server, using IANA |
|
| 265 | + * identifiers like ``Europe/Berlin`` or ``Pacific/Auckland``. The default |
|
| 266 | + * timezone parameter is only used when the timezone of the user cannot be |
|
| 267 | + * determined. |
|
| 268 | + * |
|
| 269 | + * Defaults to ``UTC`` |
|
| 270 | + */ |
|
| 271 | + 'default_timezone' => 'Europe/Berlin', |
|
| 272 | + |
|
| 273 | + /** |
|
| 274 | + * ``true`` enables the Help menu item in the user menu (top right of the |
|
| 275 | + * Nextcloud Web interface). |
|
| 276 | + * ``false`` removes the Help item. |
|
| 277 | + */ |
|
| 278 | + 'knowledgebaseenabled' => true, |
|
| 279 | + |
|
| 280 | + /** |
|
| 281 | + * ``true`` embeds the documentation in an iframe inside Nextcloud. |
|
| 282 | + * ``false`` only shows buttons to the online documentation. |
|
| 283 | + */ |
|
| 284 | + 'knowledgebase.embedded' => false, |
|
| 285 | + |
|
| 286 | + /** |
|
| 287 | + * ``true`` allows users to change their display names (on their Personal |
|
| 288 | + * pages), and ``false`` prevents them from changing their display names. |
|
| 289 | + */ |
|
| 290 | + 'allow_user_to_change_display_name' => true, |
|
| 291 | + |
|
| 292 | + /** |
|
| 293 | + * The directory where the skeleton files are located. These files will be |
|
| 294 | + * copied to the data directory of new users. Set empty string to not copy any |
|
| 295 | + * skeleton files. If unset and templatedirectory is an empty string, shipped |
|
| 296 | + * templates will be used to create a template directory for the user. |
|
| 297 | + * ``{lang}`` can be used as a placeholder for the language of the user. |
|
| 298 | + * If the directory does not exist, it falls back to non-dialect (from ``de_DE`` |
|
| 299 | + * to ``de``). If that does not exist either, it falls back to ``default`` |
|
| 300 | + * |
|
| 301 | + * Defaults to ``core/skeleton`` in the Nextcloud directory. |
|
| 302 | + */ |
|
| 303 | + 'skeletondirectory' => '/path/to/nextcloud/core/skeleton', |
|
| 304 | + |
|
| 305 | + /** |
|
| 306 | + * The directory where the template files are located. These files will be |
|
| 307 | + * copied to the template directory of new users. Set empty string to not copy any |
|
| 308 | + * template files. |
|
| 309 | + * ``{lang}`` can be used as a placeholder for the language of the user. |
|
| 310 | + * If the directory does not exist, it falls back to non-dialect (from ``de_DE`` |
|
| 311 | + * to ``de``). If that does not exist either, it falls back to ``default`` |
|
| 312 | + * |
|
| 313 | + * To disable creating a template directory, set both skeletondirectory and |
|
| 314 | + * templatedirectory to empty strings. |
|
| 315 | + */ |
|
| 316 | + 'templatedirectory' => '/path/to/nextcloud/templates', |
|
| 317 | + |
|
| 318 | + /** |
|
| 319 | + * User session |
|
| 320 | + */ |
|
| 321 | + |
|
| 322 | + /** |
|
| 323 | + * Lifetime of the remember login cookie. This should be larger than the |
|
| 324 | + * session_lifetime. If it is set to 0, remember me is disabled. |
|
| 325 | + * |
|
| 326 | + * Defaults to ``60*60*24*15`` seconds (15 days) |
|
| 327 | + */ |
|
| 328 | + 'remember_login_cookie_lifetime' => 60 * 60 * 24 * 15, |
|
| 329 | + |
|
| 330 | + /** |
|
| 331 | + * The lifetime of a session after inactivity. |
|
| 332 | + * |
|
| 333 | + * The maximum possible time is limited by the ``session.gc_maxlifetime`` php.ini setting |
|
| 334 | + * which would overwrite this option if it is less than the value in the ``config.php`` |
|
| 335 | + * |
|
| 336 | + * Defaults to ``60*60*24`` seconds (24 hours) |
|
| 337 | + */ |
|
| 338 | + 'session_lifetime' => 60 * 60 * 24, |
|
| 339 | + |
|
| 340 | + /** |
|
| 341 | + * The timeout in seconds for requests to servers made by the DAV component (e.g., needed for federated shares). |
|
| 342 | + */ |
|
| 343 | + 'davstorage.request_timeout' => 30, |
|
| 344 | + |
|
| 345 | + /** |
|
| 346 | + * The timeout in seconds for synchronizing address books, e.g., federated system address books (as run by ``occ federation:sync-addressbooks``). |
|
| 347 | + * |
|
| 348 | + * Defaults to ``30`` seconds |
|
| 349 | + */ |
|
| 350 | + 'carddav_sync_request_timeout' => 30, |
|
| 351 | + |
|
| 352 | + /** |
|
| 353 | + * The limit applied to the synchronization report request, e.g. federated system address books (as run by ``occ federation:sync-addressbooks``). |
|
| 354 | + */ |
|
| 355 | + 'carddav_sync_request_truncation' => 2500, |
|
| 356 | + |
|
| 357 | + /** |
|
| 358 | + * ``true`` enables a relaxed session timeout, where the session timeout would no longer be |
|
| 359 | + * handled by Nextcloud but by either the PHP garbage collection or the expiration of |
|
| 360 | + * potential other session backends like Redis. |
|
| 361 | + * |
|
| 362 | + * This may lead to sessions being available for longer than what ``session_lifetime`` uses but |
|
| 363 | + * comes with performance benefits as sessions are no longer a locking operation for concurrent |
|
| 364 | + * requests. |
|
| 365 | + */ |
|
| 366 | + 'session_relaxed_expiry' => false, |
|
| 367 | + |
|
| 368 | + /** |
|
| 369 | + * Enable or disable session keep-alive when a user is logged in to the Web UI. |
|
| 370 | + * Enabling this sends a "heartbeat" to the server to keep it from timing out. |
|
| 371 | + * |
|
| 372 | + * Defaults to ``true`` |
|
| 373 | + */ |
|
| 374 | + 'session_keepalive' => true, |
|
| 375 | + |
|
| 376 | + /** |
|
| 377 | + * Enable or disable the automatic logout after session_lifetime, even if session |
|
| 378 | + * keepalive is enabled. This will make sure that an inactive browser will log itself out |
|
| 379 | + * even if requests to the server might extend the session lifetime. |
|
| 380 | + * |
|
| 381 | + * NOTE: The logout is handled on the client side. This is not a way to |
|
| 382 | + * limit the duration of potentially compromised sessions. |
|
| 383 | + * |
|
| 384 | + * Defaults to ``false`` |
|
| 385 | + */ |
|
| 386 | + 'auto_logout' => false, |
|
| 387 | + |
|
| 388 | + /** |
|
| 389 | + * Enforce token authentication for clients, which blocks requests using the user |
|
| 390 | + * password for enhanced security. Users need to generate tokens in personal settings |
|
| 391 | + * which can be used as passwords on their clients. |
|
| 392 | + * |
|
| 393 | + * Defaults to ``false`` |
|
| 394 | + */ |
|
| 395 | + 'token_auth_enforced' => false, |
|
| 396 | + |
|
| 397 | + /** |
|
| 398 | + * The interval at which token activity should be updated. |
|
| 399 | + * Increasing this value means that the last activity on the security page gets |
|
| 400 | + * more outdated. |
|
| 401 | + * |
|
| 402 | + * Tokens are still checked every 5 minutes for validity |
|
| 403 | + * max value: 300 |
|
| 404 | + * |
|
| 405 | + * Defaults to ``60`` |
|
| 406 | + */ |
|
| 407 | + 'token_auth_activity_update' => 60, |
|
| 408 | + |
|
| 409 | + /** |
|
| 410 | + * Whether the brute force protection shipped with Nextcloud should be enabled or not. |
|
| 411 | + * |
|
| 412 | + * WARNING: Disabling this is discouraged for security reasons. |
|
| 413 | + * |
|
| 414 | + * Defaults to ``true`` |
|
| 415 | + */ |
|
| 416 | + 'auth.bruteforce.protection.enabled' => true, |
|
| 417 | + |
|
| 418 | + /** |
|
| 419 | + * Whether the brute force protection should write into the database even when a memory cache is available |
|
| 420 | + * |
|
| 421 | + * Using the database is most likely worse for performance, but makes investigating |
|
| 422 | + * issues a lot easier as it's possible to look directly at the table to see all |
|
| 423 | + * logged remote addresses and actions. |
|
| 424 | + * |
|
| 425 | + * Defaults to ``false`` |
|
| 426 | + */ |
|
| 427 | + 'auth.bruteforce.protection.force.database' => false, |
|
| 428 | + |
|
| 429 | + /** |
|
| 430 | + * Whether the brute force protection shipped with Nextcloud should be set to testing mode. |
|
| 431 | + * |
|
| 432 | + * In testing mode, brute force attempts are still recorded, but the requests do |
|
| 433 | + * not sleep/wait for the specified time. They will still abort with |
|
| 434 | + * "429 Too Many Requests" when the maximum delay is reached. |
|
| 435 | + * Enabling this is discouraged for security reasons |
|
| 436 | + * and should only be done for debugging and on CI when running tests. |
|
| 437 | + * |
|
| 438 | + * Defaults to ``false`` |
|
| 439 | + */ |
|
| 440 | + 'auth.bruteforce.protection.testing' => false, |
|
| 441 | + |
|
| 442 | + /** |
|
| 443 | + * Brute force protection: maximum number of attempts before blocking |
|
| 444 | + * |
|
| 445 | + * When more than max-attempts login requests are sent to Nextcloud, requests |
|
| 446 | + * will abort with "429 Too Many Requests". |
|
| 447 | + * For security reasons, change it only if you know what you are doing. |
|
| 448 | + * |
|
| 449 | + * Defaults to ``10`` |
|
| 450 | + */ |
|
| 451 | + 'auth.bruteforce.max-attempts' => 10, |
|
| 452 | + |
|
| 453 | + /** |
|
| 454 | + * Whether the rate limit protection shipped with Nextcloud should be enabled or not. |
|
| 455 | + * |
|
| 456 | + * WARNING: Disabling this is discouraged for security reasons. |
|
| 457 | + * |
|
| 458 | + * Defaults to ``true`` |
|
| 459 | + */ |
|
| 460 | + 'ratelimit.protection.enabled' => true, |
|
| 461 | + |
|
| 462 | + /** |
|
| 463 | + * Size of subnet used to normalize IPv6 |
|
| 464 | + * |
|
| 465 | + * For Brute Force Protection and Rate Limiting, IPv6 addresses are truncated using subnet size. |
|
| 466 | + * It defaults to /56, but you can set it between /32 and /64 |
|
| 467 | + * |
|
| 468 | + * Defaults to ``56`` |
|
| 469 | + */ |
|
| 470 | + 'security.ipv6_normalized_subnet_size' => 56, |
|
| 471 | + |
|
| 472 | + /** |
|
| 473 | + * By default, WebAuthn is available, but it can be explicitly disabled by admins |
|
| 474 | + */ |
|
| 475 | + 'auth.webauthn.enabled' => true, |
|
| 476 | + |
|
| 477 | + /** |
|
| 478 | + * Whether encrypted passwords should be stored in the database |
|
| 479 | + * |
|
| 480 | + * The passwords are only decrypted using the login token stored uniquely in the |
|
| 481 | + * clients and allow connecting to external storages, autoconfiguring mail accounts in |
|
| 482 | + * the mail app, and periodically checking if the password is still valid. |
|
| 483 | + * |
|
| 484 | + * This might be desirable to disable this functionality when using one-time |
|
| 485 | + * passwords or when having a password policy enforcing long passwords (> 300 |
|
| 486 | + * characters). |
|
| 487 | + * |
|
| 488 | + * By default, the passwords are stored encrypted in the database. |
|
| 489 | + * |
|
| 490 | + * WARNING: If disabled, password changes on the user backend (e.g., on LDAP) no |
|
| 491 | + * longer log connected clients out automatically. Users can still disconnect |
|
| 492 | + * the clients by deleting the app token from the security settings. |
|
| 493 | + */ |
|
| 494 | + 'auth.storeCryptedPassword' => true, |
|
| 495 | + |
|
| 496 | + /** |
|
| 497 | + * By default, the login form is always available. There are cases (SSO) where an |
|
| 498 | + * admin wants to avoid users entering their credentials to the system if the SSO |
|
| 499 | + * app is unavailable. |
|
| 500 | + * |
|
| 501 | + * This will show an error. But the direct login still works with adding ``?direct=1`` |
|
| 502 | + */ |
|
| 503 | + 'hide_login_form' => false, |
|
| 504 | + |
|
| 505 | + /** |
|
| 506 | + * If your user backend does not allow password resets (e.g., when it's a |
|
| 507 | + * read-only user backend like LDAP), you can specify a custom link, where the |
|
| 508 | + * user is redirected to, when clicking the "Reset password" link after a failed |
|
| 509 | + * login attempt. |
|
| 510 | + * In case you do not want to provide any link, replace the URL with ``'disabled'`` |
|
| 511 | + */ |
|
| 512 | + 'lost_password_link' => 'https://example.org/link/to/password/reset', |
|
| 513 | + |
|
| 514 | + /** |
|
| 515 | + * URL to use as target for the logo link in the header (top-left logo) |
|
| 516 | + * |
|
| 517 | + * Defaults to the base URL of your Nextcloud instance |
|
| 518 | + */ |
|
| 519 | + 'logo_url' => 'https://example.org', |
|
| 520 | + |
|
| 521 | + /** |
|
| 522 | + * Mail Parameters |
|
| 523 | + * |
|
| 524 | + * These configure the email settings for Nextcloud notifications and password |
|
| 525 | + * resets. |
|
| 526 | + */ |
|
| 527 | + |
|
| 528 | + /** |
|
| 529 | + * The return address that you want to appear on emails sent by the Nextcloud |
|
| 530 | + * server, for example ``[email protected]``, substituting your own domain, |
|
| 531 | + * of course. |
|
| 532 | + */ |
|
| 533 | + 'mail_domain' => 'example.com', |
|
| 534 | + |
|
| 535 | + /** |
|
| 536 | + * FROM address that overrides the built-in ``sharing-noreply`` and |
|
| 537 | + * ``lostpassword-noreply`` FROM addresses. |
|
| 538 | + * |
|
| 539 | + * Defaults to different FROM addresses depending on the feature. |
|
| 540 | + */ |
|
| 541 | + 'mail_from_address' => 'nextcloud', |
|
| 542 | + |
|
| 543 | + /** |
|
| 544 | + * Enable SMTP class debugging. |
|
| 545 | + * NOTE: ``loglevel`` will likely need to be adjusted too. See docs: |
|
| 546 | + * https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/email_configuration.html#enabling-debug-mode |
|
| 547 | + * |
|
| 548 | + * Defaults to ``false`` |
|
| 549 | + */ |
|
| 550 | + 'mail_smtpdebug' => false, |
|
| 551 | + |
|
| 552 | + /** |
|
| 553 | + * Which mode to use for sending mail: ``sendmail``, ``smtp``, ``qmail``, or ``null``. |
|
| 554 | + * |
|
| 555 | + * If you are using local or remote SMTP, set this to ``smtp``. |
|
| 556 | + * |
|
| 557 | + * For the ``sendmail`` option, you need an installed and working email system on |
|
| 558 | + * the server, with ``/usr/sbin/sendmail`` installed on your Unix system. |
|
| 559 | + * |
|
| 560 | + * For ``qmail``, the binary is /var/qmail/bin/sendmail, and it must be installed |
|
| 561 | + * on your Unix system. |
|
| 562 | + * |
|
| 563 | + * Use the string ``null`` to send no mails (disable mail delivery). This can be |
|
| 564 | + * useful if mails should be sent via APIs and rendering messages is not necessary. |
|
| 565 | + * |
|
| 566 | + * Defaults to ``smtp`` |
|
| 567 | + */ |
|
| 568 | + 'mail_smtpmode' => 'smtp', |
|
| 569 | + |
|
| 570 | + /** |
|
| 571 | + * This depends on ``mail_smtpmode``. Specify the IP address of your mail |
|
| 572 | + * server host. This may contain multiple hosts separated by a semicolon. If |
|
| 573 | + * you need to specify the port number, append it to the IP address separated by |
|
| 574 | + * a colon, like this: ``127.0.0.1:24``. |
|
| 575 | + * |
|
| 576 | + * Defaults to ``127.0.0.1`` |
|
| 577 | + */ |
|
| 578 | + 'mail_smtphost' => '127.0.0.1', |
|
| 579 | + |
|
| 580 | + /** |
|
| 581 | + * This depends on ``mail_smtpmode``. Specify the port for sending mail. |
|
| 582 | + * |
|
| 583 | + * Defaults to ``25`` |
|
| 584 | + */ |
|
| 585 | + 'mail_smtpport' => 25, |
|
| 586 | + |
|
| 587 | + /** |
|
| 588 | + * This depends on ``mail_smtpmode``. This sets the SMTP server timeout, in |
|
| 589 | + * seconds. You may need to increase this if you are running an anti-malware or |
|
| 590 | + * spam scanner. |
|
| 591 | + * |
|
| 592 | + * Defaults to ``10`` seconds |
|
| 593 | + */ |
|
| 594 | + 'mail_smtptimeout' => 10, |
|
| 595 | + |
|
| 596 | + /** |
|
| 597 | + * This depends on ``mail_smtpmode``. Specify ``ssl`` when you are using SSL/TLS. Any other value will be ignored. |
|
| 598 | + * |
|
| 599 | + * If the server advertises STARTTLS capabilities, they might be used, but they cannot be enforced by |
|
| 600 | + * this config option. |
|
| 601 | + * |
|
| 602 | + * Defaults to ``''`` (empty string) |
|
| 603 | + */ |
|
| 604 | + 'mail_smtpsecure' => '', |
|
| 605 | + |
|
| 606 | + /** |
|
| 607 | + * This depends on ``mail_smtpmode``. Change this to ``true`` if your mail |
|
| 608 | + * server requires authentication. |
|
| 609 | + * |
|
| 610 | + * Defaults to ``false`` |
|
| 611 | + */ |
|
| 612 | + 'mail_smtpauth' => false, |
|
| 613 | + |
|
| 614 | + /** |
|
| 615 | + * This depends on ``mail_smtpauth``. Specify the username for authenticating to |
|
| 616 | + * the SMTP server. |
|
| 617 | + * |
|
| 618 | + * Defaults to ``''`` (empty string) |
|
| 619 | + */ |
|
| 620 | + 'mail_smtpname' => '', |
|
| 621 | + |
|
| 622 | + /** |
|
| 623 | + * This depends on ``mail_smtpauth``. Specify the password for authenticating to |
|
| 624 | + * the SMTP server. |
|
| 625 | + * |
|
| 626 | + * Default to ``''`` (empty string) |
|
| 627 | + */ |
|
| 628 | + 'mail_smtppassword' => '', |
|
| 629 | + |
|
| 630 | + /** |
|
| 631 | + * Replaces the default mail template layout. This can be utilized if the |
|
| 632 | + * options to modify the mail texts with the theming app are not enough. |
|
| 633 | + * The class must extend ``\OC\Mail\EMailTemplate`` |
|
| 634 | + */ |
|
| 635 | + 'mail_template_class' => '\OC\Mail\EMailTemplate', |
|
| 636 | + |
|
| 637 | + /** |
|
| 638 | + * Email will be sent by default with an HTML and a plain text body. This option |
|
| 639 | + * allows sending only plain text emails. |
|
| 640 | + */ |
|
| 641 | + 'mail_send_plaintext_only' => false, |
|
| 642 | + |
|
| 643 | + /** |
|
| 644 | + * This depends on ``mail_smtpmode``. Array of additional streams options that |
|
| 645 | + * will be passed to underlying Swift mailer implementation. |
|
| 646 | + * Defaults to an empty array. |
|
| 647 | + */ |
|
| 648 | + 'mail_smtpstreamoptions' => [], |
|
| 649 | + |
|
| 650 | + /** |
|
| 651 | + * Which mode is used for sendmail/qmail: ``smtp`` or ``pipe``. |
|
| 652 | + * |
|
| 653 | + * For ``smtp``, the sendmail binary is started with the parameter ``-bs``: |
|
| 654 | + * - Use the SMTP protocol on standard input and output. |
|
| 655 | + * |
|
| 656 | + * For ``pipe``, the binary is started with the parameters ``-t``: |
|
| 657 | + * - Read message from STDIN and extract recipients. |
|
| 658 | + * |
|
| 659 | + * Defaults to ``smtp`` |
|
| 660 | + */ |
|
| 661 | + 'mail_sendmailmode' => 'smtp', |
|
| 662 | + |
|
| 663 | + /** |
|
| 664 | + * Proxy Configurations |
|
| 665 | + */ |
|
| 666 | + |
|
| 667 | + /** |
|
| 668 | + * The automatic hostname detection of Nextcloud can fail in certain reverse |
|
| 669 | + * proxy and CLI/cron situations. This option allows you to manually override |
|
| 670 | + * the automatic detection; for example, ``www.example.com``, or specify the port |
|
| 671 | + * ``www.example.com:8080``. |
|
| 672 | + */ |
|
| 673 | + 'overwritehost' => '', |
|
| 674 | + |
|
| 675 | + /** |
|
| 676 | + * When generating URLs, Nextcloud attempts to detect whether the server is |
|
| 677 | + * accessed via ``https`` or ``http``. However, if Nextcloud is behind a proxy |
|
| 678 | + * and the proxy handles the ``https`` calls, Nextcloud would not know that |
|
| 679 | + * ``ssl`` is in use, which would result in incorrect URLs being generated. |
|
| 680 | + * Valid values are ``http`` and ``https``. |
|
| 681 | + */ |
|
| 682 | + 'overwriteprotocol' => '', |
|
| 683 | + |
|
| 684 | + /** |
|
| 685 | + * Nextcloud attempts to detect the webroot for generating URLs automatically. |
|
| 686 | + * For example, if ``www.example.com/nextcloud`` is the URL pointing to the |
|
| 687 | + * Nextcloud instance, the webroot is ``/nextcloud``. When proxies are in use, |
|
| 688 | + * it may be difficult for Nextcloud to detect this parameter, resulting in |
|
| 689 | + * invalid URLs. |
|
| 690 | + */ |
|
| 691 | + 'overwritewebroot' => '', |
|
| 692 | + |
|
| 693 | + /** |
|
| 694 | + * This option allows you to define a manual override condition as a regular |
|
| 695 | + * expression for the remote IP address. For example, defining a range of IP |
|
| 696 | + * addresses starting with ``10.0.0.`` and ending with 1 to 3: |
|
| 697 | + * ``^10\.0\.0\.[1-3]$`` |
|
| 698 | + * |
|
| 699 | + * Defaults to ``''`` (empty string) |
|
| 700 | + */ |
|
| 701 | + 'overwritecondaddr' => '', |
|
| 702 | + |
|
| 703 | + /** |
|
| 704 | + * Use this configuration parameter to specify the base URL for any URLs which |
|
| 705 | + * are generated within Nextcloud using any kind of command line tools (cron or |
|
| 706 | + * occ). The value should contain the full base URL: |
|
| 707 | + * ``https://www.example.com/nextcloud`` |
|
| 708 | + * Please make sure to set the value to the URL that your users mainly use to access this Nextcloud. |
|
| 709 | + * Otherwise, there might be problems with the URL generation via cron. |
|
| 710 | + * |
|
| 711 | + * Defaults to ``''`` (empty string) |
|
| 712 | + */ |
|
| 713 | + 'overwrite.cli.url' => '', |
|
| 714 | + |
|
| 715 | + /** |
|
| 716 | + * To have clean URLs without ``/index.php``, this parameter needs to be configured. |
|
| 717 | + * |
|
| 718 | + * This parameter will be written as "RewriteBase" on update and installation of |
|
| 719 | + * Nextcloud to your ``.htaccess`` file. While this value is often simply the URL |
|
| 720 | + * path of the Nextcloud installation, it cannot be set automatically properly in |
|
| 721 | + * every scenario and needs thus some manual configuration. |
|
| 722 | + * |
|
| 723 | + * In a standard Apache setup, this usually equals the folder that Nextcloud is |
|
| 724 | + * accessible at. So if Nextcloud is accessible via ``https://mycloud.org/nextcloud``, |
|
| 725 | + * the correct value would most likely be ``/nextcloud``. If Nextcloud is running |
|
| 726 | + * under ``https://mycloud.org/``, then it would be ``/``. |
|
| 727 | + * |
|
| 728 | + * Note that the above rule is not valid in every case, as there are some rare setup |
|
| 729 | + * cases where this may not apply. However, to avoid any update problems, this |
|
| 730 | + * configuration value is explicitly opt-in. |
|
| 731 | + * |
|
| 732 | + * After setting this value, run ``occ maintenance:update:htaccess``. Now, when the |
|
| 733 | + * following conditions are met, Nextcloud URLs won't contain ``index.php``: |
|
| 734 | + * |
|
| 735 | + * - ``mod_rewrite`` is installed |
|
| 736 | + * - ``mod_env`` is installed |
|
| 737 | + * |
|
| 738 | + * Defaults to ``''`` (empty string) |
|
| 739 | + */ |
|
| 740 | + 'htaccess.RewriteBase' => '/', |
|
| 741 | + |
|
| 742 | + /** |
|
| 743 | + * For server setups that don't have ``mod_env`` enabled or restricted (e.g., suEXEC), |
|
| 744 | + * this parameter has to be set to true and will assume mod_rewrite. |
|
| 745 | + * |
|
| 746 | + * Please check if ``mod_rewrite`` is active and functional before setting this |
|
| 747 | + * parameter, and you updated your .htaccess with ``occ maintenance:update:htaccess``. |
|
| 748 | + * Otherwise, your Nextcloud installation might not be reachable any more. |
|
| 749 | + * For example, try accessing resources by leaving out ``index.php`` in the URL. |
|
| 750 | + */ |
|
| 751 | + 'htaccess.IgnoreFrontController' => false, |
|
| 752 | + |
|
| 753 | + /** |
|
| 754 | + * The URL of your proxy server, for example, ``proxy.example.com:8081``. |
|
| 755 | + * |
|
| 756 | + * NOTE: Guzzle (the HTTP library used by Nextcloud) reads the environment |
|
| 757 | + * variables ``HTTP_PROXY`` (only for CLI requests), ``HTTPS_PROXY``, and ``NO_PROXY`` by default. |
|
| 758 | + * |
|
| 759 | + * If you configure a proxy with Nextcloud, any default configuration by Guzzle |
|
| 760 | + * is overwritten. Make sure to set ``proxyexclude`` accordingly if necessary. |
|
| 761 | + * |
|
| 762 | + * Defaults to ``''`` (empty string) |
|
| 763 | + */ |
|
| 764 | + 'proxy' => '', |
|
| 765 | + |
|
| 766 | + /** |
|
| 767 | + * The optional authentication for the proxy to use to connect to the internet. |
|
| 768 | + * The format is: ``username:password``. |
|
| 769 | + * |
|
| 770 | + * Defaults to ``''`` (empty string) |
|
| 771 | + */ |
|
| 772 | + 'proxyuserpwd' => '', |
|
| 773 | + |
|
| 774 | + /** |
|
| 775 | + * List of hostnames that should not be proxied to. |
|
| 776 | + * For example: ``['.mit.edu', 'foo.com']``. |
|
| 777 | + * |
|
| 778 | + * Hint: Use something like ``explode(',', getenv('NO_PROXY'))`` to sync this |
|
| 779 | + * value with the global ``NO_PROXY`` option. |
|
| 780 | + * |
|
| 781 | + * Defaults to empty array. |
|
| 782 | + */ |
|
| 783 | + 'proxyexclude' => [], |
|
| 784 | + |
|
| 785 | + /** |
|
| 786 | + * Allow remote servers with local addresses, e.g., in federated shares, webcal services, and more |
|
| 787 | + * |
|
| 788 | + * Defaults to ``false`` |
|
| 789 | + */ |
|
| 790 | + 'allow_local_remote_servers' => true, |
|
| 791 | + |
|
| 792 | + /** |
|
| 793 | + * Deleted Items (trash bin) |
|
| 794 | + * |
|
| 795 | + * These parameters control the Deleted files app. |
|
| 796 | + */ |
|
| 797 | + |
|
| 798 | + /** |
|
| 799 | + * If the trash bin app is enabled (default), this setting defines the policy |
|
| 800 | + * for when files and folders in the trash bin will be permanently deleted. |
|
| 801 | + * |
|
| 802 | + * If the user quota limit is exceeded due to deleted files in the trash bin, |
|
| 803 | + * retention settings will be ignored and files will be cleaned up until |
|
| 804 | + * the quota requirements are met. |
|
| 805 | + * |
|
| 806 | + * The app allows for two settings, a minimum time for trash bin retention, |
|
| 807 | + * and a maximum time for trash bin retention. |
|
| 808 | + * |
|
| 809 | + * Minimum time is the number of days a file will be kept, after which it |
|
| 810 | + * *may be* deleted. A file may be deleted after the minimum number of days |
|
| 811 | + * has expired if space is needed. The file will not be deleted if space is |
|
| 812 | + * not needed. |
|
| 813 | + * |
|
| 814 | + * Whether "space is needed" depends on whether a user quota is defined or not: |
|
| 815 | + * |
|
| 816 | + * * If no user quota is defined, the available space on the Nextcloud data |
|
| 817 | + * partition sets the limit for the trashbin |
|
| 818 | + * (issues: see https://github.com/nextcloud/server/issues/28451). |
|
| 819 | + * * If a user quota is defined, 50% of the user's remaining quota space sets |
|
| 820 | + * the limit for the trashbin. |
|
| 821 | + * |
|
| 822 | + * Maximum time is the number of days at which it is *guaranteed |
|
| 823 | + * to be* deleted. There is no further dependency on the available space. |
|
| 824 | + * |
|
| 825 | + * Both minimum and maximum times can be set together to explicitly define |
|
| 826 | + * file and folder deletion. For migration purposes, this setting is installed |
|
| 827 | + * initially set to "auto", which is equivalent to the default setting in |
|
| 828 | + * Nextcloud. |
|
| 829 | + * |
|
| 830 | + * Available values (D1 and D2 are configurable numbers): |
|
| 831 | + * |
|
| 832 | + * * ``auto`` |
|
| 833 | + * | Default setting. Keeps files and folders in the trash bin for at least **30** days. |
|
| 834 | + * | Then, **if space is needed**, deletes trashed files anytime after that. |
|
| 835 | + * * ``D1, auto`` |
|
| 836 | + * | Keeps files and folders in the trash bin for at least **D1** days. |
|
| 837 | + * | Then, **if space is needed**, deletes trashed files anytime after that. |
|
| 838 | + * * ``auto, D2`` |
|
| 839 | + * | **If space is needed**, deletes trashed files anytime. |
|
| 840 | + * | After **D2** days, delete all trashed files automatically |
|
| 841 | + * * ``D1, D2`` |
|
| 842 | + * | Keeps files and folders in the trash bin for at least **D1** days. |
|
| 843 | + * | Then, after **D2** days, delete all trashed files automatically. |
|
| 844 | + * * ``disabled`` |
|
| 845 | + * | Trash bin auto clean is disabled, files and folders will be kept forever. |
|
| 846 | + * |
|
| 847 | + * Defaults to ``auto`` |
|
| 848 | + */ |
|
| 849 | + 'trashbin_retention_obligation' => 'auto', |
|
| 850 | + |
|
| 851 | + |
|
| 852 | + /** |
|
| 853 | + * File versions |
|
| 854 | + * |
|
| 855 | + * These parameters control the Versions app. |
|
| 856 | + */ |
|
| 857 | + |
|
| 858 | + /** |
|
| 859 | + * If the versions app is enabled (default), this setting defines the policy |
|
| 860 | + * for when versions will be permanently deleted. |
|
| 861 | + * The app allows for two settings, a minimum time for version retention, |
|
| 862 | + * and a maximum time for version retention. |
|
| 863 | + * Minimum time is the number of days a version will be kept, after which it |
|
| 864 | + * may be deleted. Maximum time is the number of days at which it is guaranteed |
|
| 865 | + * to be deleted. |
|
| 866 | + * Both minimum and maximum times can be set together to explicitly define |
|
| 867 | + * version deletion. For migration purposes, this setting is installed |
|
| 868 | + * initially set to "auto", which is equivalent to the default setting in |
|
| 869 | + * Nextcloud. |
|
| 870 | + * |
|
| 871 | + * Available values: |
|
| 872 | + * |
|
| 873 | + * * ``auto`` |
|
| 874 | + * default setting. Automatically expire versions according to expire |
|
| 875 | + * rules. Please refer to :doc:`../configuration_files/file_versioning` for |
|
| 876 | + * more information. |
|
| 877 | + * * ``D, auto`` |
|
| 878 | + * keep versions at least for D days, apply expiration rules to all versions |
|
| 879 | + * that are older than D days |
|
| 880 | + * * ``auto, D`` |
|
| 881 | + * delete all versions that are older than D days automatically, delete |
|
| 882 | + * other versions according to expire rules |
|
| 883 | + * * ``D1, D2`` |
|
| 884 | + * keep versions for at least D1 days and delete when exceeds D2 days |
|
| 885 | + * * ``disabled`` |
|
| 886 | + * versions auto clean disabled, versions will be kept forever |
|
| 887 | + * |
|
| 888 | + * Defaults to ``auto`` |
|
| 889 | + */ |
|
| 890 | + 'versions_retention_obligation' => 'auto', |
|
| 891 | + |
|
| 892 | + /** |
|
| 893 | + * Nextcloud Verifications |
|
| 894 | + * |
|
| 895 | + * Nextcloud performs several verification checks. There are two options, |
|
| 896 | + * ``true`` and ``false``. |
|
| 897 | + */ |
|
| 898 | + |
|
| 899 | + /** |
|
| 900 | + * Checks an app before install whether it uses private APIs instead of the |
|
| 901 | + * proper public APIs. If this is set to true, it will only allow installing or |
|
| 902 | + * enabling apps that pass this check. |
|
| 903 | + * |
|
| 904 | + * Defaults to ``false`` |
|
| 905 | + */ |
|
| 906 | + 'appcodechecker' => true, |
|
| 907 | + |
|
| 908 | + /** |
|
| 909 | + * Check if Nextcloud is up-to-date and shows a notification if a new version is |
|
| 910 | + * available. It sends current version, PHP version, installation and last update |
|
| 911 | + * time, and release channel to the updater server which responds with the latest |
|
| 912 | + * available version based on those metrics. |
|
| 913 | + * |
|
| 914 | + * Defaults to ``true`` |
|
| 915 | + */ |
|
| 916 | + 'updatechecker' => true, |
|
| 917 | + |
|
| 918 | + /** |
|
| 919 | + * URL that Nextcloud should use to look for updates |
|
| 920 | + * |
|
| 921 | + * Defaults to ``https://updates.nextcloud.com/updater_server/`` |
|
| 922 | + */ |
|
| 923 | + 'updater.server.url' => 'https://updates.nextcloud.com/updater_server/', |
|
| 924 | + |
|
| 925 | + /** |
|
| 926 | + * The channel that Nextcloud should use to look for updates |
|
| 927 | + * |
|
| 928 | + * Supported values: |
|
| 929 | + * |
|
| 930 | + * - ``daily`` |
|
| 931 | + * - ``beta`` |
|
| 932 | + * - ``stable`` |
|
| 933 | + */ |
|
| 934 | + 'updater.release.channel' => 'stable', |
|
| 935 | + |
|
| 936 | + /** |
|
| 937 | + * Is Nextcloud connected to the Internet or running in a closed network? |
|
| 938 | + * |
|
| 939 | + * Defaults to ``true`` |
|
| 940 | + */ |
|
| 941 | + 'has_internet_connection' => true, |
|
| 942 | + |
|
| 943 | + /** |
|
| 944 | + * Which domains to request to determine the availability of an Internet |
|
| 945 | + * connection. If none of these hosts are reachable, the administration panel |
|
| 946 | + * will show a warning. Set to an empty list to not do any such checks (warning |
|
| 947 | + * will still be shown). |
|
| 948 | + * If no protocol is provided, both http and https will be tested. |
|
| 949 | + * For example, ``http://www.nextcloud.com`` and ``https://www.nextcloud.com`` |
|
| 950 | + * will be tested for ``www.nextcloud.com`` |
|
| 951 | + * If a protocol is provided, only this one will be tested. |
|
| 952 | + * |
|
| 953 | + * Defaults to the following domains: |
|
| 954 | + * |
|
| 955 | + * - https://www.nextcloud.com |
|
| 956 | + * - https://www.startpage.com |
|
| 957 | + * - https://www.eff.org |
|
| 958 | + * - https://www.edri.org |
|
| 959 | + */ |
|
| 960 | + 'connectivity_check_domains' => [ |
|
| 961 | + 'https://www.nextcloud.com', |
|
| 962 | + 'https://www.startpage.com', |
|
| 963 | + 'https://www.eff.org', |
|
| 964 | + 'https://www.edri.org' |
|
| 965 | + ], |
|
| 966 | + |
|
| 967 | + /** |
|
| 968 | + * Allows Nextcloud to verify a working .well-known URL redirects. This is done |
|
| 969 | + * by attempting to make a request from JS to |
|
| 970 | + * ``https://example.tld/.well-known/caldav/`` |
|
| 971 | + * |
|
| 972 | + * Defaults to ``true`` |
|
| 973 | + */ |
|
| 974 | + 'check_for_working_wellknown_setup' => true, |
|
| 975 | + |
|
| 976 | + /** |
|
| 977 | + * This is a crucial security check on Apache servers that should always be set |
|
| 978 | + * to ``true``. This verifies that the ``.htaccess`` file is writable and works. |
|
| 979 | + * If it is not, then any options controlled by ``.htaccess``, such as large |
|
| 980 | + * file uploads, will not work. It also runs checks on the ``data/`` directory, |
|
| 981 | + * which verifies that it can't be accessed directly through the Web server. |
|
| 982 | + * |
|
| 983 | + * Defaults to ``true`` |
|
| 984 | + */ |
|
| 985 | + 'check_for_working_htaccess' => true, |
|
| 986 | + |
|
| 987 | + /** |
|
| 988 | + * In rare setups (e.g., on OpenShift or Docker on Windows), the permissions check |
|
| 989 | + * might block the installation while the underlying system offers no means to |
|
| 990 | + * "correct" the permissions. In this case, set the value to false. |
|
| 991 | + * |
|
| 992 | + * In regular cases, if issues with permissions are encountered, they should be |
|
| 993 | + * adjusted accordingly. Changing the flag is discouraged. |
|
| 994 | + * |
|
| 995 | + * Defaults to ``true`` |
|
| 996 | + */ |
|
| 997 | + 'check_data_directory_permissions' => true, |
|
| 998 | + |
|
| 999 | + /** |
|
| 1000 | + * In certain environments, it is desired to have a read-only configuration file. |
|
| 1001 | + * When this switch is set to ``true``, writing to the config file will be |
|
| 1002 | + * forbidden. Therefore, it will not be possible to configure all options via |
|
| 1003 | + * the Web interface. Furthermore, when updating Nextcloud, it is required to |
|
| 1004 | + * make the configuration file writable again and to set this switch to ``false`` |
|
| 1005 | + * for the update process. |
|
| 1006 | + * |
|
| 1007 | + * Defaults to ``false`` |
|
| 1008 | + */ |
|
| 1009 | + 'config_is_read_only' => false, |
|
| 1010 | + |
|
| 1011 | + /** |
|
| 1012 | + * Logging |
|
| 1013 | + */ |
|
| 1014 | + |
|
| 1015 | + /** |
|
| 1016 | + * This parameter determines where the Nextcloud logs are sent. |
|
| 1017 | + * |
|
| 1018 | + * - ``file``: the logs are written to file ``nextcloud.log`` in the default Nextcloud data directory. The log file can be changed with parameter ``logfile``. |
|
| 1019 | + * - ``syslog``: the logs are sent to the system log. This requires a syslog daemon to be active. |
|
| 1020 | + * - ``errorlog``: the logs are sent to the PHP ``error_log`` function. |
|
| 1021 | + * - ``systemd``: the logs are sent to the Systemd journal. This requires a system that runs Systemd and the Systemd journal. The PHP extension ``systemd`` must be installed and active. |
|
| 1022 | + * |
|
| 1023 | + * Defaults to ``file`` |
|
| 1024 | + */ |
|
| 1025 | + 'log_type' => 'file', |
|
| 1026 | + |
|
| 1027 | + /** |
|
| 1028 | + * This parameter determines where the audit logs are sent. See ``log_type`` for more information. |
|
| 1029 | + * |
|
| 1030 | + * Defaults to ``file`` |
|
| 1031 | + */ |
|
| 1032 | + 'log_type_audit' => 'file', |
|
| 1033 | + |
|
| 1034 | + /** |
|
| 1035 | + * Name of the file to which the Nextcloud logs are written if parameter |
|
| 1036 | + * ``log_type`` is set to ``file``. |
|
| 1037 | + * |
|
| 1038 | + * Defaults to ``[datadirectory]/nextcloud.log`` |
|
| 1039 | + */ |
|
| 1040 | + 'logfile' => '/var/log/nextcloud.log', |
|
| 1041 | + |
|
| 1042 | + /** |
|
| 1043 | + * Name of the file to which the audit logs are written if parameter |
|
| 1044 | + * ``log_type`` is set to ``file``. |
|
| 1045 | + * |
|
| 1046 | + * Defaults to ``[datadirectory]/audit.log`` |
|
| 1047 | + */ |
|
| 1048 | + 'logfile_audit' => '/var/log/audit.log', |
|
| 1049 | + |
|
| 1050 | + /** |
|
| 1051 | + * Log file mode for the Nextcloud logging type in octal notation. |
|
| 1052 | + * |
|
| 1053 | + * Defaults to ``0640`` (writable by user, readable by group). |
|
| 1054 | + */ |
|
| 1055 | + 'logfilemode' => 0640, |
|
| 1056 | + |
|
| 1057 | + /** |
|
| 1058 | + * Loglevel to start logging at. Valid values are: |
|
| 1059 | + * |
|
| 1060 | + * - ``0`` = Debug |
|
| 1061 | + * - ``1`` = Info |
|
| 1062 | + * - ``2`` = Warning |
|
| 1063 | + * - ``3`` = Error |
|
| 1064 | + * - ``4`` = Fatal. |
|
| 1065 | + * |
|
| 1066 | + * |
|
| 1067 | + * Defaults to ``2`` (Warning) |
|
| 1068 | + */ |
|
| 1069 | + 'loglevel' => 2, |
|
| 1070 | + |
|
| 1071 | + /** |
|
| 1072 | + * Loglevel used by the frontend to start logging at. The same values as |
|
| 1073 | + * for ``loglevel`` can be used. If not set, it defaults to the value |
|
| 1074 | + * configured for ``loglevel`` or Warning if that is not set either. |
|
| 1075 | + * |
|
| 1076 | + * Defaults to ``2`` |
|
| 1077 | + */ |
|
| 1078 | + 'loglevel_frontend' => 2, |
|
| 1079 | + |
|
| 1080 | + /** |
|
| 1081 | + * Loglevel used by the dirty database query detection. Useful to identify |
|
| 1082 | + * potential database bugs in production. Set this to loglevel or higher to |
|
| 1083 | + * see dirty queries in the logs. |
|
| 1084 | + * |
|
| 1085 | + * Defaults to ``0`` (debug) |
|
| 1086 | + */ |
|
| 1087 | + 'loglevel_dirty_database_queries' => 0, |
|
| 1088 | + |
|
| 1089 | + /** |
|
| 1090 | + * If you maintain different instances and aggregate the logs, you may want |
|
| 1091 | + * to distinguish between them. ``syslog_tag`` can be set per instance |
|
| 1092 | + * with a unique ID. Only available if ``log_type`` is set to ``syslog`` or |
|
| 1093 | + * ``systemd``. |
|
| 1094 | + * |
|
| 1095 | + * The default value is ``Nextcloud``. |
|
| 1096 | + */ |
|
| 1097 | + 'syslog_tag' => 'Nextcloud', |
|
| 1098 | + |
|
| 1099 | + /** |
|
| 1100 | + * If you maintain different instances and aggregate the logs, you may want |
|
| 1101 | + * to distinguish between them. ``syslog_tag_audit`` can be set per instance |
|
| 1102 | + * with a unique ID. Only available if ``log_type`` is set to ``syslog`` or |
|
| 1103 | + * ``systemd``. |
|
| 1104 | + * |
|
| 1105 | + * The default value is the value of ``syslog_tag``. |
|
| 1106 | + */ |
|
| 1107 | + 'syslog_tag_audit' => 'Nextcloud', |
|
| 1108 | + |
|
| 1109 | + /** |
|
| 1110 | + * Log condition for log level increase based on conditions. Once one of these |
|
| 1111 | + * conditions is met, the required log level is set to debug. This allows |
|
| 1112 | + * debugging specific requests, users, or apps |
|
| 1113 | + * |
|
| 1114 | + * Supported conditions: |
|
| 1115 | + * - ``shared_secret``: if a request parameter with the name `log_secret` is set to |
|
| 1116 | + * this value, the condition is met |
|
| 1117 | + * - ``users``: if the current request is done by one of the specified users, |
|
| 1118 | + * this condition is met |
|
| 1119 | + * - ``apps``: if the log message is invoked by one of the specified apps, |
|
| 1120 | + * this condition is met |
|
| 1121 | + * - ``matches``: if all the conditions inside a group match, |
|
| 1122 | + * this condition is met. This allows logging only entries to an app |
|
| 1123 | + * by a few users. |
|
| 1124 | + * |
|
| 1125 | + * Defaults to an empty array. |
|
| 1126 | + */ |
|
| 1127 | + 'log.condition' => [ |
|
| 1128 | + 'shared_secret' => '57b58edb6637fe3059b3595cf9c41b9', |
|
| 1129 | + 'users' => ['sample-user'], |
|
| 1130 | + 'apps' => ['files'], |
|
| 1131 | + 'matches' => [ |
|
| 1132 | + [ |
|
| 1133 | + 'shared_secret' => '57b58edb6637fe3059b3595cf9c41b9', |
|
| 1134 | + 'users' => ['sample-user'], |
|
| 1135 | + 'apps' => ['files'], |
|
| 1136 | + 'loglevel' => 1, |
|
| 1137 | + 'message' => 'contains substring' |
|
| 1138 | + ], |
|
| 1139 | + ], |
|
| 1140 | + ], |
|
| 1141 | + |
|
| 1142 | + /** |
|
| 1143 | + * Enables logging a backtrace with each log line. Normally, only Exceptions |
|
| 1144 | + * carry backtrace information, which are logged automatically. This |
|
| 1145 | + * switch turns them on for any log message. Enabling this option will lead |
|
| 1146 | + * to increased log data size. |
|
| 1147 | + * |
|
| 1148 | + * Defaults to ``false``. |
|
| 1149 | + */ |
|
| 1150 | + 'log.backtrace' => false, |
|
| 1151 | + |
|
| 1152 | + /** |
|
| 1153 | + * This uses PHP.date formatting; see https://www.php.net/manual/en/function.date.php |
|
| 1154 | + * |
|
| 1155 | + * Defaults to ISO 8601 ``2005-08-15T15:52:01+00:00``, see ``\DateTime::ATOM`` |
|
| 1156 | + * https://www.php.net/manual/en/class.datetimeinterface.php#datetimeinterface.constants.atom |
|
| 1157 | + */ |
|
| 1158 | + 'logdateformat' => 'F d, Y H:i:s', |
|
| 1159 | + |
|
| 1160 | + /** |
|
| 1161 | + * The timezone for logfiles. See https://www.php.net/manual/en/timezones.php |
|
| 1162 | + * |
|
| 1163 | + * Defaults to ``UTC`` |
|
| 1164 | + */ |
|
| 1165 | + 'logtimezone' => 'Europe/Berlin', |
|
| 1166 | + |
|
| 1167 | + /** |
|
| 1168 | + * Append all database queries and parameters to the log file. Use this only for |
|
| 1169 | + * debugging, as your logfile will become huge. |
|
| 1170 | + */ |
|
| 1171 | + 'log_query' => false, |
|
| 1172 | + |
|
| 1173 | + /** |
|
| 1174 | + * Enables log rotation and limits the total size of logfiles. Set it to 0 for |
|
| 1175 | + * no rotation. Specify a size in bytes, for example, 104857600 (100 megabytes |
|
| 1176 | + * = 100 * 1024 * 1024 bytes). A new logfile is created with a new name when the |
|
| 1177 | + * old logfile reaches your limit. If a rotated log file is already present, it |
|
| 1178 | + * will be overwritten. |
|
| 1179 | + * |
|
| 1180 | + * Defaults to 100 MB |
|
| 1181 | + */ |
|
| 1182 | + 'log_rotate_size' => 100 * 1024 * 1024, |
|
| 1183 | + |
|
| 1184 | + /** |
|
| 1185 | + * Enable built-in profiler. Helpful when trying to debug performance |
|
| 1186 | + * issues. |
|
| 1187 | + * |
|
| 1188 | + * Note that this has a performance impact and shouldn't be enabled |
|
| 1189 | + * on production. |
|
| 1190 | + */ |
|
| 1191 | + 'profiler' => false, |
|
| 1192 | + |
|
| 1193 | + /** |
|
| 1194 | + * Enable profiling for individual requests if profiling single requests is enabled or the secret is passed. |
|
| 1195 | + * This requires the excimer extension to be installed. Be careful with this, as it can generate a lot of data. |
|
| 1196 | + * |
|
| 1197 | + * The profile data will be stored as a JSON file in the profiling.path directory that can be analyzed with speedscope. |
|
| 1198 | + * |
|
| 1199 | + * Defaults to ``false`` |
|
| 1200 | + */ |
|
| 1201 | + 'profiling.request' => false, |
|
| 1202 | + |
|
| 1203 | + /** |
|
| 1204 | + * The rate at which profiling data is collected for individual requests. |
|
| 1205 | + * A lower value means more data points but higher overhead. |
|
| 1206 | + * |
|
| 1207 | + * Defaults to ``0.001`` |
|
| 1208 | + */ |
|
| 1209 | + 'profiling.request.rate' => 0.001, |
|
| 1210 | + |
|
| 1211 | + /** |
|
| 1212 | + * A secret token that can be passed via ?profile_secret=<secret> to enable profiling for a specific request. |
|
| 1213 | + * This allows profiling specific requests in production without enabling it globally. |
|
| 1214 | + * |
|
| 1215 | + * No default value. |
|
| 1216 | + */ |
|
| 1217 | + 'profiling.secret' => '', |
|
| 1218 | + |
|
| 1219 | + /** |
|
| 1220 | + * Enable sampling-based profiling. This collects profiling data periodically rather than per-request. |
|
| 1221 | + * This requires the excimer extension to be installed. Be careful with this, as it can generate a lot of data. |
|
| 1222 | + * |
|
| 1223 | + * The profile data will be stored as a plain text file in the profiling.path directory that can be analyzed with speedscope. |
|
| 1224 | + * |
|
| 1225 | + * Defaults to ``false`` |
|
| 1226 | + */ |
|
| 1227 | + 'profiling.sample' => false, |
|
| 1228 | + |
|
| 1229 | + /** |
|
| 1230 | + * The rate at which sampling profiling data is collected in seconds. |
|
| 1231 | + * A lower value means more frequent samples but higher overhead. |
|
| 1232 | + * |
|
| 1233 | + * Defaults to ``1`` |
|
| 1234 | + */ |
|
| 1235 | + 'profiling.sample.rate' => 1, |
|
| 1236 | + |
|
| 1237 | + /** |
|
| 1238 | + * How often (in minutes) the sample log files are rotated. |
|
| 1239 | + * |
|
| 1240 | + * Defaults to ``60`` |
|
| 1241 | + */ |
|
| 1242 | + 'profiling.sample.rotation' => 60, |
|
| 1243 | + |
|
| 1244 | + /** |
|
| 1245 | + * The directory where profiling data is stored. |
|
| 1246 | + * |
|
| 1247 | + * Note that this directory must be writable by the web server user and will not be cleaned up automatically. |
|
| 1248 | + */ |
|
| 1249 | + 'profiling.path' => '/tmp', |
|
| 1250 | + |
|
| 1251 | + |
|
| 1252 | + /** |
|
| 1253 | + * Alternate Code Locations |
|
| 1254 | + * |
|
| 1255 | + * Some Nextcloud code may be stored in alternate locations. |
|
| 1256 | + */ |
|
| 1257 | + |
|
| 1258 | + /** |
|
| 1259 | + * This section is for configuring the download links for Nextcloud clients, as |
|
| 1260 | + * seen in the first-run wizard and on Personal pages. |
|
| 1261 | + * |
|
| 1262 | + * Defaults to: |
|
| 1263 | + * |
|
| 1264 | + * - Desktop client: ``https://nextcloud.com/install/#install-clients`` |
|
| 1265 | + * - Android client: ``https://play.google.com/store/apps/details?id=com.nextcloud.client`` |
|
| 1266 | + * - iOS client: ``https://itunes.apple.com/us/app/nextcloud/id1125420102?mt=8`` |
|
| 1267 | + * - iOS client app ID: ``1125420102`` |
|
| 1268 | + * - F-Droid client: ``https://f-droid.org/packages/com.nextcloud.client/`` |
|
| 1269 | + */ |
|
| 1270 | + 'customclient_desktop' |
|
| 1271 | + => 'https://nextcloud.com/install/#install-clients', |
|
| 1272 | + 'customclient_android' |
|
| 1273 | + => 'https://play.google.com/store/apps/details?id=com.nextcloud.client', |
|
| 1274 | + 'customclient_ios' |
|
| 1275 | + => 'https://itunes.apple.com/us/app/nextcloud/id1125420102?mt=8', |
|
| 1276 | + 'customclient_ios_appid' |
|
| 1277 | + => '1125420102', |
|
| 1278 | + 'customclient_fdroid' |
|
| 1279 | + => 'https://f-droid.org/packages/com.nextcloud.client/', |
|
| 1280 | + |
|
| 1281 | + /** |
|
| 1282 | + * Activity |
|
| 1283 | + * |
|
| 1284 | + * Options for the activity app. |
|
| 1285 | + */ |
|
| 1286 | + |
|
| 1287 | + /** |
|
| 1288 | + * Retention of activities. |
|
| 1289 | + * |
|
| 1290 | + * A daily cron job deletes all activities for all users which are older than |
|
| 1291 | + * the number of days specified here. |
|
| 1292 | + * |
|
| 1293 | + * Defaults to ``365`` |
|
| 1294 | + */ |
|
| 1295 | + 'activity_expire_days' => 365, |
|
| 1296 | + |
|
| 1297 | + /** |
|
| 1298 | + * Activities in Team Folders and External Storages. |
|
| 1299 | + * |
|
| 1300 | + * By default, activities in team folders or external storages are only generated |
|
| 1301 | + * for the current user. This is due to a limitations in current implementations. |
|
| 1302 | + * This config flag makes activities in group folders and external storages work |
|
| 1303 | + * like in normal shares (when set to ``true``). |
|
| 1304 | + * |
|
| 1305 | + * WARNING: Enabling this comes with some CRITICAL trade-offs: |
|
| 1306 | + * |
|
| 1307 | + * - If team folder "Advanced Permissions" (ACLs) are used, activities do not |
|
| 1308 | + * respect the permissions and therefore all users see all activities, even |
|
| 1309 | + * for files and directories they do not have access to. |
|
| 1310 | + * - Users who had access to a team folder, share, or external storage can see |
|
| 1311 | + * activities in their stream and emails that happen after they are removed |
|
| 1312 | + * until they log in again. |
|
| 1313 | + * - Users who are newly added to a team folder, share, or external storage |
|
| 1314 | + * cannot see activities in their stream or emails that happen after they |
|
| 1315 | + * are added until they log in again. |
|
| 1316 | + * |
|
| 1317 | + * Defaults to ``false`` |
|
| 1318 | + */ |
|
| 1319 | + 'activity_use_cached_mountpoints' => false, |
|
| 1320 | + |
|
| 1321 | + /** |
|
| 1322 | + * Apps |
|
| 1323 | + * |
|
| 1324 | + * Options for the Apps folder, Apps store, and App code checker. |
|
| 1325 | + */ |
|
| 1326 | + |
|
| 1327 | + /** |
|
| 1328 | + * Set the default app to open on login. The entry IDs can be retrieved from |
|
| 1329 | + * the Navigations OCS API endpoint: https://docs.nextcloud.com/server/latest/developer_manual/_static/openapi.html#/operations/core-navigation-get-apps-navigation. |
|
| 1330 | + * You can use a comma-separated list of app names, so if the first |
|
| 1331 | + * app is not enabled for a user, then Nextcloud will try the second one, and so |
|
| 1332 | + * on. If no enabled apps are found, it defaults to the dashboard app. |
|
| 1333 | + * |
|
| 1334 | + * Defaults to ``dashboard,files`` |
|
| 1335 | + */ |
|
| 1336 | + 'defaultapp' => 'dashboard,files', |
|
| 1337 | + |
|
| 1338 | + /** |
|
| 1339 | + * When enabled, admins may install apps from the Nextcloud app store. |
|
| 1340 | + * |
|
| 1341 | + * Defaults to ``true`` |
|
| 1342 | + */ |
|
| 1343 | + 'appstoreenabled' => true, |
|
| 1344 | + |
|
| 1345 | + /** |
|
| 1346 | + * Enables the installation of apps from a self-hosted apps store. |
|
| 1347 | + * Requires that at least one of the configured apps directories is writable. |
|
| 1348 | + * |
|
| 1349 | + * Defaults to ``https://apps.nextcloud.com/api/v1`` |
|
| 1350 | + */ |
|
| 1351 | + 'appstoreurl' => 'https://apps.nextcloud.com/api/v1', |
|
| 1352 | + |
|
| 1353 | + /** |
|
| 1354 | + * Filters allowed installable apps from the appstore. |
|
| 1355 | + * Empty array will prevent all apps from the store to be found. |
|
| 1356 | + */ |
|
| 1357 | + 'appsallowlist' => [], |
|
| 1358 | + |
|
| 1359 | + /** |
|
| 1360 | + * Use the ``apps_paths`` parameter to set the location of the Apps directory, |
|
| 1361 | + * which should be scanned for available apps, and where user-specific apps |
|
| 1362 | + * should be installed from the Apps store. The ``path`` defines the absolute |
|
| 1363 | + * file system path to the app folder. The key ``url`` defines the HTTP Web path |
|
| 1364 | + * to that folder, starting from the Nextcloud webroot. The key ``writable`` |
|
| 1365 | + * indicates if a Web server can write files to that folder. |
|
| 1366 | + */ |
|
| 1367 | + 'apps_paths' => [ |
|
| 1368 | + [ |
|
| 1369 | + 'path' => '/var/www/nextcloud/apps', |
|
| 1370 | + 'url' => '/apps', |
|
| 1371 | + 'writable' => true, |
|
| 1372 | + ], |
|
| 1373 | + ], |
|
| 1374 | + |
|
| 1375 | + /** |
|
| 1376 | + * @see appcodechecker |
|
| 1377 | + */ |
|
| 1378 | + |
|
| 1379 | + /** |
|
| 1380 | + * Previews |
|
| 1381 | + * |
|
| 1382 | + * Nextcloud supports generating previews for various file types, such as images, audio files, and text files. |
|
| 1383 | + * These options control enabling and disabling previews, and thumbnail size. |
|
| 1384 | + */ |
|
| 1385 | + |
|
| 1386 | + /** |
|
| 1387 | + * By default, Nextcloud can generate previews for the following filetypes: |
|
| 1388 | + * |
|
| 1389 | + * - Image files |
|
| 1390 | + * - Text documents |
|
| 1391 | + * |
|
| 1392 | + * Valid values are ``true``, to enable previews, or |
|
| 1393 | + * ``false``, to disable previews |
|
| 1394 | + * |
|
| 1395 | + * Defaults to ``true`` |
|
| 1396 | + */ |
|
| 1397 | + 'enable_previews' => true, |
|
| 1398 | + |
|
| 1399 | + /** |
|
| 1400 | + * Number of all preview requests being processed concurrently, |
|
| 1401 | + * including previews that need to be newly generated, and those that have |
|
| 1402 | + * been generated. |
|
| 1403 | + * |
|
| 1404 | + * This should be greater than ``preview_concurrency_new``. |
|
| 1405 | + * If unspecified, defaults to twice the value of ``preview_concurrency_new``. |
|
| 1406 | + */ |
|
| 1407 | + 'preview_concurrency_all' => 8, |
|
| 1408 | + |
|
| 1409 | + /** |
|
| 1410 | + * Number of new previews that are being concurrently generated. |
|
| 1411 | + * |
|
| 1412 | + * Depending on the max preview size set by ``preview_max_x`` and ``preview_max_y``, |
|
| 1413 | + * the generation process can consume considerable CPU and memory resources. |
|
| 1414 | + * It's recommended to limit this to be no greater than the number of CPU cores. |
|
| 1415 | + * If unspecified, defaults to the number of CPU cores, or 4 if that cannot |
|
| 1416 | + * be determined. |
|
| 1417 | + */ |
|
| 1418 | + 'preview_concurrency_new' => 4, |
|
| 1419 | + |
|
| 1420 | + /** |
|
| 1421 | + * The maximum width, in pixels, of a preview. A value of ``null`` means there |
|
| 1422 | + * is no limit. |
|
| 1423 | + * |
|
| 1424 | + * Defaults to ``4096`` |
|
| 1425 | + */ |
|
| 1426 | + 'preview_max_x' => 4096, |
|
| 1427 | + /** |
|
| 1428 | + * The maximum height, in pixels, of a preview. A value of ``null`` means there |
|
| 1429 | + * is no limit. |
|
| 1430 | + * |
|
| 1431 | + * Defaults to ``4096`` |
|
| 1432 | + */ |
|
| 1433 | + 'preview_max_y' => 4096, |
|
| 1434 | + |
|
| 1435 | + /** |
|
| 1436 | + * Max file size for generating image previews with imagegd (default behavior). |
|
| 1437 | + * If the image is bigger, it'll try other preview generators, but will most |
|
| 1438 | + * likely either show the default mimetype icon or not display the image at all. |
|
| 1439 | + * Set to ``-1`` for no limit and try to generate image previews on all file sizes. |
|
| 1440 | + * |
|
| 1441 | + * Defaults to ``50`` megabytes |
|
| 1442 | + */ |
|
| 1443 | + 'preview_max_filesize_image' => 50, |
|
| 1444 | + |
|
| 1445 | + /** |
|
| 1446 | + * Max memory for generating image previews with imagegd (default behavior) |
|
| 1447 | + * Reads the image dimensions from the header and assumes 32 bits per pixel. |
|
| 1448 | + * If creating the image would allocate more memory, preview generation will |
|
| 1449 | + * be disabled and the default mimetype icon is shown. Set to ``-1`` for no limit. |
|
| 1450 | + * |
|
| 1451 | + * Defaults to ``256`` megabytes |
|
| 1452 | + */ |
|
| 1453 | + 'preview_max_memory' => 256, |
|
| 1454 | + |
|
| 1455 | + /** |
|
| 1456 | + * Custom path for LibreOffice/OpenOffice binary |
|
| 1457 | + * |
|
| 1458 | + * |
|
| 1459 | + * Defaults to ``''`` (empty string) |
|
| 1460 | + */ |
|
| 1461 | + 'preview_libreoffice_path' => '/usr/bin/libreoffice', |
|
| 1462 | + |
|
| 1463 | + /** |
|
| 1464 | + * Custom path for ffmpeg binary |
|
| 1465 | + * |
|
| 1466 | + * Defaults to ``null`` and falls back to searching ``ffmpeg`` |
|
| 1467 | + * in the configured ``PATH`` environment |
|
| 1468 | + */ |
|
| 1469 | + 'preview_ffmpeg_path' => '/usr/bin/ffmpeg', |
|
| 1470 | + |
|
| 1471 | + /** |
|
| 1472 | + * Custom path for ffprobe binary |
|
| 1473 | + * |
|
| 1474 | + * Defaults to ``null`` and falls back to using the same path as ffmpeg. |
|
| 1475 | + * ffprobe is typically packaged with ffmpeg and is required for |
|
| 1476 | + * enhanced preview generation for HDR videos. |
|
| 1477 | + */ |
|
| 1478 | + 'preview_ffprobe_path' => '/usr/bin/ffprobe', |
|
| 1479 | + |
|
| 1480 | + /** |
|
| 1481 | + * Set the URL of the Imaginary service to send image previews to. |
|
| 1482 | + * Also requires the ``OC\Preview\Imaginary`` provider to be enabled in the |
|
| 1483 | + * ``enabledPreviewProviders`` array, to create previews for these mimetypes: bmp, |
|
| 1484 | + * x-bitmap, png, jpeg, gif, heic, heif, svg+xml, tiff, webp, and illustrator. |
|
| 1485 | + * |
|
| 1486 | + * If you want Imaginary to also create preview images from PDF documents, you |
|
| 1487 | + * have to add the ``OC\Preview\ImaginaryPDF`` provider as well. |
|
| 1488 | + * |
|
| 1489 | + * See https://github.com/h2non/imaginary |
|
| 1490 | + */ |
|
| 1491 | + 'preview_imaginary_url' => 'http://previews_hpb:8088/', |
|
| 1492 | + |
|
| 1493 | + /** |
|
| 1494 | + * If you want to set an API key for Imaginary. |
|
| 1495 | + */ |
|
| 1496 | + 'preview_imaginary_key' => 'secret', |
|
| 1497 | + |
|
| 1498 | + /** |
|
| 1499 | + * Only register providers that have been explicitly enabled |
|
| 1500 | + * |
|
| 1501 | + * The following providers are disabled by default due to performance or privacy |
|
| 1502 | + * concerns: |
|
| 1503 | + * |
|
| 1504 | + * - ``OC\Preview\EMF`` |
|
| 1505 | + * - ``OC\Preview\Font`` |
|
| 1506 | + * - ``OC\Preview\HEIC`` |
|
| 1507 | + * - ``OC\Preview\Illustrator`` |
|
| 1508 | + * - ``OC\Preview\MP3`` |
|
| 1509 | + * - ``OC\Preview\MSOffice2003`` |
|
| 1510 | + * - ``OC\Preview\MSOffice2007`` |
|
| 1511 | + * - ``OC\Preview\MSOfficeDoc`` |
|
| 1512 | + * - ``OC\Preview\Movie`` |
|
| 1513 | + * - ``OC\Preview\PDF`` |
|
| 1514 | + * - ``OC\Preview\Photoshop`` |
|
| 1515 | + * - ``OC\Preview\Postscript`` |
|
| 1516 | + * - ``OC\Preview\SVG`` |
|
| 1517 | + * - ``OC\Preview\StarOffice`` |
|
| 1518 | + * - ``OC\Preview\TIFF`` |
|
| 1519 | + * |
|
| 1520 | + * Defaults to the following providers: |
|
| 1521 | + * |
|
| 1522 | + * - ``OC\Preview\BMP`` |
|
| 1523 | + * - ``OC\Preview\GIF`` |
|
| 1524 | + * - ``OC\Preview\JPEG`` |
|
| 1525 | + * - ``OC\Preview\Krita`` |
|
| 1526 | + * - ``OC\Preview\MarkDown`` |
|
| 1527 | + * - ``OC\Preview\OpenDocument`` |
|
| 1528 | + * - ``OC\Preview\PNG`` |
|
| 1529 | + * - ``OC\Preview\TXT`` |
|
| 1530 | + * - ``OC\Preview\XBitmap`` |
|
| 1531 | + * |
|
| 1532 | + */ |
|
| 1533 | + 'enabledPreviewProviders' => [ |
|
| 1534 | + 'OC\Preview\BMP', |
|
| 1535 | + 'OC\Preview\GIF', |
|
| 1536 | + 'OC\Preview\JPEG', |
|
| 1537 | + 'OC\Preview\Krita', |
|
| 1538 | + 'OC\Preview\MarkDown', |
|
| 1539 | + 'OC\Preview\OpenDocument', |
|
| 1540 | + 'OC\Preview\PNG', |
|
| 1541 | + 'OC\Preview\TXT', |
|
| 1542 | + 'OC\Preview\XBitmap', |
|
| 1543 | + ], |
|
| 1544 | + |
|
| 1545 | + /** |
|
| 1546 | + * Maximum file size for metadata generation. |
|
| 1547 | + * If a file exceeds this size, metadata generation will be skipped. |
|
| 1548 | + * |
|
| 1549 | + * NOTE: memory equivalent to this size will be used for metadata generation. |
|
| 1550 | + * |
|
| 1551 | + * Default: 256 megabytes. |
|
| 1552 | + */ |
|
| 1553 | + 'metadata_max_filesize' => 256, |
|
| 1554 | + |
|
| 1555 | + /** |
|
| 1556 | + * Maximum file size for file conversion. |
|
| 1557 | + * If a file exceeds this size, the file will not be converted. |
|
| 1558 | + * |
|
| 1559 | + * Default: 100 MiB |
|
| 1560 | + */ |
|
| 1561 | + 'max_file_conversion_filesize' => 100, |
|
| 1562 | + |
|
| 1563 | + /** |
|
| 1564 | + * LDAP |
|
| 1565 | + * |
|
| 1566 | + * Global settings used by LDAP User and Group Backend |
|
| 1567 | + */ |
|
| 1568 | + |
|
| 1569 | + /** |
|
| 1570 | + * Defines the interval in minutes for the background job that checks user |
|
| 1571 | + * existence and marks them as ready to be cleaned up. The number is always |
|
| 1572 | + * minutes. Setting it to 0 disables the feature. |
|
| 1573 | + * See command line (occ) methods ``ldap:show-remnants`` and ``user:delete`` |
|
| 1574 | + * |
|
| 1575 | + * Defaults to ``51`` minutes |
|
| 1576 | + */ |
|
| 1577 | + 'ldapUserCleanupInterval' => 51, |
|
| 1578 | + |
|
| 1579 | + /** |
|
| 1580 | + * Sort groups in the user settings by name instead of the user count |
|
| 1581 | + * |
|
| 1582 | + * By enabling this, the user count beside the group name is disabled as well. |
|
| 1583 | + * @deprecated since Nextcloud 29 - Use the frontend instead or set the app config value ``group.sortBy`` for ``core`` to ``2`` |
|
| 1584 | + */ |
|
| 1585 | + 'sort_groups_by_name' => false, |
|
| 1586 | + |
|
| 1587 | + /** |
|
| 1588 | + * Comments |
|
| 1589 | + * |
|
| 1590 | + * Global settings for the Comments infrastructure |
|
| 1591 | + */ |
|
| 1592 | + |
|
| 1593 | + /** |
|
| 1594 | + * Replaces the default Comments Manager Factory. This can be utilized if an |
|
| 1595 | + * own or 3rd-party CommentsManager should be used that – for instance – uses the |
|
| 1596 | + * filesystem instead of the database to keep the comments. |
|
| 1597 | + * |
|
| 1598 | + * Defaults to ``\OC\Comments\ManagerFactory`` |
|
| 1599 | + */ |
|
| 1600 | + 'comments.managerFactory' => '\OC\Comments\ManagerFactory', |
|
| 1601 | + |
|
| 1602 | + /** |
|
| 1603 | + * Replaces the default System Tags Manager Factory. This can be utilized if an |
|
| 1604 | + * own or 3rd-party SystemTagsManager should be used that – for instance – uses the |
|
| 1605 | + * filesystem instead of the database to keep the tags. |
|
| 1606 | + * |
|
| 1607 | + * Defaults to ``\OC\SystemTag\ManagerFactory`` |
|
| 1608 | + */ |
|
| 1609 | + 'systemtags.managerFactory' => '\OC\SystemTag\ManagerFactory', |
|
| 1610 | + |
|
| 1611 | + /** |
|
| 1612 | + * Maintenance |
|
| 1613 | + * |
|
| 1614 | + * These options are for halting user activity when you are performing server |
|
| 1615 | + * maintenance. |
|
| 1616 | + */ |
|
| 1617 | + |
|
| 1618 | + /** |
|
| 1619 | + * Enable maintenance mode to disable Nextcloud |
|
| 1620 | + * |
|
| 1621 | + * If you want to prevent users from logging in to Nextcloud before you start |
|
| 1622 | + * doing some maintenance work, you need to set the value of the maintenance |
|
| 1623 | + * parameter to true. Please keep in mind that users who are already logged in |
|
| 1624 | + * are kicked out of Nextcloud instantly. |
|
| 1625 | + * |
|
| 1626 | + * Defaults to ``false`` |
|
| 1627 | + */ |
|
| 1628 | + 'maintenance' => false, |
|
| 1629 | + |
|
| 1630 | + /** |
|
| 1631 | + * UTC Hour for maintenance windows |
|
| 1632 | + * |
|
| 1633 | + * Some background jobs only run once a day. When an hour is defined for this config, |
|
| 1634 | + * the background jobs which advertise themselves as not time sensitive will be |
|
| 1635 | + * delayed during the "working" hours and only run in the 4 hours after the given time. |
|
| 1636 | + * This is, e.g., used for activity expiration, suspicious login training, and update checks. |
|
| 1637 | + * |
|
| 1638 | + * A value of 1, e.g., will only run these background jobs between 01:00am UTC and 05:00am UTC. |
|
| 1639 | + * |
|
| 1640 | + * Defaults to ``100`` which disables the feature |
|
| 1641 | + */ |
|
| 1642 | + 'maintenance_window_start' => 1, |
|
| 1643 | + |
|
| 1644 | + /** |
|
| 1645 | + * Log all LDAP requests into a file |
|
| 1646 | + * |
|
| 1647 | + * Warning: This heavily decreases the performance of the server and is only |
|
| 1648 | + * meant to debug/profile the LDAP interaction manually. |
|
| 1649 | + * Also, it might log sensitive data into a plain text file. |
|
| 1650 | + */ |
|
| 1651 | + 'ldap_log_file' => '', |
|
| 1652 | + |
|
| 1653 | + /** |
|
| 1654 | + * SSL |
|
| 1655 | + */ |
|
| 1656 | + |
|
| 1657 | + /** |
|
| 1658 | + * Extra SSL options to be used for configuration. |
|
| 1659 | + * |
|
| 1660 | + * Defaults to an empty array. |
|
| 1661 | + */ |
|
| 1662 | + 'openssl' => [ |
|
| 1663 | + 'config' => '/absolute/location/of/openssl.cnf', |
|
| 1664 | + ], |
|
| 1665 | + |
|
| 1666 | + /** |
|
| 1667 | + * Memory caching backend configuration |
|
| 1668 | + * |
|
| 1669 | + * Available cache backends: |
|
| 1670 | + * |
|
| 1671 | + * * ``\OC\Memcache\APCu`` APC user backend |
|
| 1672 | + * * ``\OC\Memcache\ArrayCache`` In-memory array-based backend (not recommended) |
|
| 1673 | + * * ``\OC\Memcache\Memcached`` Memcached backend |
|
| 1674 | + * * ``\OC\Memcache\Redis`` Redis backend |
|
| 1675 | + * |
|
| 1676 | + * Advice on choosing between the various backends: |
|
| 1677 | + * |
|
| 1678 | + * * APCu should be easiest to install. Almost all distributions have packages. |
|
| 1679 | + * Use this for single user environment for all caches. |
|
| 1680 | + * * Use Redis or Memcached for distributed environments. |
|
| 1681 | + * For the local cache (you can configure two) take APCu. |
|
| 1682 | + */ |
|
| 1683 | + |
|
| 1684 | + /** |
|
| 1685 | + * Memory caching backend for locally stored data |
|
| 1686 | + * |
|
| 1687 | + * * Used for host-specific data, e.g., file paths |
|
| 1688 | + * |
|
| 1689 | + * Defaults to ``none`` |
|
| 1690 | + */ |
|
| 1691 | + 'memcache.local' => '\\OC\\Memcache\\APCu', |
|
| 1692 | + |
|
| 1693 | + /** |
|
| 1694 | + * Memory caching backend for distributed data |
|
| 1695 | + * |
|
| 1696 | + * * Used for installation-specific data, e.g., database caching |
|
| 1697 | + * * If unset, defaults to the value of memcache.local |
|
| 1698 | + * |
|
| 1699 | + * Defaults to ``none`` |
|
| 1700 | + */ |
|
| 1701 | + 'memcache.distributed' => '\\OC\\Memcache\\Memcached', |
|
| 1702 | + |
|
| 1703 | + /** |
|
| 1704 | + * Connection details for Redis to use for memory caching in a single server configuration. |
|
| 1705 | + * |
|
| 1706 | + * For enhanced security, it is recommended to configure Redis |
|
| 1707 | + * to require a password. See http://redis.io/topics/security |
|
| 1708 | + * for more information. |
|
| 1709 | + * |
|
| 1710 | + * We also support Redis SSL/TLS encryption as of version 6. |
|
| 1711 | + * See https://redis.io/topics/encryption for more information. |
|
| 1712 | + */ |
|
| 1713 | + 'redis' => [ |
|
| 1714 | + 'host' => 'localhost', // can also be a Unix domain socket: '/tmp/redis.sock' |
|
| 1715 | + 'port' => 6379, |
|
| 1716 | + 'timeout' => 0.0, |
|
| 1717 | + 'read_timeout' => 0.0, |
|
| 1718 | + 'user' => '', // Optional: if not defined, no password will be used. |
|
| 1719 | + 'password' => '', // Optional: if not defined, no password will be used. |
|
| 1720 | + 'dbindex' => 0, // Optional: if undefined, SELECT will not run and will use Redis Server's default DB Index. |
|
| 1721 | + // If Redis in-transit encryption is enabled, provide certificates |
|
| 1722 | + // SSL context https://www.php.net/manual/en/context.ssl.php |
|
| 1723 | + 'ssl_context' => [ |
|
| 1724 | + 'local_cert' => '/certs/redis.crt', |
|
| 1725 | + 'local_pk' => '/certs/redis.key', |
|
| 1726 | + 'cafile' => '/certs/ca.crt' |
|
| 1727 | + ] |
|
| 1728 | + ], |
|
| 1729 | + |
|
| 1730 | + /** |
|
| 1731 | + * Connection details for a Redis Cluster. |
|
| 1732 | + * |
|
| 1733 | + * Redis Cluster support requires the PHP module phpredis in version 3.0.0 or |
|
| 1734 | + * higher. |
|
| 1735 | + * |
|
| 1736 | + * Available failover modes: |
|
| 1737 | + * - ``\RedisCluster::FAILOVER_NONE`` - only send commands to master nodes (default) |
|
| 1738 | + * - ``\RedisCluster::FAILOVER_ERROR`` - failover to slaves for read commands if master is unavailable (recommended) |
|
| 1739 | + * - ``\RedisCluster::FAILOVER_DISTRIBUTE`` - randomly distribute read commands across master and slaves |
|
| 1740 | + * |
|
| 1741 | + * WARNING: ``\RedisCluster::FAILOVER_DISTRIBUTE`` is a not recommended setting, and we strongly |
|
| 1742 | + * suggest to not use it if you use Redis for file locking. Due to the way Redis |
|
| 1743 | + * is synchronized, it could happen that the read for an existing lock is |
|
| 1744 | + * scheduled to a slave that is not fully synchronized with the connected master |
|
| 1745 | + * which then causes a FileLocked exception. |
|
| 1746 | + * |
|
| 1747 | + * See https://redis.io/topics/cluster-spec for details about the Redis cluster |
|
| 1748 | + * |
|
| 1749 | + * Authentication works with phpredis version 4.2.1+. See |
|
| 1750 | + * https://github.com/phpredis/phpredis/commit/c5994f2a42b8a348af92d3acb4edff1328ad8ce1 |
|
| 1751 | + */ |
|
| 1752 | + 'redis.cluster' => [ |
|
| 1753 | + 'seeds' => [ // provide some or all of the cluster servers to bootstrap discovery, port required |
|
| 1754 | + 'localhost:7000', |
|
| 1755 | + 'localhost:7001', |
|
| 1756 | + ], |
|
| 1757 | + 'timeout' => 0.0, |
|
| 1758 | + 'read_timeout' => 0.0, |
|
| 1759 | + 'failover_mode' => \RedisCluster::FAILOVER_ERROR, |
|
| 1760 | + 'user' => '', // Optional: if not defined, no password will be used. |
|
| 1761 | + 'password' => '', // Optional: if not defined, no password will be used. |
|
| 1762 | + // If Redis in-transit encryption is enabled, provide certificates |
|
| 1763 | + // SSL context https://www.php.net/manual/en/context.ssl.php |
|
| 1764 | + 'ssl_context' => [ |
|
| 1765 | + 'local_cert' => '/certs/redis.crt', |
|
| 1766 | + 'local_pk' => '/certs/redis.key', |
|
| 1767 | + 'cafile' => '/certs/ca.crt' |
|
| 1768 | + ] |
|
| 1769 | + ], |
|
| 1770 | + |
|
| 1771 | + |
|
| 1772 | + /** |
|
| 1773 | + * Server details for one or more Memcached servers to use for memory caching. |
|
| 1774 | + */ |
|
| 1775 | + 'memcached_servers' => [ |
|
| 1776 | + // hostname, port and optional weight |
|
| 1777 | + // or path and port 0 for Unix socket. Also see: |
|
| 1778 | + // https://www.php.net/manual/en/memcached.addservers.php |
|
| 1779 | + // https://www.php.net/manual/en/memcached.addserver.php |
|
| 1780 | + ['localhost', 11211], |
|
| 1781 | + //array('other.host.local', 11211), |
|
| 1782 | + ], |
|
| 1783 | + |
|
| 1784 | + /** |
|
| 1785 | + * Connection options for Memcached |
|
| 1786 | + */ |
|
| 1787 | + 'memcached_options' => [ |
|
| 1788 | + // Set timeouts to 50ms |
|
| 1789 | + \Memcached::OPT_CONNECT_TIMEOUT => 50, |
|
| 1790 | + \Memcached::OPT_RETRY_TIMEOUT => 50, |
|
| 1791 | + \Memcached::OPT_SEND_TIMEOUT => 50, |
|
| 1792 | + \Memcached::OPT_RECV_TIMEOUT => 50, |
|
| 1793 | + \Memcached::OPT_POLL_TIMEOUT => 50, |
|
| 1794 | + |
|
| 1795 | + // Enable compression |
|
| 1796 | + \Memcached::OPT_COMPRESSION => true, |
|
| 1797 | + |
|
| 1798 | + // Turn on consistent hashing |
|
| 1799 | + \Memcached::OPT_LIBKETAMA_COMPATIBLE => true, |
|
| 1800 | + |
|
| 1801 | + // Enable Binary Protocol |
|
| 1802 | + \Memcached::OPT_BINARY_PROTOCOL => true, |
|
| 1803 | + |
|
| 1804 | + // Binary serializer will be enabled if the igbinary PECL module is available |
|
| 1805 | + //\Memcached::OPT_SERIALIZER => \Memcached::SERIALIZER_IGBINARY, |
|
| 1806 | + ], |
|
| 1807 | + |
|
| 1808 | + |
|
| 1809 | + /** |
|
| 1810 | + * Location of the cache folder, defaults to ``data/$user/cache`` where |
|
| 1811 | + * ``$user`` is the current user. When specified, the format will change to |
|
| 1812 | + * ``$cache_path/$user`` where ``$cache_path`` is the configured cache directory |
|
| 1813 | + * and ``$user`` is the user. |
|
| 1814 | + * |
|
| 1815 | + * Defaults to ``''`` (empty string) |
|
| 1816 | + */ |
|
| 1817 | + 'cache_path' => '', |
|
| 1818 | + |
|
| 1819 | + /** |
|
| 1820 | + * TTL of chunks located in the cache folder before they're removed by |
|
| 1821 | + * garbage collection (in seconds). Increase this value if users have |
|
| 1822 | + * issues uploading very large files via the Nextcloud Client as upload isn't |
|
| 1823 | + * completed within one day. |
|
| 1824 | + * |
|
| 1825 | + * Defaults to ``60*60*24`` (1 day) |
|
| 1826 | + */ |
|
| 1827 | + 'cache_chunk_gc_ttl' => 60 * 60 * 24, |
|
| 1828 | + |
|
| 1829 | + /** |
|
| 1830 | + * Enable caching of the app config values. |
|
| 1831 | + * If enabled the app config will be cached locally for a short TTL, |
|
| 1832 | + * reducing database load significantly on larger setups. |
|
| 1833 | + * |
|
| 1834 | + * Defaults to ``true`` |
|
| 1835 | + */ |
|
| 1836 | + 'cache_app_config' => true, |
|
| 1837 | + |
|
| 1838 | + /** |
|
| 1839 | + * Using Object Store with Nextcloud |
|
| 1840 | + */ |
|
| 1841 | + |
|
| 1842 | + /** |
|
| 1843 | + * This example shows how to configure Nextcloud to store all files in a |
|
| 1844 | + * Swift object storage. |
|
| 1845 | + * |
|
| 1846 | + * It is important to note that Nextcloud in object store mode will expect |
|
| 1847 | + * exclusive access to the object store container because it only stores the |
|
| 1848 | + * binary data for each file. The metadata is currently kept in the local |
|
| 1849 | + * database for performance reasons. |
|
| 1850 | + * |
|
| 1851 | + * WARNING: The current implementation is incompatible with any app that uses |
|
| 1852 | + * direct file I/O and circumvents our virtual filesystem. That includes |
|
| 1853 | + * Encryption and Gallery. Gallery will store thumbnails directly in the |
|
| 1854 | + * filesystem, and encryption will cause severe overhead because key files need |
|
| 1855 | + * to be fetched in addition to any requested file. |
|
| 1856 | + * |
|
| 1857 | + */ |
|
| 1858 | + 'objectstore' => [ |
|
| 1859 | + 'class' => 'OC\\Files\\ObjectStore\\Swift', |
|
| 1860 | + 'arguments' => [ |
|
| 1861 | + // trystack will use your Facebook ID as the username |
|
| 1862 | + 'username' => 'facebook100000123456789', |
|
| 1863 | + // in the trystack dashboard, go to user -> settings -> API Password to |
|
| 1864 | + // generate a password |
|
| 1865 | + 'password' => 'Secr3tPaSSWoRdt7', |
|
| 1866 | + // must already exist in the objectstore, name can be different |
|
| 1867 | + 'container' => 'nextcloud', |
|
| 1868 | + // prefix to prepend to the fileid, default is 'oid:urn:' |
|
| 1869 | + 'objectPrefix' => 'oid:urn:', |
|
| 1870 | + // create the container if it does not exist. default is false |
|
| 1871 | + 'autocreate' => true, |
|
| 1872 | + // required, dev-/trystack defaults to 'RegionOne' |
|
| 1873 | + 'region' => 'RegionOne', |
|
| 1874 | + // The Identity / Keystone endpoint |
|
| 1875 | + 'url' => 'http://8.21.28.222:5000/v2.0', |
|
| 1876 | + // uploadPartSize: size of the uploaded chunks, defaults to 524288000 |
|
| 1877 | + 'uploadPartSize' => 524288000, |
|
| 1878 | + // required on dev-/trystack |
|
| 1879 | + 'tenantName' => 'facebook100000123456789', |
|
| 1880 | + // dev-/trystack uses swift by default, the lib defaults to 'cloudFiles' |
|
| 1881 | + // if omitted |
|
| 1882 | + 'serviceName' => 'swift', |
|
| 1883 | + // The Interface / URL Type, optional |
|
| 1884 | + 'urlType' => 'internal', |
|
| 1885 | + // Maximum amount of data that can be uploaded |
|
| 1886 | + 'totalSizeLimit' => 1024 * 1024 * 1024, |
|
| 1887 | + ], |
|
| 1888 | + ], |
|
| 1889 | + |
|
| 1890 | + /** |
|
| 1891 | + * To use Swift V3 |
|
| 1892 | + */ |
|
| 1893 | + 'objectstore' => [ |
|
| 1894 | + 'class' => 'OC\\Files\\ObjectStore\\Swift', |
|
| 1895 | + 'arguments' => [ |
|
| 1896 | + 'autocreate' => true, |
|
| 1897 | + 'user' => [ |
|
| 1898 | + 'name' => 'swift', |
|
| 1899 | + 'password' => 'swift', |
|
| 1900 | + 'domain' => [ |
|
| 1901 | + 'name' => 'default', |
|
| 1902 | + ], |
|
| 1903 | + ], |
|
| 1904 | + 'scope' => [ |
|
| 1905 | + 'project' => [ |
|
| 1906 | + 'name' => 'service', |
|
| 1907 | + 'domain' => [ |
|
| 1908 | + 'name' => 'default', |
|
| 1909 | + ], |
|
| 1910 | + ], |
|
| 1911 | + ], |
|
| 1912 | + 'tenantName' => 'service', |
|
| 1913 | + 'serviceName' => 'swift', |
|
| 1914 | + 'region' => 'regionOne', |
|
| 1915 | + 'url' => 'http://yourswifthost:5000/v3', |
|
| 1916 | + 'bucket' => 'nextcloud', |
|
| 1917 | + ], |
|
| 1918 | + ], |
|
| 1919 | + |
|
| 1920 | + /** |
|
| 1921 | + * If this is set to true and a multibucket object store is configured, then |
|
| 1922 | + * newly created previews are put into 256 dedicated buckets. |
|
| 1923 | + * |
|
| 1924 | + * Those buckets are named like the multibucket version but with the postfix |
|
| 1925 | + * ``-preview-NUMBER`` where NUMBER is between 0 and 255. |
|
| 1926 | + * |
|
| 1927 | + * Keep in mind that only previews of files are put in there that don't have |
|
| 1928 | + * some already. Otherwise, the old bucket will be used. |
|
| 1929 | + * |
|
| 1930 | + * To migrate existing previews to this new multibucket distribution of previews, |
|
| 1931 | + * use the occ command ``preview:repair``. For now, this will only migrate |
|
| 1932 | + * previews that were generated before Nextcloud 19 in the flat |
|
| 1933 | + * ``appdata_INSTANCEID/previews/FILEID`` folder structure. |
|
| 1934 | + */ |
|
| 1935 | + 'objectstore.multibucket.preview-distribution' => false, |
|
| 1936 | + |
|
| 1937 | + |
|
| 1938 | + /** |
|
| 1939 | + * Sharing |
|
| 1940 | + * |
|
| 1941 | + * Global settings for Sharing |
|
| 1942 | + */ |
|
| 1943 | + |
|
| 1944 | + /** |
|
| 1945 | + * Replaces the default Share Provider Factory. This can be utilized if |
|
| 1946 | + * own or 3rd-party Share Providers are used that – for instance – use the |
|
| 1947 | + * filesystem instead of the database to keep the share information. |
|
| 1948 | + * |
|
| 1949 | + * Defaults to ``\OC\Share20\ProviderFactory`` |
|
| 1950 | + */ |
|
| 1951 | + 'sharing.managerFactory' => '\OC\Share20\ProviderFactory', |
|
| 1952 | + |
|
| 1953 | + /** |
|
| 1954 | + * Enables expiration for link share passwords sent by email (sharebymail). |
|
| 1955 | + * The passwords will expire after the configured interval; the users can |
|
| 1956 | + * still request a new one on the public link page. |
|
| 1957 | + */ |
|
| 1958 | + 'sharing.enable_mail_link_password_expiration' => false, |
|
| 1959 | + |
|
| 1960 | + /** |
|
| 1961 | + * Expiration interval for passwords, in seconds. |
|
| 1962 | + */ |
|
| 1963 | + 'sharing.mail_link_password_expiration_interval' => 3600, |
|
| 1964 | + |
|
| 1965 | + /** |
|
| 1966 | + * Define max number of results returned by the search for auto-completion of |
|
| 1967 | + * users, groups, etc. The value must not be lower than 0 (for unlimited). |
|
| 1968 | + * |
|
| 1969 | + * If more, different sources are requested (e.g., different user backends; or |
|
| 1970 | + * both users and groups), the value is applied per source and might not be |
|
| 1971 | + * truncated after collecting the results. I.e., more results can appear than |
|
| 1972 | + * configured here. |
|
| 1973 | + * |
|
| 1974 | + * Default is 25. |
|
| 1975 | + */ |
|
| 1976 | + 'sharing.maxAutocompleteResults' => 25, |
|
| 1977 | + |
|
| 1978 | + /** |
|
| 1979 | + * Define the minimum length of the search string before we start auto-completion |
|
| 1980 | + * Default is no limit (value set to 0) |
|
| 1981 | + */ |
|
| 1982 | + 'sharing.minSearchStringLength' => 0, |
|
| 1983 | + |
|
| 1984 | + /** |
|
| 1985 | + * Set to true to enable that internal shares need to be accepted by the users by default. |
|
| 1986 | + * Users can change this for their account in their personal sharing settings |
|
| 1987 | + */ |
|
| 1988 | + 'sharing.enable_share_accept' => false, |
|
| 1989 | + |
|
| 1990 | + /** |
|
| 1991 | + * Set to ``true`` to enforce that internal shares need to be accepted |
|
| 1992 | + */ |
|
| 1993 | + 'sharing.force_share_accept' => false, |
|
| 1994 | + |
|
| 1995 | + /** |
|
| 1996 | + * Set to ``false`` to prevent users from setting a custom share_folder |
|
| 1997 | + */ |
|
| 1998 | + 'sharing.allow_custom_share_folder' => true, |
|
| 1999 | + |
|
| 2000 | + /** |
|
| 2001 | + * Define a default folder for shared files and folders other than root. |
|
| 2002 | + * Changes to this value will only have effect on new shares. |
|
| 2003 | + * |
|
| 2004 | + * Defaults to ``/`` |
|
| 2005 | + */ |
|
| 2006 | + 'share_folder' => '/', |
|
| 2007 | + |
|
| 2008 | + /** |
|
| 2009 | + * Set to ``false`` to stop sending a mail when users receive a share |
|
| 2010 | + */ |
|
| 2011 | + 'sharing.enable_share_mail' => true, |
|
| 2012 | + |
|
| 2013 | + /** |
|
| 2014 | + * Set to true to enable the feature to add exceptions for share password enforcement |
|
| 2015 | + */ |
|
| 2016 | + 'sharing.allow_disabled_password_enforcement_groups' => false, |
|
| 2017 | + |
|
| 2018 | + /** |
|
| 2019 | + * Set to true to always transfer incoming shares by default |
|
| 2020 | + * when running ``occ files:transfer-ownership``. |
|
| 2021 | + * Defaults to ``false``, so incoming shares are not transferred if not specifically requested |
|
| 2022 | + * by a command line argument. |
|
| 2023 | + */ |
|
| 2024 | + 'transferIncomingShares' => false, |
|
| 2025 | + |
|
| 2026 | + /** |
|
| 2027 | + * Federated Cloud Sharing |
|
| 2028 | + */ |
|
| 2029 | + |
|
| 2030 | + /** |
|
| 2031 | + * Allow self-signed certificates for federated shares |
|
| 2032 | + */ |
|
| 2033 | + 'sharing.federation.allowSelfSignedCertificates' => false, |
|
| 2034 | + |
|
| 2035 | + /** |
|
| 2036 | + * Hashing |
|
| 2037 | + */ |
|
| 2038 | + |
|
| 2039 | + /** |
|
| 2040 | + * By default, Nextcloud will use the Argon2 password hashing if available. |
|
| 2041 | + * However, if for whatever reason you want to stick with the PASSWORD_DEFAULT |
|
| 2042 | + * of your PHP version, then set the setting to true. |
|
| 2043 | + * |
|
| 2044 | + * Nextcloud uses the Argon2 algorithm (with PHP >= 7.2) to create hashes by its |
|
| 2045 | + * own and exposes its configuration options as following. More information can |
|
| 2046 | + * be found at: https://www.php.net/manual/en/function.password-hash.php |
|
| 2047 | + */ |
|
| 2048 | + 'hashing_default_password' => false, |
|
| 2049 | + |
|
| 2050 | + /** |
|
| 2051 | + * The number of CPU threads to be used by the algorithm for computing a hash. |
|
| 2052 | + * The value must be an integer, and the minimum value is ``1``. Rationally, it does |
|
| 2053 | + * not help to provide a number higher than the available threads on the machine. |
|
| 2054 | + * Values that undershoot the minimum will be ignored in favor of the minimum. |
|
| 2055 | + */ |
|
| 2056 | + 'hashingThreads' => PASSWORD_ARGON2_DEFAULT_THREADS, |
|
| 2057 | + |
|
| 2058 | + /** |
|
| 2059 | + * The memory in KiB to be used by the algorithm for computing a hash. The value |
|
| 2060 | + * must be an integer, and the minimum value is 8 times the number of CPU threads. |
|
| 2061 | + * Values that undershoot the minimum will be ignored in favor of the minimum. |
|
| 2062 | + */ |
|
| 2063 | + 'hashingMemoryCost' => PASSWORD_ARGON2_DEFAULT_MEMORY_COST, |
|
| 2064 | + |
|
| 2065 | + /** |
|
| 2066 | + * The number of iterations that are used by the algorithm for computing a hash. |
|
| 2067 | + * The value must be an integer, and the minimum value is ``1``. Values that |
|
| 2068 | + * undershoot the minimum will be ignored in favor of the minimum. |
|
| 2069 | + */ |
|
| 2070 | + 'hashingTimeCost' => PASSWORD_ARGON2_DEFAULT_TIME_COST, |
|
| 2071 | + |
|
| 2072 | + /** |
|
| 2073 | + * The hashing cost used by hashes generated by Nextcloud |
|
| 2074 | + * Using a higher value requires more time and CPU power to calculate the hashes |
|
| 2075 | + */ |
|
| 2076 | + 'hashingCost' => 10, |
|
| 2077 | + |
|
| 2078 | + /** |
|
| 2079 | + * All other configuration options |
|
| 2080 | + */ |
|
| 2081 | + |
|
| 2082 | + /** |
|
| 2083 | + * Additional driver options for the database connection, e.g., to enable SSL |
|
| 2084 | + * encryption in MySQL or specify a custom wait timeout on a cheap hoster. |
|
| 2085 | + * |
|
| 2086 | + * When setting up TLS/SSL for encrypting the connections, you need to ensure that |
|
| 2087 | + * the passed keys and certificates are readable by the PHP process. In addition, |
|
| 2088 | + * ``PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT`` might need to be set to false, if the |
|
| 2089 | + * database server's certificate CN does not match with the hostname used to connect. |
|
| 2090 | + * The standard behavior here is different from the MySQL/MariaDB CLI client, which |
|
| 2091 | + * does not verify the server cert except ``--ssl-verify-server-cert`` is passed manually. |
|
| 2092 | + */ |
|
| 2093 | + 'dbdriveroptions' => [ |
|
| 2094 | + PDO::MYSQL_ATTR_SSL_CA => '/file/path/to/ca_cert.pem', |
|
| 2095 | + PDO::MYSQL_ATTR_SSL_KEY => '/file/path/to/mysql-client-key.pem', |
|
| 2096 | + PDO::MYSQL_ATTR_SSL_CERT => '/file/path/to/mysql-client-cert.pem', |
|
| 2097 | + PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT => false, |
|
| 2098 | + PDO::MYSQL_ATTR_INIT_COMMAND => 'SET wait_timeout = 28800' |
|
| 2099 | + ], |
|
| 2100 | + |
|
| 2101 | + /** |
|
| 2102 | + * SQLite3 journal mode can be specified using this configuration parameter - |
|
| 2103 | + * can be ``'WAL'`` or ``'DELETE'``. See https://www.sqlite.org/wal.html for more details. |
|
| 2104 | + */ |
|
| 2105 | + 'sqlite.journal_mode' => 'DELETE', |
|
| 2106 | + |
|
| 2107 | + /** |
|
| 2108 | + * During setup, if requirements are met (see below), this setting is set to true |
|
| 2109 | + * to enable MySQL to handle 4-byte characters instead of 3-byte characters. |
|
| 2110 | + * |
|
| 2111 | + * To convert an existing 3-byte setup to a 4-byte setup, configure the MySQL |
|
| 2112 | + * parameters as described below and run the migration command: |
|
| 2113 | + * ``./occ db:convert-mysql-charset`` |
|
| 2114 | + * This config setting will be automatically updated after a successful migration. |
|
| 2115 | + * |
|
| 2116 | + * Refer to the documentation for more details. |
|
| 2117 | + * |
|
| 2118 | + * MySQL requires specific settings for longer indexes (> 767 bytes), which are |
|
| 2119 | + * necessary for 4-byte character support:: |
|
| 2120 | + * |
|
| 2121 | + * [mysqld] |
|
| 2122 | + * innodb_large_prefix=ON |
|
| 2123 | + * innodb_file_format=Barracuda |
|
| 2124 | + * innodb_file_per_table=ON |
|
| 2125 | + * |
|
| 2126 | + * Tables will be created with: |
|
| 2127 | + * * character set: ``utf8mb4`` |
|
| 2128 | + * * collation: ``utf8mb4_bin`` |
|
| 2129 | + * * row_format: ``dynamic`` |
|
| 2130 | + * |
|
| 2131 | + * See: |
|
| 2132 | + * * https://dev.mysql.com/doc/refman/5.7/en/charset-unicode-utf8mb4.html |
|
| 2133 | + * * https://dev.mysql.com/doc/refman/5.7/en/innodb-parameters.html#sysvar_innodb_large_prefix |
|
| 2134 | + * * https://mariadb.com/kb/en/mariadb/xtradbinnodb-server-system-variables/#innodb_large_prefix |
|
| 2135 | + * * http://www.tocker.ca/2013/10/31/benchmarking-innodb-page-compression-performance.html |
|
| 2136 | + * * http://mechanics.flite.com/blog/2014/07/29/using-innodb-large-prefix-to-avoid-error-1071/ |
|
| 2137 | + */ |
|
| 2138 | + 'mysql.utf8mb4' => false, |
|
| 2139 | + |
|
| 2140 | + /** |
|
| 2141 | + * For search queries in the database, a default collation is chosen based on the |
|
| 2142 | + * character set. In some cases, a different collation is desired, such as for |
|
| 2143 | + * accent-sensitive searches. |
|
| 2144 | + * |
|
| 2145 | + * MariaDB and MySQL share some collations, but also have incompatible ones, |
|
| 2146 | + * depending on the database server version. |
|
| 2147 | + * |
|
| 2148 | + * This option allows overriding the automatic collation choice. Example:: |
|
| 2149 | + * |
|
| 2150 | + * 'mysql.collation' => 'utf8mb4_0900_as_ci', |
|
| 2151 | + * |
|
| 2152 | + * This setting does not affect table creation or setup, where utf8[mb4]_bin is |
|
| 2153 | + * always used. It applies only to SQL queries using LIKE comparison operators. |
|
| 2154 | + */ |
|
| 2155 | + 'mysql.collation' => null, |
|
| 2156 | + |
|
| 2157 | + /** |
|
| 2158 | + * PostgreSQL SSL connection |
|
| 2159 | + */ |
|
| 2160 | + 'pgsql_ssl' => [ |
|
| 2161 | + 'mode' => '', |
|
| 2162 | + 'cert' => '', |
|
| 2163 | + 'rootcert' => '', |
|
| 2164 | + 'key' => '', |
|
| 2165 | + 'crl' => '', |
|
| 2166 | + ], |
|
| 2167 | + |
|
| 2168 | + /** |
|
| 2169 | + * Database types supported for installation. |
|
| 2170 | + * |
|
| 2171 | + * Available: |
|
| 2172 | + * - sqlite (SQLite3) |
|
| 2173 | + * - mysql (MySQL) |
|
| 2174 | + * - pgsql (PostgreSQL) |
|
| 2175 | + * - oci (Oracle) |
|
| 2176 | + * |
|
| 2177 | + * Defaults to: |
|
| 2178 | + * - sqlite (SQLite3) |
|
| 2179 | + * - mysql (MySQL) |
|
| 2180 | + * - pgsql (PostgreSQL) |
|
| 2181 | + */ |
|
| 2182 | + 'supportedDatabases' => [ |
|
| 2183 | + 'sqlite', |
|
| 2184 | + 'mysql', |
|
| 2185 | + 'pgsql', |
|
| 2186 | + 'oci', |
|
| 2187 | + ], |
|
| 2188 | + |
|
| 2189 | + /** |
|
| 2190 | + * Override the location where Nextcloud stores temporary files. Useful in setups |
|
| 2191 | + * where the system temporary directory is on a limited-space ramdisk, restricted, |
|
| 2192 | + * or when using external storage that does not support streaming. |
|
| 2193 | + * |
|
| 2194 | + * The web server user/PHP must have write access to this directory. Ensure that |
|
| 2195 | + * PHP configuration recognizes this as a valid temporary directory by setting |
|
| 2196 | + * the TMP, TMPDIR, and TEMP environment variables accordingly. Additional |
|
| 2197 | + * permissions may be required for AppArmor or SELinux. |
|
| 2198 | + */ |
|
| 2199 | + 'tempdirectory' => '/tmp/nextcloudtemp', |
|
| 2200 | + |
|
| 2201 | + /** |
|
| 2202 | + * Override the location where Nextcloud stores update files during updates. |
|
| 2203 | + * Useful when the default ``datadirectory`` is on a network disk like NFS or is |
|
| 2204 | + * otherwise restricted. Defaults to the value of ``datadirectory`` if unset. |
|
| 2205 | + * |
|
| 2206 | + * If set, the directory must be located outside the Nextcloud installation |
|
| 2207 | + * directory and writable by the web server user. |
|
| 2208 | + */ |
|
| 2209 | + 'updatedirectory' => '', |
|
| 2210 | + |
|
| 2211 | + /** |
|
| 2212 | + * Block specific files or filenames, disallowing uploads or access (read and write). |
|
| 2213 | + * ``.htaccess`` is blocked by default. |
|
| 2214 | + * |
|
| 2215 | + * WARNING: Use this only if you understand the implications. |
|
| 2216 | + * |
|
| 2217 | + * NOTE: This list is case-insensitive. |
|
| 2218 | + * |
|
| 2219 | + * Defaults to ``['.htaccess']`` |
|
| 2220 | + */ |
|
| 2221 | + 'forbidden_filenames' => ['.htaccess'], |
|
| 2222 | + |
|
| 2223 | + /** |
|
| 2224 | + * Disallow uploads of files with specific basenames. Matching existing files |
|
| 2225 | + * cannot be updated, and no new files can be created in matching folders. |
|
| 2226 | + * |
|
| 2227 | + * The basename is the filename without the extension, e.g., for "archive.tar.gz", |
|
| 2228 | + * the basename is "archive". |
|
| 2229 | + * |
|
| 2230 | + * NOTE: This list is case-insensitive. |
|
| 2231 | + * |
|
| 2232 | + * Defaults to ``[]`` (empty array) |
|
| 2233 | + */ |
|
| 2234 | + 'forbidden_filename_basenames' => [], |
|
| 2235 | + |
|
| 2236 | + /** |
|
| 2237 | + * Block specific characters in filenames. Useful for filesystems or operating |
|
| 2238 | + * systems (e.g., Windows) that do not support certain characters. Matching |
|
| 2239 | + * existing files cannot be updated, and no new files can be created in matching |
|
| 2240 | + * folders. |
|
| 2241 | + * |
|
| 2242 | + * The ``/`` and ``\`` characters, as well as ASCII characters [0-31], are always |
|
| 2243 | + * forbidden. |
|
| 2244 | + * |
|
| 2245 | + * Example for Windows: ``['?', '<', '>', ':', '*', '|', '"']`` |
|
| 2246 | + * See: https://en.wikipedia.org/wiki/Comparison_of_file_systems#Limits |
|
| 2247 | + * |
|
| 2248 | + * Defaults to ``[]`` (empty array) |
|
| 2249 | + */ |
|
| 2250 | + 'forbidden_filename_characters' => [], |
|
| 2251 | + |
|
| 2252 | + /** |
|
| 2253 | + * Deny specific file extensions. Matching existing files cannot be updated, and |
|
| 2254 | + * no new files can be created in matching folders. |
|
| 2255 | + * |
|
| 2256 | + * The ``'.part'`` extension is always forbidden, as it is used internally by Nextcloud. |
|
| 2257 | + * |
|
| 2258 | + * Defaults to ``['.filepart', '.part']`` |
|
| 2259 | + */ |
|
| 2260 | + 'forbidden_filename_extensions' => ['.part', '.filepart'], |
|
| 2261 | + |
|
| 2262 | + /** |
|
| 2263 | + * Specify the name of a theme to apply to Nextcloud. Themes are located in |
|
| 2264 | + * ``nextcloud/themes/`` by default. |
|
| 2265 | + * |
|
| 2266 | + * Defaults to the theming app, included since Nextcloud 9. |
|
| 2267 | + */ |
|
| 2268 | + 'theme' => '', |
|
| 2269 | + |
|
| 2270 | + /** |
|
| 2271 | + * Enforce a specific user theme, disabling user theming settings. Must be a |
|
| 2272 | + * valid ITheme ID, e.g., ``dark``, ``dark-highcontrast``, ``default``, ``light``, |
|
| 2273 | + * ``light-highcontrast``, ``opendyslexic``. |
|
| 2274 | + */ |
|
| 2275 | + 'enforce_theme' => '', |
|
| 2276 | + |
|
| 2277 | + /** |
|
| 2278 | + * Enable or disable Progressive Web App (PWA) functionality, which allows |
|
| 2279 | + * browsers to open web applications in dedicated windows. |
|
| 2280 | + * |
|
| 2281 | + * Defaults to ``true`` |
|
| 2282 | + */ |
|
| 2283 | + 'theming.standalone_window.enabled' => true, |
|
| 2284 | + |
|
| 2285 | + /** |
|
| 2286 | + * Specify the default cipher for encrypting files. Supported ciphers: |
|
| 2287 | + * - AES-256-CTR |
|
| 2288 | + * - AES-128-CTR |
|
| 2289 | + * - AES-256-CFB |
|
| 2290 | + * - AES-128-CFB |
|
| 2291 | + * |
|
| 2292 | + * Defaults to ``AES-256-CTR`` |
|
| 2293 | + */ |
|
| 2294 | + 'cipher' => 'AES-256-CTR', |
|
| 2295 | + |
|
| 2296 | + /** |
|
| 2297 | + * Use the legacy base64 format for encrypted files instead of the more |
|
| 2298 | + * space-efficient binary format. This affects only newly written files; existing |
|
| 2299 | + * encrypted files remain readable regardless of the format. |
|
| 2300 | + * |
|
| 2301 | + * Defaults to ``false`` |
|
| 2302 | + */ |
|
| 2303 | + 'encryption.use_legacy_base64_encoding' => false, |
|
| 2304 | + |
|
| 2305 | + /** |
|
| 2306 | + * Specify the minimum Nextcloud desktop client version allowed to sync with this |
|
| 2307 | + * server. Connections from earlier clients will be denied. Defaults to the |
|
| 2308 | + * minimum officially supported version at the time of this server release. |
|
| 2309 | + * |
|
| 2310 | + * Changing this may cause older, unsupported clients to malfunction, potentially |
|
| 2311 | + * leading to data loss or unexpected behavior. |
|
| 2312 | + * |
|
| 2313 | + * Defaults to ``3.1.0`` |
|
| 2314 | + */ |
|
| 2315 | + 'minimum.supported.desktop.version' => '3.1.0', |
|
| 2316 | + |
|
| 2317 | + /** |
|
| 2318 | + * Specify the maximum Nextcloud desktop client version allowed to sync with this |
|
| 2319 | + * server. Connections from later clients will be denied. |
|
| 2320 | + * |
|
| 2321 | + * Defaults to ``99.99.99`` |
|
| 2322 | + */ |
|
| 2323 | + 'maximum.supported.desktop.version' => '99.99.99', |
|
| 2324 | + |
|
| 2325 | + /** |
|
| 2326 | + * Allow local storage to contain symlinks. |
|
| 2327 | + * WARNING: Not recommended, as this allows Nextcloud to access files outside the |
|
| 2328 | + * data directory, posing a potential security risk. |
|
| 2329 | + * |
|
| 2330 | + * Defaults to ``false`` |
|
| 2331 | + */ |
|
| 2332 | + 'localstorage.allowsymlinks' => false, |
|
| 2333 | + |
|
| 2334 | + /** |
|
| 2335 | + * Nextcloud overrides umask to ensure suitable access permissions regardless of |
|
| 2336 | + * web server or PHP-FPM configuration. Modifying this value has security |
|
| 2337 | + * implications and may cause issues with the installation. |
|
| 2338 | + * |
|
| 2339 | + * Most installations should not modify this value. |
|
| 2340 | + * |
|
| 2341 | + * Defaults to ``0022`` |
|
| 2342 | + */ |
|
| 2343 | + 'localstorage.umask' => 0022, |
|
| 2344 | + |
|
| 2345 | + /** |
|
| 2346 | + * Allow storage systems that do not support modifying existing files to overcome |
|
| 2347 | + * this limitation by removing files before overwriting. |
|
| 2348 | + * |
|
| 2349 | + * Defaults to ``false`` |
|
| 2350 | + */ |
|
| 2351 | + 'localstorage.unlink_on_truncate' => false, |
|
| 2352 | + |
|
| 2353 | + /** |
|
| 2354 | + * EXPERIMENTAL: Include external storage in quota calculations. |
|
| 2355 | + * |
|
| 2356 | + * Defaults to ``false`` |
|
| 2357 | + */ |
|
| 2358 | + 'quota_include_external_storage' => false, |
|
| 2359 | + |
|
| 2360 | + /** |
|
| 2361 | + * When an external storage is unavailable (e.g., due to failed authentication), |
|
| 2362 | + * it is flagged as such for a specified duration. For authentication failures, |
|
| 2363 | + * this delay can be customized to reduce the likelihood of account lockouts in |
|
| 2364 | + * systems like Active Directory. |
|
| 2365 | + * |
|
| 2366 | + * Defaults to ``1800`` seconds (30 minutes) |
|
| 2367 | + */ |
|
| 2368 | + 'external_storage.auth_availability_delay' => 1800, |
|
| 2369 | + |
|
| 2370 | + /** |
|
| 2371 | + * Allow creation of external storages of type "Local" via the web interface and |
|
| 2372 | + * APIs. When disabled, local storages can still be created using the occ command:: |
|
| 2373 | + * occ files_external:create /mountpoint local null::null -c datadir=/path/to/data |
|
| 2374 | + * |
|
| 2375 | + * Defaults to ``true`` |
|
| 2376 | + */ |
|
| 2377 | + 'files_external_allow_create_new_local' => true, |
|
| 2378 | + |
|
| 2379 | + /** |
|
| 2380 | + * Specify how often the local filesystem (Nextcloud data/ directory and NFS |
|
| 2381 | + * mounts in data/) is checked for changes made outside Nextcloud. This does not |
|
| 2382 | + * apply to external storage. |
|
| 2383 | + * |
|
| 2384 | + * - ``0`` -> Never check the filesystem for outside changes, improving performance when no external changes are expected. |
|
| 2385 | + * - ``1`` -> Check each file or folder at most once per request, recommended for general use if outside changes are possible. |
|
| 2386 | + * |
|
| 2387 | + * Defaults to ``0`` |
|
| 2388 | + */ |
|
| 2389 | + 'filesystem_check_changes' => 0, |
|
| 2390 | + |
|
| 2391 | + /** |
|
| 2392 | + * Store part files created during upload in the same storage as the upload |
|
| 2393 | + * target. Setting this to false stores part files in the root of the user's |
|
| 2394 | + * folder, which may be necessary for external storage with limited rename |
|
| 2395 | + * capabilities. |
|
| 2396 | + * |
|
| 2397 | + * Defaults to ``true`` |
|
| 2398 | + */ |
|
| 2399 | + 'part_file_in_storage' => true, |
|
| 2400 | + |
|
| 2401 | + /** |
|
| 2402 | + * Specify the location of the ``mount.json`` file. |
|
| 2403 | + * |
|
| 2404 | + * Defaults to ``data/mount.json`` in the Nextcloud directory. |
|
| 2405 | + */ |
|
| 2406 | + 'mount_file' => '/var/www/nextcloud/data/mount.json', |
|
| 2407 | + |
|
| 2408 | + /** |
|
| 2409 | + * Prevent Nextcloud from updating the cache due to filesystem changes for all |
|
| 2410 | + * storage. |
|
| 2411 | + * |
|
| 2412 | + * Defaults to ``false`` |
|
| 2413 | + */ |
|
| 2414 | + 'filesystem_cache_readonly' => false, |
|
| 2415 | + |
|
| 2416 | + /** |
|
| 2417 | + * List of trusted proxy servers. Supported formats: |
|
| 2418 | + * |
|
| 2419 | + * - IPv4 addresses, e.g., ``192.168.2.123`` |
|
| 2420 | + * - IPv4 ranges in CIDR notation, e.g., ``192.168.2.0/24`` |
|
| 2421 | + * - IPv6 addresses, e.g., ``fd9e:21a7:a92c:2323::1`` |
|
| 2422 | + * - IPv6 ranges in CIDR notation, e.g., ``2001:db8:85a3:8d3:1319:8a20::/95`` |
|
| 2423 | + * |
|
| 2424 | + * If a request's ``REMOTE_ADDR`` matches an address here, it is treated as a proxy, |
|
| 2425 | + * and the client IP is read from the HTTP header specified in |
|
| 2426 | + * ``forwarded_for_headers`` instead of ``REMOTE_ADDR``. |
|
| 2427 | + * |
|
| 2428 | + * Ensure ``forwarded_for_headers`` is configured if ``trusted_proxies`` is set. |
|
| 2429 | + * |
|
| 2430 | + * Defaults to ``[]`` (empty array) |
|
| 2431 | + */ |
|
| 2432 | + 'trusted_proxies' => ['203.0.113.45', '198.51.100.128', '192.168.2.0/24'], |
|
| 2433 | + |
|
| 2434 | + /** |
|
| 2435 | + * Headers trusted as containing the client IP address when used with |
|
| 2436 | + * ``trusted_proxies``. For example, use ``HTTP_X_FORWARDED_FOR`` for the |
|
| 2437 | + * ``X-Forwarded-For`` header. |
|
| 2438 | + * |
|
| 2439 | + * Incorrect configuration allows clients to spoof their IP address, bypassing |
|
| 2440 | + * access controls and rendering logs unreliable. |
|
| 2441 | + * |
|
| 2442 | + * Defaults to ``['HTTP_X_FORWARDED_FOR']`` |
|
| 2443 | + */ |
|
| 2444 | + 'forwarded_for_headers' => ['HTTP_X_FORWARDED', 'HTTP_FORWARDED_FOR'], |
|
| 2445 | + |
|
| 2446 | + /** |
|
| 2447 | + * List of trusted IP ranges for admin actions. If non-empty, all admin actions |
|
| 2448 | + * must originate from IPs within these ranges. |
|
| 2449 | + * |
|
| 2450 | + * Supported formats: |
|
| 2451 | + * - IPv4 addresses or ranges, e.g., ``192.0.2.42/32``, ``233.252.0.0/24`` |
|
| 2452 | + * - IPv6 addresses or ranges, e.g., ``2001:db8::13:37/64`` |
|
| 2453 | + * |
|
| 2454 | + * Defaults to ``[]`` (empty array) |
|
| 2455 | + */ |
|
| 2456 | + 'allowed_admin_ranges' => ['192.0.2.42/32', '233.252.0.0/24', '2001:db8::13:37/64'], |
|
| 2457 | + |
|
| 2458 | + /** |
|
| 2459 | + * Maximum file size (in megabytes) for animating GIFs on public sharing pages. |
|
| 2460 | + * If a GIF exceeds this size, a static preview is shown. |
|
| 2461 | + * |
|
| 2462 | + * Set to ``-1`` for no limit. |
|
| 2463 | + * |
|
| 2464 | + * Defaults to ``10`` megabytes |
|
| 2465 | + */ |
|
| 2466 | + 'max_filesize_animated_gifs_public_sharing' => 10, |
|
| 2467 | + |
|
| 2468 | + /** |
|
| 2469 | + * Set the lock's time-to-live (TTL) in seconds. Locks older than this are |
|
| 2470 | + * automatically cleaned up. |
|
| 2471 | + * |
|
| 2472 | + * Defaults to ``3600`` seconds (1 hour) or the PHP ``max_execution_time``, |
|
| 2473 | + * whichever is higher. |
|
| 2474 | + */ |
|
| 2475 | + 'filelocking.ttl' => 60 * 60, |
|
| 2476 | + |
|
| 2477 | + /** |
|
| 2478 | + * Memory caching backend for file locking. Redis is highly recommended to avoid |
|
| 2479 | + * data loss, as many memcache backends may evict values unexpectedly. |
|
| 2480 | + * |
|
| 2481 | + * Defaults to ``none`` |
|
| 2482 | + */ |
|
| 2483 | + 'memcache.locking' => '\\OC\\Memcache\\Redis', |
|
| 2484 | + |
|
| 2485 | + /** |
|
| 2486 | + * Enable debug logging for file locking. This can generate a large volume of log |
|
| 2487 | + * entries, potentially causing performance degradation and large log files on |
|
| 2488 | + * busy instances. |
|
| 2489 | + * |
|
| 2490 | + * Use with ``log.condition`` to limit logging in production environments. |
|
| 2491 | + * |
|
| 2492 | + * Defaults to ``false`` |
|
| 2493 | + */ |
|
| 2494 | + 'filelocking.debug' => false, |
|
| 2495 | + |
|
| 2496 | + /** |
|
| 2497 | + * Disable the web-based updater. |
|
| 2498 | + * |
|
| 2499 | + * Defaults to ``false`` |
|
| 2500 | + */ |
|
| 2501 | + 'upgrade.disable-web' => false, |
|
| 2502 | + |
|
| 2503 | + /** |
|
| 2504 | + * Customize the CLI upgrade documentation link. |
|
| 2505 | + */ |
|
| 2506 | + 'upgrade.cli-upgrade-link' => '', |
|
| 2507 | + |
|
| 2508 | + /** |
|
| 2509 | + * Additional line(s) (string or array of strings) |
|
| 2510 | + * that will be added to .user.ini on each update by the updater. |
|
| 2511 | + * |
|
| 2512 | + * Defaults to ``''`` (empty string) |
|
| 2513 | + */ |
|
| 2514 | + 'user_ini_additional_lines' => '', |
|
| 2515 | + |
|
| 2516 | + /** |
|
| 2517 | + * Customize the server logs documentation link for exception handling. |
|
| 2518 | + */ |
|
| 2519 | + 'documentation_url.server_logs' => '', |
|
| 2520 | + |
|
| 2521 | + /** |
|
| 2522 | + * Enable debugging mode for Nextcloud. Only use for local development, not in |
|
| 2523 | + * production, as it disables minification and outputs additional debug |
|
| 2524 | + * information. |
|
| 2525 | + * |
|
| 2526 | + * Defaults to ``false`` |
|
| 2527 | + */ |
|
| 2528 | + 'debug' => false, |
|
| 2529 | + |
|
| 2530 | + /** |
|
| 2531 | + * Set the data fingerprint for the current data served. Used by clients to |
|
| 2532 | + * detect if a backup has been restored. Update this by running:: |
|
| 2533 | + * occ maintenance:data-fingerprint |
|
| 2534 | + * |
|
| 2535 | + * Changing or deleting this value may cause connected clients to stall until |
|
| 2536 | + * conflicts are resolved. |
|
| 2537 | + * |
|
| 2538 | + * Defaults to ``''`` (empty string) |
|
| 2539 | + */ |
|
| 2540 | + 'data-fingerprint' => '', |
|
| 2541 | + |
|
| 2542 | + /** |
|
| 2543 | + * This entry serves as a warning if the sample configuration was copied. |
|
| 2544 | + * DO NOT ADD THIS TO YOUR CONFIGURATION! |
|
| 2545 | + * |
|
| 2546 | + * Ensure all settings are modified only after consulting the documentation. |
|
| 2547 | + */ |
|
| 2548 | + 'copied_sample_config' => true, |
|
| 2549 | + |
|
| 2550 | + /** |
|
| 2551 | + * Use a custom lookup server to publish user data. |
|
| 2552 | + * |
|
| 2553 | + * Defaults to ``https://lookup.nextcloud.com`` |
|
| 2554 | + */ |
|
| 2555 | + 'lookup_server' => 'https://lookup.nextcloud.com', |
|
| 2556 | + |
|
| 2557 | + /** |
|
| 2558 | + * Enable Nextcloud's Global Scale architecture. |
|
| 2559 | + * |
|
| 2560 | + * Defaults to ``false`` |
|
| 2561 | + */ |
|
| 2562 | + 'gs.enabled' => false, |
|
| 2563 | + |
|
| 2564 | + /** |
|
| 2565 | + * Configure federation for Global Scale setups. Set to ``global`` to allow |
|
| 2566 | + * federation outside the environment. |
|
| 2567 | + * |
|
| 2568 | + * Defaults to ``internal`` |
|
| 2569 | + */ |
|
| 2570 | + 'gs.federation' => 'internal', |
|
| 2571 | + |
|
| 2572 | + /** |
|
| 2573 | + * List of user agents exempt from SameSite cookie protection due to non-standard |
|
| 2574 | + * HTTP behavior. |
|
| 2575 | + * |
|
| 2576 | + * WARNING: Use only if you understand the implications. |
|
| 2577 | + * |
|
| 2578 | + * Defaults to: |
|
| 2579 | + * |
|
| 2580 | + * - ``/^WebDAVFS/`` (OS X Finder) |
|
| 2581 | + * - ``/^Microsoft-WebDAV-MiniRedir/`` (Windows WebDAV drive) |
|
| 2582 | + */ |
|
| 2583 | + 'csrf.optout' => [ |
|
| 2584 | + '/^WebDAVFS/', // OS X Finder |
|
| 2585 | + '/^Microsoft-WebDAV-MiniRedir/', // Windows WebDAV drive |
|
| 2586 | + ], |
|
| 2587 | + |
|
| 2588 | + /** |
|
| 2589 | + * Specify allowed user agents for Login Flow V2 using regular expressions. |
|
| 2590 | + * User agents not matching this list are denied access to Login Flow V2. |
|
| 2591 | + * |
|
| 2592 | + * WARNING: Use only if you understand the implications. |
|
| 2593 | + * |
|
| 2594 | + * Example: Allow only the Nextcloud Android app:: |
|
| 2595 | + * |
|
| 2596 | + * 'core.login_flow_v2.allowed_user_agents' => ['/Nextcloud-android/i'], |
|
| 2597 | + * |
|
| 2598 | + * Defaults to ``[]`` (empty array) |
|
| 2599 | + */ |
|
| 2600 | + 'core.login_flow_v2.allowed_user_agents' => [], |
|
| 2601 | + |
|
| 2602 | + /** |
|
| 2603 | + * Show or hide the "simple sign up" link on public pages. |
|
| 2604 | + * See: https://nextcloud.com/signup/ |
|
| 2605 | + * |
|
| 2606 | + * Defaults to ``true`` |
|
| 2607 | + */ |
|
| 2608 | + 'simpleSignUpLink.shown' => true, |
|
| 2609 | + |
|
| 2610 | + /** |
|
| 2611 | + * Enable or disable autocompletion for the login form. Disabling this prevents |
|
| 2612 | + * browsers from remembering login credentials, which may be required for |
|
| 2613 | + * compliance with certain security policies. |
|
| 2614 | + * |
|
| 2615 | + * Defaults to ``true`` |
|
| 2616 | + */ |
|
| 2617 | + 'login_form_autocomplete' => true, |
|
| 2618 | + |
|
| 2619 | + /** |
|
| 2620 | + * Set a timeout (in seconds) for the login form. After this period, the form is |
|
| 2621 | + * reset to prevent password leaks on public devices if the user forgets to clear |
|
| 2622 | + * it. |
|
| 2623 | + * |
|
| 2624 | + * A value of 0 disables the timeout. |
|
| 2625 | + * |
|
| 2626 | + * Defaults to ``300`` seconds (5 minutes) |
|
| 2627 | + */ |
|
| 2628 | + 'login_form_timeout' => 300, |
|
| 2629 | + |
|
| 2630 | + /** |
|
| 2631 | + * Suppress warnings for outdated or unsupported browsers. When enabled, users |
|
| 2632 | + * can bypass the warning after reading it. |
|
| 2633 | + * |
|
| 2634 | + * Set to ``true`` to disable the warning. |
|
| 2635 | + * |
|
| 2636 | + * Defaults to ``false`` |
|
| 2637 | + */ |
|
| 2638 | + 'no_unsupported_browser_warning' => false, |
|
| 2639 | + |
|
| 2640 | + /** |
|
| 2641 | + * Disable background scanning of files. When enabled, a background job runs |
|
| 2642 | + * every 10 minutes to sync the filesystem and database for up to 500 users with |
|
| 2643 | + * unscanned files (size < 0 in filecache). |
|
| 2644 | + * |
|
| 2645 | + * Defaults to ``false`` |
|
| 2646 | + */ |
|
| 2647 | + 'files_no_background_scan' => false, |
|
| 2648 | + |
|
| 2649 | + /** |
|
| 2650 | + * Log all database queries to a file. |
|
| 2651 | + * |
|
| 2652 | + * WARNING: This significantly reduces server performance and is intended only |
|
| 2653 | + * for debugging or profiling query interactions. Sensitive data may be logged in |
|
| 2654 | + * plain text. |
|
| 2655 | + */ |
|
| 2656 | + 'query_log_file' => '', |
|
| 2657 | + |
|
| 2658 | + /** |
|
| 2659 | + * Prefix all queries with the request ID when set to `yes`. |
|
| 2660 | + * |
|
| 2661 | + * Requires ``query_log_file`` to be set. |
|
| 2662 | + */ |
|
| 2663 | + 'query_log_file_requestid' => '', |
|
| 2664 | + |
|
| 2665 | + /** |
|
| 2666 | + * Include all query parameters in the query log when set to `yes`. |
|
| 2667 | + * |
|
| 2668 | + * Requires ``query_log_file`` to be set. |
|
| 2669 | + * WARNING: This may log sensitive data in plain text. |
|
| 2670 | + */ |
|
| 2671 | + 'query_log_file_parameters' => '', |
|
| 2672 | + |
|
| 2673 | + /** |
|
| 2674 | + * Include a backtrace in the query log when set to `yes`. |
|
| 2675 | + * |
|
| 2676 | + * Requires ``query_log_file`` to be set. |
|
| 2677 | + */ |
|
| 2678 | + 'query_log_file_backtrace' => '', |
|
| 2679 | + |
|
| 2680 | + /** |
|
| 2681 | + * Log all Redis requests to a file. |
|
| 2682 | + * |
|
| 2683 | + * WARNING: This significantly reduces server performance and is intended only |
|
| 2684 | + * for debugging or profiling Redis interactions. Sensitive data may be logged in |
|
| 2685 | + * plain text. |
|
| 2686 | + */ |
|
| 2687 | + 'redis_log_file' => '', |
|
| 2688 | + |
|
| 2689 | + /** |
|
| 2690 | + * Enable diagnostics event logging. Logs timings of common execution steps at |
|
| 2691 | + * debug level. Use with ``log.condition`` to enable conditionally in production. |
|
| 2692 | + * |
|
| 2693 | + * Defaults to ``true`` |
|
| 2694 | + */ |
|
| 2695 | + 'diagnostics.logging' => true, |
|
| 2696 | + |
|
| 2697 | + /** |
|
| 2698 | + * Limit diagnostics event logging to events longer than the specified threshold |
|
| 2699 | + * (in milliseconds). A value of 0 disables diagnostics event logging. |
|
| 2700 | + */ |
|
| 2701 | + 'diagnostics.logging.threshold' => 0, |
|
| 2702 | + |
|
| 2703 | + /** |
|
| 2704 | + * Enable profiling globally. |
|
| 2705 | + * |
|
| 2706 | + * Defaults to ``true`` |
|
| 2707 | + */ |
|
| 2708 | + 'profile.enabled' => true, |
|
| 2709 | + |
|
| 2710 | + /** |
|
| 2711 | + * Override default scopes for account data. Valid properties and scopes are |
|
| 2712 | + * defined in ``OCP\Accounts\IAccountManager``. Values are merged with defaults |
|
| 2713 | + * from ``OC\Accounts\AccountManager``. |
|
| 2714 | + * |
|
| 2715 | + * Example: Set phone property to private scope: |
|
| 2716 | + * ``[\OCP\Accounts\IAccountManager::PROPERTY_PHONE => \OCP\Accounts\IAccountManager::SCOPE_PRIVATE]`` |
|
| 2717 | + */ |
|
| 2718 | + 'account_manager.default_property_scope' => [], |
|
| 2719 | + |
|
| 2720 | + /** |
|
| 2721 | + * Enable the deprecated Projects feature, superseded by Related Resources since |
|
| 2722 | + * Nextcloud 25. |
|
| 2723 | + * |
|
| 2724 | + * Defaults to ``false`` |
|
| 2725 | + */ |
|
| 2726 | + 'projects.enabled' => false, |
|
| 2727 | + |
|
| 2728 | + /** |
|
| 2729 | + * Enable the bulk upload feature. |
|
| 2730 | + * |
|
| 2731 | + * Defaults to ``true`` |
|
| 2732 | + */ |
|
| 2733 | + 'bulkupload.enabled' => true, |
|
| 2734 | + |
|
| 2735 | + /** |
|
| 2736 | + * Enable fetching Open Graph metadata from remote URLs. |
|
| 2737 | + * |
|
| 2738 | + * Defaults to ``true`` |
|
| 2739 | + */ |
|
| 2740 | + 'reference_opengraph' => true, |
|
| 2741 | + |
|
| 2742 | + /** |
|
| 2743 | + * Enable the legacy unified search. |
|
| 2744 | + * |
|
| 2745 | + * Defaults to ``false`` |
|
| 2746 | + */ |
|
| 2747 | + 'unified_search.enabled' => false, |
|
| 2748 | + |
|
| 2749 | + /** |
|
| 2750 | + * Enable features that do not yet comply with accessibility standards. |
|
| 2751 | + * |
|
| 2752 | + * Defaults to ``true`` |
|
| 2753 | + */ |
|
| 2754 | + 'enable_non-accessible_features' => true, |
|
| 2755 | + |
|
| 2756 | + /** |
|
| 2757 | + * Directories where Nextcloud searches for external binaries (e.g., LibreOffice, |
|
| 2758 | + * sendmail, ffmpeg). |
|
| 2759 | + * |
|
| 2760 | + * Defaults to: |
|
| 2761 | + * - /usr/local/sbin |
|
| 2762 | + * - /usr/local/bin |
|
| 2763 | + * - /usr/sbin |
|
| 2764 | + * - /usr/bin |
|
| 2765 | + * - /sbin |
|
| 2766 | + * - /bin |
|
| 2767 | + * - /opt/bin |
|
| 2768 | + */ |
|
| 2769 | + 'binary_search_paths' => [ |
|
| 2770 | + '/usr/local/sbin', |
|
| 2771 | + '/usr/local/bin', |
|
| 2772 | + '/usr/sbin', |
|
| 2773 | + '/usr/bin', |
|
| 2774 | + '/sbin', |
|
| 2775 | + '/bin', |
|
| 2776 | + '/opt/bin', |
|
| 2777 | + ], |
|
| 2778 | + |
|
| 2779 | + /** |
|
| 2780 | + * Maximum chunk size for chunked uploads (in bytes). Larger chunks increase |
|
| 2781 | + * throughput but yield diminishing returns above 100 MiB. Services like |
|
| 2782 | + * Cloudflare may limit to 100 MiB. |
|
| 2783 | + * |
|
| 2784 | + * Defaults to ``100 * 1024 * 1024`` (100 MiB) |
|
| 2785 | + */ |
|
| 2786 | + 'files.chunked_upload.max_size' => 100 * 1024 * 1024, |
|
| 2787 | + |
|
| 2788 | + /** |
|
| 2789 | + * Maximum number of chunks uploaded in parallel during chunked uploads. Higher |
|
| 2790 | + * counts increase throughput but consume more server resources, with diminishing |
|
| 2791 | + * returns. |
|
| 2792 | + * |
|
| 2793 | + * Defaults to ``5`` |
|
| 2794 | + */ |
|
| 2795 | + 'files.chunked_upload.max_parallel_count' => 5, |
|
| 2796 | + |
|
| 2797 | + /** |
|
| 2798 | + * Allow users to manually delete files from their trashbin. Automated deletions |
|
| 2799 | + * (e.g., due to low quota) are unaffected. |
|
| 2800 | + * |
|
| 2801 | + * Defaults to ``true`` |
|
| 2802 | + */ |
|
| 2803 | + 'files.trash.delete' => true, |
|
| 2804 | + |
|
| 2805 | + /** |
|
| 2806 | + * Enable PHP 8.4 lazy objects for Dependency Injection to improve performance by |
|
| 2807 | + * avoiding instantiation of unused objects. |
|
| 2808 | + * |
|
| 2809 | + * Defaults to ``true`` |
|
| 2810 | + */ |
|
| 2811 | + 'enable_lazy_objects' => true, |
|
| 2812 | 2812 | ]; |