-
Notifications
You must be signed in to change notification settings - Fork 2.1k
/
Copy pathconfig.sample.php
1897 lines (1714 loc) · 65.6 KB
/
config.sample.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<?php
/**
* This configuration file is only provided to document the different
* configuration options and their usage for the core system.
*
* DO NOT COMPLETELY BASE YOUR CONFIGURATION FILE ON THESE SAMPLES. THIS MAY BREAK
* YOUR INSTANCE. Instead, manually copy configuration switches that you
* consider important for your instance to your working `config.php`, and
* apply configuration options that are pertinent for your instance.
*
* All keys are only valid if the corresponding app is installed and enabled.
* You MUST copy the keys needed to the active config.php file.
*
* This file is also used to generate the configuration documentation using `config-to-docs`.
* Any changes to this file must follow the rules documented in the readme of the `config-to-docs` repository.
*/
$CONFIG = [
/**
* Default Parameters
*
* These parameters are configured by the ownCloud installer and are required
* for your ownCloud server to operate.
*/
/**
* Unique identifier for your ownCloud installation
* This unique identifier is created automatically by the installer.
* This example is for documentation only, and you should never use it because it will not work.
* A valid `instanceid` is created when you install ownCloud. Needs to start with a letter.
*
* 'instanceid' => 'd3c944a9a',
*/
'instanceid' => '',
/**
* Auto-generated salt used to hash all passwords
* The salt used to hash all passwords and is auto-generated by the ownCloud installer.
* (There are also per-user salts.) If you lose this salt, you lose all your
* passwords. This example is for documentation only, and you should never use it.
*
* @deprecated This salt is deprecated and only used for legacy-compatibility,
* developers should *NOT* use this value for anything nowadays.
*
* 'passwordsalt' => 'd3c944a9af095aa08f',
*/
'passwordsalt' => '',
/**
* Define list of trusted domains that users can log into
* Specifying trusted domains prevents host header poisoning.
* This parameter reperesents a white list of approved IP addresses and
* hostnames that this server is known by / is used to access it.
* Wildcards, slash notation and ports are not supported.
* Do not remove this, as it performs necessary security checks.
* Please consider that for backend processes like background jobs or occ commands,
* the URL parameter in key `overwrite.cli.url` is used. For more details, please see that key.
* NOTE: When defined via the `OWNCLOUD_TRUSTED_DOMAINS` property in docker, the values should be
* a comma delimited list without white space. like `OWNCLOUD_TRUSTED_DOMAINS=localhost,10.10.1.1`.
* Wildcards, slash notation and ports are not supported.
*/
'trusted_domains' => [
'demo.example.org',
'otherdomain.example.org',
],
/**
* Define global list of CORS domains
* All users can use tools running CORS (Cross-Origin Resource Sharing) requests
* from the listed domains.
*/
'cors.allowed-domains' => [
'https://foo.example.org',
],
/**
* Define the directory where user files are stored
* This defaults to `data/` in the ownCloud directory.
* The SQLite database is also stored here, when you use SQLite.
* (SQLite is not available in ownCloud Enterprise Edition)
*/
'datadirectory' => '/var/www/owncloud/data',
/**
* Define the directory where the crash logs will be stored
* By default, this will be the same as the one configured as "datadirectory".
* The directory MUST EXIST and be WRITABLE by the web server.
* Note that crashes are extremely rare (although they can come in burst due to
* multiple requests), so the default location is usually fine.
* Also note that the log can contain sensitive information, but it should be useful
* to pinpoint where is the problem.
*/
'crashdirectory' => '/var/www/owncloud/data',
/**
* Current version number of your ownCloud installation
* This is set up during installation and update, so you shouldn't need to change it.
*/
'version' => '',
/**
* Show or hide the ownCloud version information in `status.php`
* This hardens an ownCloud instance by hiding the version information in `status.php`.
* This can be a legitimate step. Please consult the documentation before enabling this.
*/
'version.hide' => false,
/**
* Show or hide the server hostname in `status.php`
* Optional config option, defaults to hidden.
*/
'show_server_hostname' => false,
/**
* Show the short hostname in `status.php`
* Optional config option, defaults to use the gethostname() return value.
*/
'use_relative_domain_name' => false,
/**
* Identify the database used with this installation
* See also config option `supportedDatabases`
*
* Available:
* - sqlite (SQLite3 - Not in Enterprise Edition)
* - mysql (MySQL/MariaDB)
* - pgsql (PostgreSQL)
* - oci (Oracle - Enterprise Edition Only)
*/
'dbtype' => 'mysql',
/**
* Define the database server host name
* For example `localhost`, `hostname`, `hostname.example.com`, or the IP address.
* To specify a port use: `hostname:####`;
* To specify a Unix socket use: `localhost:/path/to/socket`.
*/
'dbhost' => '',
/**
* Define the ownCloud database name
* The name of the ownCloud database which is set during installation.
* You should not need to change this.
*/
'dbname' => 'owncloud',
/**
* Define the ownCloud database user
* This must be unique across ownCloud instances using the same SQL database.
* This is set up during installation, so you shouldn't need to change it.
*/
'dbuser' => '',
/**
* Define the password for the database user
* This is set up during installation, so you shouldn't need to change it.
*/
'dbpassword' => '',
/**
* Define the prefix for the ownCloud tables in the database
*/
'dbtableprefix' => '',
/**
* Indicate whether the ownCloud instance was installed successfully
* `true` indicates a successful installation,
* `false` indicates an unsuccessful installation.
*/
'installed' => false,
/**
* User Experience
*
* These optional parameters control some aspects of the user interface.
* Default values, where present, are shown.
*/
/**
* Define the default language of your ownCloud instance
* Using ISO_639-1 language codes such as `en` for English, `de` for German, and `fr` for French.
* Overrides automatic language detection on public pages like login or shared items.
* User's language preferences configured under `personal -> language` override
* this setting after they have logged in.
*/
'default_language' => 'en_GB',
/**
* Define the default app to open on user login
* Use the app names as they appear in the URL after clicking them in the Apps menu,
* such as files, documents or calendar etc. You can use a comma-separated list of app names,
* so if the first app is not enabled for a user then ownCloud will try the second one, and so
* on. If no enabled apps are found it defaults to the Files app.
*/
'defaultapp' => 'files',
/**
* Enable or disable avatars or user profile photos
* `true` enables avatars, or user profile photos, `false` disables them.
* These appear on the User page, on user's Personal pages and are used by some apps
* (contacts, mail, etc).
*/
'enable_avatars' => true,
/**
* Allow or disallow users to change their display names
* `true` allows users to change their display names (on their Personal pages),
* `false` prevents them from changing their display names.
*/
'allow_user_to_change_display_name' => true,
/**
* Allow or disallow users to change their email addresses
* `true` allows users to change their email address (on their Personal pages),
* `false` prevents them from changing their email address.
*/
'allow_user_to_change_mail_address' => true,
/**
* Define the lifetime of the remember-login cookie
* The remember-login cookie is set when the user clicks the `remember` checkbox
* on the login screen. The default is 15 days, expressed in seconds.
*/
'remember_login_cookie_lifetime' => 60*60*24*15,
/**
* Define the lifetime of a session after inactivity
* The web UI might send a "heartbeat" based on the activity happening
* in order to extend the session lifetime and keeping it from timing out
* prematurely. If there is no activity happening and the lifetime is
* reached, you'll have to log in again.
* The default is 20 minutes, expressed in seconds.
*/
'session_lifetime' => 60 * 20,
/**
* Enable session keep-alive when a user is logged in to the Web UI
* Enabling this sends a "heartbeat" to the server to keep it from
* timing out regardless of any activity happening. This heartbeat will
* keep extending the session over again, so the user won't be logged out
* even if he isn't active in the web UI.
*/
'session_keepalive' => true,
/**
* Enable to force user logout
* Force the user to get logged out after the specified number of seconds when
* the tab or browser gets closed. A negative or 0 value disables this feature.
*
* Note that the user can still access the page without re-authenticating
* (having valid access) if the timeout has not been reached.
* The recommended minimum value is 5 or 10 seconds. Using a lower value
* might cause unwanted logouts for users.
*
* Note that this feature works properly if the user uses one tab only.
* If a user uses multiple tabs, closing one of them will likely
* force the rest to re-authenticate.
*/
'session_forced_logout_timeout' => 0,
/**
* Enforce token only authentication for apps and clients connecting to ownCloud
* If enabled, all access requests using the user's password are blocked for enhanced security.
* Users have to generate special app-passwords (tokens) for their apps or clients in their personal
* settings which are further used for app or client authentication. Browser logon is not affected.
*/
'token_auth_enforced' => false,
/**
* Enforce strict login check with user backend
* If enabled, strict login check for password in user backend will be enforced,
* meaning only the login name typed by the user would be validated. With this
* configuration enabled, e.g. an additional check for email will not be performed.
*/
'strict_login_enforced' => false,
/**
* Define additional login buttons on the logon screen
* Provides the ability to create additional login buttons on the logon screen, for e.g., SSO integration,
* see the following example structure:
*
* -----
* 'login.alternatives' => [
* ['href' => 'https://www.testshib.org/Shibboleth.sso/ProtectNetwork?target=https%3A%2F%2Fmy.owncloud.tld%2Flogin%2Fsso-saml%2F',
* 'name' => 'ProtectNetwork',
* 'img' => '/img/PN_sign-in.gif'
* ],
* ['href' => 'https://www.testshib.org/Shibboleth.sso/OpenIdP.org?target=https%3A%2F%2Fmy.owncloud.tld%2Flogin%2Fsso-saml%2F',
* 'name' => 'OpenIdP.org',
* 'img' => '/img/openidp.png'
* ],
* ],
* -----
*/
'login.alternatives' => [],
/**
* Enable or disable ownCloud's built-in CSRF protection mechanism
*
* In some specific setups CSRF protection is handled in the environment, e.g.,
* running F5 ASM. In these cases the built-in mechanism is not needed and can be disabled.
* Generally speaking, however, this config switch should be left unchanged.
*
* WARNING: leave this as is if you're not sure what it does.
*/
'csrf.disabled' => false,
/**
* Define how to relax same site cookie settings
* Possible values: `Strict`, `Lax` or `None`.
* Setting the same site cookie to `None` is necessary in case of OpenID Connect.
* For more information about the impact of the values see:
* https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite#values and
* https://web.dev/schemeful-samesite/
*
* * Use 'strict' whenever possible
* * If necessary relax to 'lax'
* * Use 'none' if it needs to be relaxed even further
*/
'http.cookie.samesite' => 'Strict',
/**
* Define the directory where the skeleton files are located
* These files will be copied to the data directory of new users.
* Set this to the empty string if you do not want to copy any skeleton files.
* A valid path must be given for this key otherwise errors will be generated in owncloud.log.
*/
'skeletondirectory' => '/path/to/owncloud/core/skeleton',
/**
* Define the `user_backends` app
* Those need to be enabled first and allow you to configure alternate authentication backends.
* Supported backends are:
* IMAP (OC_User_IMAP), SMB (OC_User_SMB), and FTP (OC_User_FTP).
*/
'user_backends' => [
[
'class' => 'OC_User_IMAP',
'arguments' => ['{imap.gmail.com:993/imap/ssl}INBOX']
]
],
/**
* Define a custom link to reset passwords
* If your user backend does not allow password resets (e.g. when it's a read-only
* user backend like LDAP), you can specify a custom link, where the user is
* redirected to, when clicking the "reset password" link after a failed login-attempt.
* If you do not want to provide any link, replace the URL with 'disabled'.
*/
'lost_password_link' => 'https://example.org/link/to/password/reset',
/**
* Allow medial search on user account properties
* These account properties can be display name, user id, email, and other search terms.
* Allows finding 'Alice' when searching for 'lic'. May slow down user search.
* Disable this if you encounter slow username search in the sharing dialog.
*/
'accounts.enable_medial_search' => true,
/**
* Allow medial search on the group id
* Allows finding 'test' in groups when searching for 'es'.
* This is only used in the DB group backend (local groups).
* This won't be used against LDAP, Shibboleth or any other group backend.
*/
'groups.enable_medial_search' => true,
/**
* Define minimum characters entered before a search returns results
* Defines the minimum characters entered before a search returns results for
* users or groups in the share autocomplete form. Lower values increase search
* time especially for large backends.
* Any exact matches to a user or group will be returned, even though less than
* the minimum characters have been entered. The search is case-insensitive.
* For example, entering "tom" will always return "Tom" if there is an exact match.
*/
'user.search_min_length' => 2,
/**
* Mail Parameters
*
* These configure the email settings for ownCloud notifications and password resets.
*/
/**
* Define the email RETURN address
* The return address that you want to appear on emails sent by the ownCloud server.
* Example: `[email protected]`, substituting your own domain, of course.
*/
'mail_domain' => 'example.com',
/**
* Define the email FROM address
* The FROM address that overrides the built-in `sharing-noreply` and
* `lostpassword-noreply` FROM addresses.
*/
'mail_from_address' => 'owncloud',
/**
* Enable or disable SMTP class debugging
*/
'mail_smtpdebug' => false,
/**
* Define the mode for sending an email
* Modes to use for sending mail: `sendmail`, `smtp`, `qmail` or `php`.
*
* If you are using local or remote SMTP, set this to `smtp`.
*
* If you are using PHP mail you must have an installed and working email system
* on the server. The program used to send email is defined in the `php.ini` file.
*
* For the `sendmail` option you need an installed and working email system on
* the server, with `/usr/sbin/sendmail` installed on your Unix system.
*
* For `qmail` the binary is /var/qmail/bin/sendmail, and it must be installed
* on your Unix system.
*/
'mail_smtpmode' => 'sendmail',
/**
* Define the IP address of your mail server host
* Depends on `mail_smtpmode`. May contain multiple hosts separated by a semicolon.
* If you need to specify the port number, append it to the IP address separated by
* a colon, like this: `127.0.0.1:24`.
*/
'mail_smtphost' => '127.0.0.1',
/**
* Define the port for sending an email
* Depends on `mail_smtpmode`.
*/
'mail_smtpport' => 25,
/**
* Define the SMTP server timeout
* Depends on `mail_smtpmode`. Sets the SMTP server timeout in seconds.
* You may need to increase this if you are running an anti-malware or spam scanner.
*/
'mail_smtptimeout' => 10,
/**
* Define the SMTP security style
* Depends on `mail_smtpmode`. Specify when you are using `ssl` or `tls`.
* Leave empty for no encryption.
*/
'mail_smtpsecure' => '',
/**
* Define the SMTP authentication
* Depends on `mail_smtpmode`. Change this to `true` if your mail server requires authentication.
*/
'mail_smtpauth' => false,
/**
* Define the SMTP authentication type
* Depends on `mail_smtpmode`. If SMTP authentication is required,
* choose the authentication type as `LOGIN` (default) or `PLAIN`.
*/
'mail_smtpauthtype' => 'LOGIN',
/**
* Define the SMTP authentication username
* Depends on `mail_smtpauth`. Specify the username for authenticating to the SMTP server.
*/
'mail_smtpname' => '',
/**
* Define the SMTP authentication password
* Depends on `mail_smtpauth`. Specify the password for authenticating to the SMTP server.
*/
'mail_smtppassword' => '',
/**
* Remove the sender display name in sharing emails
* Mail notifications about shares include the display name of the sharer in the email
* "from" address. This can cause some email filters to block these as impersonation
* attempts. Set remove_sender_display_name to true to not include this information.
*/
'remove_sender_display_name' => false,
/**
* Proxy Configurations
*/
/**
* Override automatic proxy detection
* The automatic hostname detection of ownCloud can fail in certain reverse
* proxy and CLI/cron situations. This option allows you to manually override
* the automatic detection; for example `www.example.com`, or specify the port
* `www.example.com:8080`.
*/
'overwritehost' => '',
/**
* Override protocol (http/https) usage
* When generating URLs, ownCloud attempts to detect whether the server is
* accessed via `https` or `http`. However, if ownCloud is behind a proxy
* and the proxy handles the `https` calls, ownCloud would not know that
* `ssl` is in use, which would result in incorrect URLs being generated.
* Valid values are `http` and `https`.
*/
'overwriteprotocol' => '',
/**
* Override ownClouds webroot
* ownCloud attempts to detect the webroot for generating URLs automatically.
* For example, if `www.example.com/owncloud` is the URL pointing to the
* ownCloud instance, the webroot is `/owncloud`. When proxies are in use, it
* may be difficult for ownCloud to detect this parameter, resulting in invalid URLs.
*/
'overwritewebroot' => '',
/**
* Override condition for the remote IP address with a regular expression
* This option allows you to define a manual override condition as a regular
* expression for the remote IP address. The keys `overwritewebroot`,
* `overwriteprotocol`, and `overwritehost` are subject to this condition.
* For example, defining a range of IP addresses starting with `10.0.0.`
* and ending with 1 to 3: * `^10\.0\.0\.[1-3]$`
*/
'overwritecondaddr' => '',
/**
* Override cli URL
* Use this configuration parameter to specify the base URL for any URLs which
* are generated within ownCloud using any kind of command line tools (cron or occ).
* The value should contain the full base URL: `https://www.example.com/owncloud`
* As an example, alerts shown in the browser to upgrade an app are triggered by
* a cron background process and therefore uses the url of this key, even if the user
* has logged on via a different domain defined in key `trusted_domains`. When the
* user clicks an alert like this, they will be redirected to that URL and must log on again.
*/
'overwrite.cli.url' => '',
/**
* Define the Web base URL
* This key is necessary for the navigation item to the new ownCloud Web UI and for redirecting
* public and private links.
*/
'web.baseUrl' => '',
/**
* Define rewrite private and public links
* Rewrite private and public links to the new ownCloud Web UI (if available).
* If web.rewriteLinks is set to 'true', public and private links will be redirected to this url.
* The Web UI will handle these links accordingly.
*
* As an example, in case 'web.baseUrl' is set to 'http://web.example.com',
* the shared link 'http://ocx.example.com/index.php/s/THoQjwYYMJvXMdW' will be redirected
* by ownCloud to 'http://web.example.com/index.html#/s/THoQjwYYMJvXMdW'.
*/
'web.rewriteLinks' => false,
/**
* Define clean URLs without `/index.php`
* This parameter will be written as `RewriteBase` on update and installation of
* ownCloud to your `.htaccess` file. While this value is often simply the URL
* path of the ownCloud installation it cannot be set automatically properly in
* every scenario and needs thus some manual configuration.
*
* In a standard Apache setup this usually equals the folder that ownCloud is
* accessible at. So if ownCloud is accessible via `https://mycloud.org/owncloud`
* the correct value would most likely be `/owncloud`. If ownCloud is running
* under `https://mycloud.org/` then it would be `/`.
*
* Note that the above rule is not valid in every case, as there are some rare setup
* cases where this may not apply. However, to avoid any update problems this
* configuration value is explicitly opt-in.
*
* After setting this value run `{occ-command-example-prefix} maintenance:update:htaccess`. Now, when the
* following conditions are met ownCloud URLs won't contain `index.php`:
*
* - `mod_rewrite` is installed
* - `mod_env` is installed
*/
'htaccess.RewriteBase' => '/',
/**
* Define the URL of your proxy server
* Example: `proxy.example.com:8081`.
*/
'proxy' => '',
/**
* Define a list of hostnames that won't be proxied.
* This option only applies if the `proxy` option is used
* Example: `['specific.hostname.com', '.sub.domain.com']`.
*/
'proxy_ignore' => [],
/**
* Define proxy authentication
* The optional authentication for the proxy to use to connect to the internet.
* The format is: `username:password`.
*
* The username and the password need to be urlencoded to avoid breaking the
* delimiter syntax "username:password@hostname:port"
*
* Example: `usern@me` needs to be encoded as `usern%40ame`.
*/
'proxyuserpwd' => '',
/**
* Deleted Items (trash bin)
*
* These parameters control the Deleted files app.
*/
/**
* Define the trashbin retention obligation
* If the trash bin app is enabled (default), this setting defines the policy
* for when files and folders in the trash bin will be permanently deleted.
* The app allows for two settings, a minimum time for trash bin retention,
* and a maximum time for trash bin retention.
* Minimum time is the number of days a file will be kept, after which it may be deleted.
* Maximum time is the number of days at which it is guaranteed to be deleted.
* Both minimum and maximum times can be set together to explicitly define
* file and folder deletion. For migration purposes, this setting is installed
* initially set to `auto`, which is equivalent to the default setting in
* ownCloud 8.1 and before.
*
* Available values:
*
* * `auto`
* default setting. Keeps files and folders in the deleted files for up to
* 30 days, automatically deleting them (at any time) if space is needed.
* Note: files may not be removed if space is not required.
* * `D, auto`
* keeps files and folders in the trash bin for D+ days, delete anytime if
* space needed (Note: files may not be deleted if space is not needed)
* * `auto, D`
* delete all files in the trash bin that are older than D days
* automatically, delete other files anytime if space needed
* * `D1, D2`
* keep files and folders in the trash bin for at least D1 days and
* delete when exceeds D2 days
* * `disabled`
* trash bin auto clean disabled, files and folders will be kept forever
*/
'trashbin_retention_obligation' => 'auto',
/**
* Define the trashbin purge limit
* This setting defines the percentage of free space occupied by deleted files
* that triggers auto purging of deleted files for this user
*/
'trashbin_purge_limit' => 50,
/**
* Define trashbin directory skip list
* Define a list of directories that will skip the trashbin and therefore be deleted immediately.
* Only defined directories and only in the root of a mount will skip the trashbin.
* Consider not to use reserved directory names when using snapshot capable storage systems.
* The setting expects folder names with or without trailing slash.
* All the content of such directories including their subdirectories will also skip the trashbin.
*
*/
'trashbin_skip_directories' => [
'temp',
],
/**
* Define trashbin file extension skip list
* Define a list of file extensions to determine files that will skip the trashbin and therefore be deleted immediately.
* Extension names are valid for all mount points, take care when selecting the names.
*
* Values must not have a leading ".", otherwise corresponding files won't be detected.
* Values are case-insensitive
*
*/
'trashbin_skip_extensions' => [
'iso',
'mkv',
],
/**
* Define trashbin threshold size
* Define a threshold for files to skip the trashbin and delete immediately
* Once the size of a resource is greater than or equal the given value, the trashbin will be skipped.
* File sizes are valid for all mount points, take care when defining the threshold.
*
* All positive numbers and zero is allowed. Append one of the following options directly and without space:
* B, K, KB, MB, M, GB, G, TB, T, PB, P
*
*/
'trashbin_skip_size_threshold' => "1GB",
/**
* File versions
*
* These parameters control the Versions app.
*/
/**
* Define the files versions retention obligation
* If the versions app is enabled (default), this setting defines the policy
* for when versions will be permanently deleted.
* The app allows for two settings, a minimum time for version retention,
* and a maximum time for version retention.
* Minimum time is the number of days a version will be kept, after which it
* may be deleted. Maximum time is the number of days at which it is guaranteed
* to be deleted.
* Both minimum and maximum times can be set together to explicitly define
* version deletion. For migration purposes, this setting is installed
* initially set to "auto", which is equivalent to the default setting in
* ownCloud 8.1 and before.
*
* Available values:
*
* * `auto`
* default setting. Automatically expire versions according to expire
* rules. Please refer to https://doc.owncloud.com/server/latest/admin_manual/configuration/files/file_versioning.html
* for more information.
* * `D, auto`
* keep versions at least for D days, apply expiry rules to all versions
* that are older than D days
* * `auto, D`
* delete all versions that are older than D days automatically, delete
* other versions according to expire rules
* * `D1, D2`
* keep versions for at least D1 days and delete when exceeds D2 days
* * `disabled`
* versions auto clean disabled, versions will be kept forever
*/
'versions_retention_obligation' => 'auto',
/**
* Save additional metadata for versions
* Save additional metadata (author, version tag, etc.) of each version of uploaded and edited files.
*
* WARNING: This feature CANNOT be temporarily disabled once enabled.
* Disabling and re-enabling would require a repair job that erases all extended versions metadata.
* WARNING: This does not work for S3 storage backends.
*/
'file_storage.save_version_metadata' => false,
/**
* ownCloud Verifications
*
* ownCloud performs several verification checks. There are two options,
* `true` and `false`.
*/
/**
* Enable or disable updatechecker
* Check if ownCloud is up-to-date and shows a notification if a new version is available.
* This option is only applicable to ownCloud core. It is not applicable to app updates.
*/
'updatechecker' => true,
/**
* Define the updatechecker URL
* The URL that ownCloud should use to look for updates
*/
'updater.server.url' => 'https://updates.owncloud.com/server/',
/**
* Check for an internet connection
* Is ownCloud connected to the Internet or running in a closed network?
*/
'has_internet_connection' => true,
/**
* Check for a `.well-known` setup
* Allows ownCloud to verify a working .well-known URL redirect.
* This is done by attempting to make a request from JS to
* `https://your-domain.com/.well-known/caldav/`
*/
'check_for_working_wellknown_setup' => true,
/**
* Define if config.php is read only
* In certain environments it is desired to have a read-only configuration file.
* When this switch is set to `true` ownCloud will not verify whether the
* configuration is writable. However, it will not be possible to configure
* all options via the Web interface. Furthermore, when updating ownCloud
* it is required to make the configuration file writable again for the update
* process.
*/
'config_is_read_only' => false,
/**
* Define ownCloud operation modes
* This defines the mode of operations. The default value is `single-instance`
* which means, that ownCloud is running on a single node, which might be the
* most common operations mode. The only other possible value for now is
* `clustered-instance` which means, that ownCloud is running on at least 2
* nodes. The mode of operations has various impacts on the behavior of ownCloud.
* The primary impact is, that clustered instances won't download apps from the
* marketplace and install in one server. Instead the admin has to ensure that
* this happens manually on all servers. The same applies to config.php configuration
* settings done via `occ`.
*/
'operation.mode' => 'single-instance',
/**
* Logging
*
* These parameters configure the logging options.
* For additional information or advanced configuration, please see the logging
* section in the documentation.
*
*/
/**
* Define the log type
* By default the ownCloud logs are sent to the `owncloud.log` file in the
* default ownCloud data directory.
* If syslogging is desired, set this parameter to `syslog`.
* Setting this parameter to `errorlog` will use the PHP error_log function
* for logging.
*/
'log_type' => 'owncloud',
/**
* Define the log path
* Log file path for the ownCloud logging type.
* Defaults to `[datadirectory]/owncloud.log`
*/
'logfile' => '/var/log/owncloud.log',
/**
* Define the log level
* Loglevel to start logging at. Valid values are: 0 = Debug, 1 = Info, 2 =
* Warning, 3 = Error, and 4 = Fatal. The default value is Warning.
*/
'loglevel' => 2,
/**
* Define the syslog tag
* If you maintain different instances and aggregate the logs, you may want
* to distinguish between them. `syslog_tag` can be set per instance
* with a unique id. Only available if `log_type` is set to `syslog`.
* The default value is `ownCloud`.
*/
'syslog_tag' => 'ownCloud',
/**
* Define the syslog format
* The syslog format can be changed to remove or add information.
* In addition to the %replacements% below %level% can be used, but it is used
* as a dedicated parameter to the syslog logging facility anyway.
*/
'log.syslog.format' => '[%reqId%][%remoteAddr%][%user%][%app%][%method%][%url%] %message%',
/**
* Define log conditions
* Log condition for log level increase based on conditions. Once one of these
* conditions is met, the required log level is set to debug. This allows to
* debug specific requests, users or apps
*
* Supported conditions:
* - `shared_secret`: If a request parameter with the name `log_secret` is set to
* this value the condition is met
* - `users`: If the current request is done by one of the specified users,
* this condition is met
* - `apps`: If the log message is invoked by one of the specified apps,
* this condition is met
* - `logfile`: The log message invoked by the specified apps get redirected to
* this logfile, this condition is met
* Note: Not applicable when using syslog
*
* Defaults to an empty array
*/
'log.conditions' => [
[
'shared_secret' => '57b58edb6637fe3059b3595cf9c41b9',
'users' => ['user1'],
'apps' => ['files_texteditor'],
'logfile' => '/tmp/test.log'
],
[
'shared_secret' => '57b58edb6637fe3059b3595cf9c41b9',
'users' => ['user1'],
'apps' => ['files_mediaviewer'],
'logfile' => '/tmp/mediaviewer.log'
],
[
# special sql query logging
'apps' => ['core/sql'],
'logfile' => __DIR__ . '/../data/sql.jsonl'
],
],
/**
* Define the log date format
* This uses PHP.date formatting; see http://php.net/manual/en/function.date.php
*/
'logdateformat' => 'F d, Y H:i:s',
/**
* Define the log timezone
* The default timezone for logfiles is UTC. You may change this; see
* http://php.net/manual/en/timezones.php
*/
'logtimezone' => 'Europe/Berlin',
/**
* Define logging if Cron ran successfully
* Log successful cron runs.
*/
'cron_log' => true,
/**
* Define the maximum log rotation file size
* Enables log rotation and limits the total size of the logfiles.
* The default is 0 or false which disables log rotation.
* Specify a size in bytes, for example 104857600
* (100 megabytes = 100 * 1024 * 1024 bytes).
* A new logfile is created with a new name when the old logfile reaches the defined limit.
* If a rotated log file is already present, it will be overwritten.
* If enabled, only the active log file and one rotated file are stored.
*/
'log_rotate_size' => false,
/**
* Alternate Code Locations
*
* Some ownCloud code may be stored in alternate locations.
*/
/**
* Define alternative app directories
* If you want to store apps in a custom directory instead of ownCloud's default
* `/apps`, you need to modify the `apps_paths` key. There, you need to add a
* new associative array that contains three elements. These are:
*
* - `path` The absolute file system path to the custom app folder.
* - `url` The request path to that folder relative to the ownCloud web root, prefixed with /.
* - `writable` Whether users can install apps in that folder. After the configuration is added,
* new apps will only install in a directory where writable is set to true.
*
* The configuration example shows how to add a second directory, called `/apps-external`.
* Here, new apps and updates are only written to the `/apps-external` directory.
* This eases upgrade procedures of owncloud where shipped apps are delivered to apps/ by default.
* `OC::$SERVERROOT` points to the web root of your instance.
* Please see the Apps Management description on how to move custom apps properly.
*/
'apps_paths' => [
0 =>
[
'path' => OC::$SERVERROOT.'/apps',
'url' => '/apps',
'writable' => false,
],
1 =>
[
'path' => OC::$SERVERROOT.'/apps-external',
'url' => '/apps-external',
'writable' => true,
],
],
/**
* Previews
*
* ownCloud supports previews of image files, the covers of MP3 files, and text files.
* These options control enabling and disabling previews, and thumbnail size.
*/
/**
* Enable preview generation
* By default, ownCloud can generate previews for the following filetypes:
*
* - Image files
* - Covers of MP3 files
* - Text documents
*
* Valid values are `true`, to enable previews, or `false`, to disable previews
*/
'enable_previews' => true,
/**
* Define the preview path
* Location of the thumbnails folder, defaults to `data/$user/thumbnails` where
* `$user` is the current user. When specified, the format will change to
* `$previews_path/$user` where `$previews_path` is the configured previews base directory
* and `$user` will be substituted with the user id automatically.
*
* For example if `previews_path` is `/var/cache/owncloud/thumbnails` then for a logged-in
* user `user1` the thumbnail path will be `/var/cache/owncloud/thumbnails/user1`.
*/
'previews_path' => '',
/**
* Define the maximum x-axis width for previews
* The maximum width, in pixels, of a preview.
* A value of `null` means there is no limit.
*/
'preview_max_x' => 2048,
/**
* Define the maximum y-axis width for previews
* The maximum height, in pixels, of a preview. A value of `null` means there is no limit.
*/