]> git.mxchange.org Git - friendica.git/blob - config/defaults.config.php
Merge pull request #6199 from MrPetovan/task/move-config-to-php-array
[friendica.git] / config / defaults.config.php
1 <?php\r
2 \r
3 // CONFIG.PHP\r
4 \r
5 /* This file declares the default values for the base config of Friendica.\r
6  *\r
7  * These configuration values aren't accessible from the admin settings page and custom values must be set in config/local.config.php\r
8  *\r
9  * Please don't edit this file directly as its content may change in the upcoming versions.\r
10  */\r
11 \r
12 return [\r
13         'database' => [\r
14                 // host (String)\r
15                 // Hostname or IP address of the database server.\r
16                 // Can contain the port number with the syntax "hostname:port".\r
17                 'hostname' => '',\r
18 \r
19                 // user (String)\r
20                 // Database user name. Please don't use "root".\r
21                 'username' => '',\r
22 \r
23                 // pass (String)\r
24                 // Database user password. Please don't use empty passwords.\r
25                 'password' => '',\r
26 \r
27                 // base (String)\r
28                 // Database name.\r
29                 'database' => '',\r
30 \r
31                 // charset (String)\r
32                 // Database connexion charset. Changing this value will likely corrupt special characters.\r
33                 'charset' => 'utf8mb4',\r
34         ],\r
35         'config' => [\r
36                 // admin_email (Comma-separated list)\r
37                 // In order to perform system administration via the admin panel,\r
38                 // this must precisely match the email address of the person logged in.\r
39                 'admin_email' => '',\r
40 \r
41                 // admin_nickname (String)\r
42                 // Nickname of the main admin user, used if there are more than one admin user defined in config => admin_email.\r
43                 'admin_nickname' => '',\r
44 \r
45                 // max_import_size (Integer)\r
46                 // Maximum body size of DFRN and Mail messages in characters. 0 is unlimited.\r
47                 'max_import_size' => 200000,\r
48 \r
49                 // php_path (String)\r
50                 // Location of PHP command line processor.\r
51                 'php_path' => 'php',\r
52         ],\r
53         'system' => [\r
54                 // allowed_link_protocols (Array)\r
55                 // Allowed protocols in links URLs, add at your own risk. http is always allowed.\r
56                 'allowed_link_protocols' => ['ftp', 'ftps', 'mailto', 'cid', 'gopher'],\r
57 \r
58                 // always_show_preview (Boolean)\r
59                 // Only show small preview pictures.\r
60                 'always_show_preview' => false,\r
61 \r
62                 // archival_days (Integer)\r
63                 // Number of days that we try to deliver content before we archive a contact.\r
64                 'archival_days' => 32,\r
65 \r
66                 // auth_cookie_lifetime (Integer)\r
67                 // Number of days that should pass without any activity before a user who\r
68                 // chose "Remember me" when logging in is considered logged out.\r
69                 'auth_cookie_lifetime' => 7,\r
70 \r
71                 // block_local_dir (Boolean)\r
72                 // Deny public access to the local user directory.\r
73                 'block_local_dir' => false,\r
74 \r
75                 // cache_driver (database|memcache|memcached|redis)\r
76                 // Whether to use Memcache or Memcached or Redis to store temporary cache.\r
77                 'cache_driver' => 'database',\r
78 \r
79                 // config_adapter (jit|preload)\r
80                 // Allow to switch the configuration adapter to improve performances at the cost of memory consumption.\r
81                 'config_adapter' => 'jit',\r
82 \r
83                 // curl_range_bytes (Integer)\r
84                 // Maximum number of bytes that should be fetched. Default is 0, which mean "no limit".\r
85                 'curl_range_bytes' => 0,\r
86 \r
87                 // crawl_permit_period (Integer)\r
88                 // Period in seconds between allowed searches when the number of free searches is reached and "permit_crawling" is activated.\r
89                 'crawl_permit_period' => 60,\r
90 \r
91                 // db_log (Path)\r
92                 // Name of a logfile to log slow database queries.\r
93                 'db_log' => '',\r
94 \r
95                 // db_log_index (Path)\r
96                 // Name of a logfile to log queries with bad indexes.\r
97                 'db_log_index' => '',\r
98 \r
99                 // db_log_index_watch (Comma-separated list)\r
100                 // Watchlist of indexes to watch.\r
101                 'db_log_index_watch' => '',\r
102 \r
103                 // db_log_index_blacklist (Comma-separated list)\r
104                 // Blacklist of indexes that shouldn't be watched.\r
105                 'db_log_index_blacklist' => '',\r
106 \r
107                 // db_loglimit (Integer)\r
108                 // If a database call lasts longer than this value in seconds it is logged.\r
109                 // Inactive if system => db_log is empty.\r
110                 'db_loglimit' => 10,\r
111 \r
112                 // db_loglimit_index (Integer)\r
113                 // Number of index rows needed to be logged for indexes on the watchlist. 0 to disable.\r
114                 'db_loglimit_index' => 0,\r
115 \r
116                 // db_loglimit_index_high (Integer)\r
117                 // Number of index rows to be logged anyway (for any index). 0 to disable.\r
118                 'db_loglimit_index_high' => 0,\r
119 \r
120                 // dbclean_expire_conversation (Integer)\r
121                 // When DBClean is enabled, any entry in the conversation table will be deleted after this many days.\r
122                 // This data is used for ActivityPub, so it shouldn't be lower than the average duration of a discussion.\r
123                 'dbclean_expire_conversation' => 90,\r
124 \r
125                 // dbclean-expire-limit (Integer)\r
126                 // This defines the number of items that are to be deleted in a single call.\r
127                 // Reduce this value when you are getting memory issues.\r
128                 'dbclean-expire-limit' => 1000,\r
129 \r
130                 // diaspora_test (Boolean)\r
131                 // For development only. Disables the message transfer.\r
132                 'diaspora_test' => false,\r
133 \r
134                 // disable_email_validation (Boolean)\r
135                 // Disables the check if a mail address is in a valid format and can be resolved via DNS.\r
136                 'disable_email_validation' => false,\r
137 \r
138                 // disable_url_validation (Boolean)\r
139                 // Disables the DNS lookup of an URL.\r
140                 'disable_url_validation' => false,\r
141 \r
142                 // disable_password_exposed (Boolean)\r
143                 // Disable the exposition check against the remote haveibeenpwned API on password change.\r
144                 'disable_password_exposed' => false,\r
145 \r
146                 // disable_polling (Boolean)\r
147                 // Disable the polling of DFRN and OStatus contacts through onepoll.php.\r
148                 'disable_polling' => false,\r
149 \r
150                 // dlogfile (Path)\r
151                 // location of the developer log file.\r
152                 'dlogfile' => '',\r
153 \r
154                 // dlogip (String)\r
155                 // restricts develop log writes to requests originating from this IP address.\r
156                 'dlogip' => '',\r
157 \r
158                 // free_crawls (Integer)\r
159                 // Number of "free" searches when system => permit_crawling is enabled.\r
160                 'free_crawls' => 10,\r
161 \r
162                 // frontend_worker_timeout (Integer)\r
163                 // Value in minutes after we think that a frontend task was killed by the webserver.\r
164                 'frontend_worker_timeout' => 10,\r
165 \r
166                 // groupedit_image_limit (Integer)\r
167                 // Number of contacts at which the group editor should switch from display the profile pictures of the contacts to only display the names.\r
168                 // This can alternatively be set on a per account basis in the pconfig table.\r
169                 'groupedit_image_limit' => 400,\r
170 \r
171                 // hsts (Boolean)\r
172                 // Enables the sending of HTTP Strict Transport Security headers.\r
173                 'hsts' => false,\r
174 \r
175                 // ignore_cache (Boolean)\r
176                 // For development only. Disables the item cache.\r
177                 'ignore_cache' => false,\r
178 \r
179                 // instances_social_key (String)\r
180                 // Key to the API of https://instances.social which retrieves data about mastodon servers.\r
181                 // See https://instances.social/api/token to get an API key.\r
182                 'instances_social_key' => '',\r
183 \r
184                 // ipv4_resolve (Boolean)\r
185                 // Resolve IPV4 addresses only. Don't resolve to IPV6.\r
186                 'ipv4_resolve' => false,\r
187 \r
188                 // invitation_only (Boolean)\r
189                 // If set true registration is only possible after a current member of the node has send an invitation.\r
190                 'invitation_only' => false,\r
191 \r
192                 // like_no_comment (Boolean)\r
193                 // Don't update the "commented" value of an item when it is liked.\r
194                 'like_no_comment' => false,\r
195 \r
196                 // local_block (Boolean)\r
197                 // Used in conjunction with "block_public".\r
198                 'local_block' => false,\r
199 \r
200                 // local_search (Boolean)\r
201                 // Blocks search for users who are not logged in to prevent crawlers from blocking your system.\r
202                 'local_search' => false,\r
203 \r
204                 // local_tags (Boolean)\r
205                 // If activated, all hashtags will point to the local server.\r
206                 'local_tags' => false,\r
207 \r
208                 // max_batch_queue (Integer)\r
209                 // Maximum number of batched queue items for a single contact before subsequent messages are discarded.\r
210                 'max_batch_queue' => 1000,\r
211 \r
212                 // max_connections (Integer)\r
213                 // The maximum number of database connections which can be in use before the worker process is deferred to its next interval.\r
214                 // When the system can't detect the maximum numbers of connection then this value can be used. Use 0 for auto-detection.\r
215                 'max_connections' => 0,\r
216 \r
217                 // max_connections_level (Integer 0-100)\r
218                 // The maximum percentage of connections that are allowed to let the worker start.\r
219                 'max_connections_level' => 75,\r
220 \r
221                 // max_contact_queue (Integer)\r
222                 // Maximum number of queue items for a single contact before subsequent messages are discarded.\r
223                 'max_contact_queue' => 500,\r
224 \r
225                 // max_image_length (Integer)\r
226                 // An alternate way of limiting picture upload sizes.\r
227                 // Specify the maximum pixel  length that pictures are allowed to be (for non-square pictures, it will apply to the longest side).\r
228                 // Pictures longer than this length will be resized to be this length (on the longest side, the other side will be scaled appropriately).\r
229                 // If you don't want to set a maximum length, set to -1.\r
230                 'max_image_length' => -1,\r
231 \r
232                 // max_processes_backend (Integer)\r
233                 // Maximum number of concurrent database processes for background tasks.\r
234                 'max_processes_backend' => 5,\r
235 \r
236                 // max_processes_frontend (Integer)\r
237                 // Maximum number of concurrent database processes for foreground tasks.\r
238                 'max_processes_frontend' => 20,\r
239 \r
240                 // maximagesize (Integer)\r
241                 // Maximum size in bytes of an uploaded photo.\r
242                 'maximagesize' => 800000,\r
243 \r
244                 // memcache_host (String)\r
245                 // Host name of the memcache daemon.\r
246                 'memcache_host' => '127.0.0.1',\r
247 \r
248                 // memcache_port (Integer)\r
249                 // Port number of the memcache daemon.\r
250                 'memcache_port' => 11211,\r
251 \r
252                 // memcached_hosts (Array)\r
253                 // Array of Memcached servers info [host, port(, weight)], see Memcached::addServers.\r
254                 'memcached_hosts' => [\r
255                         ['127.0.0.1', '11211'],\r
256                 ],\r
257 \r
258                 // min_poll_interval (Integer)\r
259                 // minimal distance in minutes between two polls for a contact. Reasonable values are between 1 and 59.\r
260                 'min_poll_interval' => 1,\r
261 \r
262                 // no_count (Boolean)\r
263                 // Don't do count calculations (currently only when showing photo albums).\r
264                 'no_count' => false,\r
265 \r
266                 // no_oembed (Boolean)\r
267                 // Don't use OEmbed to fetch more information about a link.\r
268                 'no_oembed' => false,\r
269 \r
270                 // no_smilies (Boolean)\r
271                 // Don't show smilies.\r
272                 'no_smilies' => false,\r
273 \r
274                 // no_view_full_size (Boolean)\r
275                 // Don't add the link "View full size" under a resized image.\r
276                 'no_view_full_size' => false,\r
277 \r
278                 // optimize_items (Boolean)\r
279                 // Triggers an SQL command to optimize the item table before expiring items.\r
280                 'optimize_items' => false,\r
281 \r
282                 // paranoia (Boolean)\r
283                 // Log out users if their IP address changed.\r
284                 'paranoia' => false,\r
285 \r
286                 // permit_crawling (Boolean)\r
287                 // Restricts the search for not logged in users to one search per minute.\r
288                 'permit_crawling' => false,\r
289 \r
290                 // pidfile (Path)\r
291                 // Daemon pid file path. For example: pidfile = /path/to/daemon.pid\r
292                 'pidfile' => '',\r
293 \r
294                 // png_quality (Integer)\r
295                 // Sets the ImageMagick compression level for PNG images. Values ranges from 0 (uncompressed) to 9 (most compressed).\r
296                 'png_quality' => 8,\r
297 \r
298                 // profiler (Boolean)\r
299                 // Enable internal timings to help optimize code. Needed for "rendertime" addon.\r
300                 'profiler' => false,\r
301 \r
302                 // proxy_cache_time (Integer)\r
303                 // Period in seconds after which the cache is cleared.\r
304                 'proxy_cache_time' => 86400,\r
305 \r
306                 // pushpoll_frequency (Integer)\r
307                 // Frequency of contact poll for subhub contact using the DFRM or OStatus network.\r
308                 // Available values:\r
309                 // - 5 = every month\r
310                 // - 4 = every week\r
311                 // - 3 = every day\r
312                 // - 2 = twice a day\r
313                 // - 1 = every hour\r
314                 // - 0 = every minute\r
315                 'pushpoll_frequency' => 3,\r
316 \r
317                 // queue_no_dead_check (Boolean)\r
318                 // Ignore if the target contact or server seems to be dead during queue delivery.\r
319                 'queue_no_dead_check' => false,\r
320 \r
321                 // redis_host (String)\r
322                 // Host name of the redis daemon.\r
323                 'redis_host' => '127.0.0.1',\r
324 \r
325                 // redis_port (String)\r
326                 // Port number of the redis daemon.\r
327                 'redis_port' => 6379,\r
328 \r
329                 // session_handler (database|cache|native)\r
330                 // Whether to use Cache to store session data or to use PHP native session storage.\r
331                 'session_handler' => 'database',\r
332 \r
333                 // remove_multiplicated_lines (Boolean)\r
334                 // If enabled, multiple linefeeds in items are stripped to a single one.\r
335                 'remove_multiplicated_lines' => false,\r
336 \r
337                 // sendmail_params (Boolean)\r
338                 // Normal sendmail command parameters will be added when the PHP mail() function is called for sending e-mails.\r
339                 // This ensures the Sender Email address setting is applied to the message envelope rather than the host's default address.\r
340                 // Set to false if your non-sendmail agent is incompatible, or to restore old behavior of using the host address.\r
341                 'sendmail_params' => true,\r
342 \r
343                 // show_global_community_hint (Boolean)\r
344                 // When the global community page is enabled, use this option to display a hint above the stream, that this is a collection of all public top-level postings that arrive on your node.\r
345                 'show_global_community_hint' => false,\r
346 \r
347                 // show_unsupported_addons (Boolean)\r
348                 // Show all addons including the unsupported ones.\r
349                 'show_unsupported_addons' => false,\r
350 \r
351                 // show_unsupported_themes (Boolean)\r
352                 // Show all themes including the unsupported ones.\r
353                 'show_unsupported_themes' => false,\r
354 \r
355                 // throttle_limit_day (Integer)\r
356                 // Maximum number of posts that a user can send per day with the API. 0 to disable daily throttling.\r
357                 'throttle_limit_day' => 0,\r
358 \r
359                 // throttle_limit_week (Integer)\r
360                 // Maximum number of posts that a user can send per week with the API. 0 to disable weekly throttling.\r
361                 'throttle_limit_week' => 0,\r
362 \r
363                 // throttle_limit_month (Integer)\r
364                 // Maximum number of posts that a user can send per month with the API. 0 to disable monthly throttling.\r
365                 'throttle_limit_month' => 0,\r
366 \r
367                 // urlpath (String)\r
368                 // If you are using a subdirectory of your domain you will need to put the relative path (from the root of your domain) here.\r
369                 // For instance if your URL is 'http://example.com/directory/subdirectory', set urlpath to 'directory/subdirectory'.\r
370                 'urlpath' => '',\r
371 \r
372                 // username_min_length (Integer)\r
373                 // The minimum character length a username can be.\r
374                 // This length is check once the username has been trimmed and multiple spaces have been collapsed into one.\r
375                 // Minimum for this config value is 1. Maximum is 64 as the resulting profile URL mustn't be longer than 255 chars.\r
376                 'username_min_length' => 3,\r
377 \r
378                 // username_max_length (Integer)\r
379                 // The maximum character length a username can be.\r
380                 // This length is check once the username has been trimmed and multiple spaces have been collapsed into one.\r
381                 // Minimum for this config value is 1. Maximum is 64 as the resulting profile URL mustn't be longer than 255 chars.\r
382                 'username_max_length' => 48,\r
383 \r
384                 // worker_cooldown (Integer)\r
385                 // Cooldown period in seconds after each worker function call.\r
386                 'worker_cooldown' => 0,\r
387 \r
388                 // worker_debug (Boolean)\r
389                 // If enabled, it prints out the number of running processes split by priority.\r
390                 'worker_debug' => false,\r
391 \r
392                 // worker_fetch_limit (Integer)\r
393                 // Number of worker tasks that are fetched in a single query.\r
394                 'worker_fetch_limit' => 1,\r
395 \r
396                 // worker_load_exponent (Integer)\r
397                 // Default 3, which allows only 25% of the maximum worker queues when server load reaches around 37% of maximum load.\r
398                 // For a linear response where 25% of worker queues are allowed at 75% of maximum load, set this to 1.\r
399                 // Setting 0 would allow maximum worker queues at all times, which is not recommended.\r
400                 'worker_load_exponent' => 3,\r
401 \r
402                 // xrd_timeout (Integer)\r
403                 // Timeout in seconds for fetching the XRD links.\r
404                 'xrd_timeout' => 20,\r
405         ],\r
406         'experimental' => [\r
407                 // exp_themes (Boolean)\r
408                 // Show experimental themes in user settings.\r
409                 'exp_themes' => false,\r
410         ],\r
411         'theme' => [\r
412                 // hide_eventlist (Boolean)\r
413                 // Don't show the birthdays and events on the profile and network page.\r
414                 'hide_eventlist' => false,\r
415         ],\r
416         'jabber' => [\r
417                 // debug (Boolean)\r
418                 // Enable debug level for the jabber account synchronisation.\r
419                 'debug' => false,\r
420                 // lockpath (Path)\r
421                 // Must be writable by the ejabberd process. if set then it will prevent the running of multiple processes.\r
422                 'lockpath' => '',\r
423         ],\r
424 ];\r