Issue 13819: Ensure to not use OEmbed if not wanted
[friendica.git/.git] / static / defaults.config.php
1 <?php
2 /**
3  * @copyright Copyright (C) 2010-2024, the Friendica project
4  *
5  * @license GNU AGPL version 3 or any later version
6  *
7  * This program is free software: you can redistribute it and/or modify
8  * it under the terms of the GNU Affero General Public License as
9  * published by the Free Software Foundation, either version 3 of the
10  * License, or (at your option) any later version.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  * GNU Affero General Public License for more details.
16  *
17  * You should have received a copy of the GNU Affero General Public License
18  * along with this program.  If not, see <https://www.gnu.org/licenses/>.
19  *
20  * This file declares the default values for the base config of Friendica.
21  *
22  * These configuration values aren't accessible from the admin settings page and custom values must be set in config/local.config.php
23  *
24  * Please don't edit this file directly as its content may change in the upcoming versions.
25  *
26  */
27
28 return [
29         'database' => [
30                 // host (String)
31                 // Hostname or IP address of the database server.
32                 // Can contain the port number with the syntax "hostname:port".
33                 'hostname' => '',
34
35                 // port (Integer)
36                 // Port of the database server.
37                 // Can be used instead of adding a port number to the hostname
38                 'port' => null,
39
40                 // socket (String)
41                 // Socket of the database server.
42                 // Can be used instead of adding a socket location to the hostname
43                 'socket' => '',
44
45                 // user (String)
46                 // Database username. Please don't use "root".
47                 'username' => '',
48
49                 // pass (String)
50                 // Database user password. Please don't use empty passwords.
51                 'password' => '',
52
53                 // base (String)
54                 // Database name.
55                 'database' => '',
56
57                 // charset (String)
58                 // Database connection charset. Changing this value will likely corrupt special characters.
59                 'charset' => 'utf8mb4',
60
61                 // pdo_emulate_prepares (Boolean)
62                 // If enabled, the builtin emulation for prepared statements is used.
63                 // This can be used as a workaround for the database error "Prepared statement needs to be re-prepared".
64                 'pdo_emulate_prepares' => true,
65
66                 // disable_pdo (Boolean)
67                 // PDO is used by default (if available). Otherwise, MySQLi will be used.
68                 'disable_pdo' => false,
69
70                 // persistent (Boolean)
71                 // This controls if the system should use persistent connections or not.
72                 // Persistent connections increase the performance.
73                 // On the other hand the number of open connections are higher,
74                 // this will most likely increase the system load.
75                 'persistent' => false,
76         ],
77         'config' => [
78                 // admin_email (Comma-separated list)
79                 // In order to perform system administration via the admin panel,
80                 // this must precisely match the email address of the person logged in.
81                 'admin_email' => '',
82
83                 // admin_nickname (String)
84                 // Nickname of the main admin user, used if there are more than one admin user defined in config => admin_email.
85                 'admin_nickname' => '',
86
87                 // max_import_size (Integer)
88                 // Maximum body size of DFRN and Mail messages in characters. 0 is unlimited.
89                 'max_import_size' => 200000,
90
91                 // php_path (String)
92                 // Location of PHP command line processor.
93                 'php_path' => 'php',
94         ],
95         'system' => [
96                 // add_missing_posts (boolean)
97                 // Checks for missing entries in "post", "post-thread" or "post-thread-user" and creates them
98                 'add_missing_posts' => false,
99
100                 // allowed_link_protocols (Array)
101                 // Allowed protocols in links URLs, add at your own risk. http(s) is always allowed.
102                 'allowed_link_protocols' => ['ftp://', 'ftps://', 'mailto:', 'cid:', 'gopher://'],
103
104                 // always_show_preview (Boolean)
105                 // Only show small preview pictures.
106                 'always_show_preview' => false,
107
108                 // ap_always_bcc (Boolean)
109                 // Addresses non-mentioned ActivityPub receivers by BCC instead of CC. Increases privacy, decreases performance.
110                 'ap_always_bcc' => false,
111
112                 // auth_cookie_lifetime (Integer)
113                 // Number of days that should pass without any activity before a user who
114                 // chose "Remember me" when logging in is considered logged out.
115                 'auth_cookie_lifetime' => 7,
116
117                 // avatar_cache (Boolean)
118                 // Cache avatar pictures as files (experimental)
119                 'avatar_cache' => false,
120
121                 // avatar_cache_path (String)
122                 // File path to the avatar cache. Default is /(your basepath)/avatar/
123                 // The value has to be an absolute path and has to end with a "/"
124                 'avatar_cache_path' => '',
125
126                 // avatar_cache_url (String)
127                 // Base URL of the avatar cache. Default is http(s)://(your hostname)/avatar/
128                 // The value has to start with the scheme and end with a "/"
129                 'avatar_cache_url' => '',
130
131                 // basicauth (Boolean)
132                 // Controls if login via BasicAuth is possible (default is true)
133                 'basicauth' => true,
134
135                 // big_emojis (Boolean)
136                 // Display "Emoji Only" posts in big.
137                 'big_emojis' => true,
138
139                 // bulk_delivery (Boolean)
140                 // Delivers AP messages in a bulk (experimental)
141                 'bulk_delivery' => false,
142
143                 // block_local_dir (Boolean)
144                 // Deny public access to the local user directory.
145                 'block_local_dir' => false,
146
147                 // contact_update_limit (Integer)
148                 // How many contacts should be checked at a time?
149                 'contact_update_limit' => 100,
150
151                 // cache_driver (database|memcache|memcached|redis|apcu)
152                 // Whether to use Memcache, Memcached, Redis or APCu to store temporary cache.
153                 'cache_driver' => 'database',
154
155                 // distributed_cache_driver (database|memcache|memcached|redis)
156                 // Whether to use database, Memcache, Memcached or Redis as a distributed cache.
157                 'distributed_cache_driver' => 'database',
158
159                 // fetch_parents (Boolean)
160                 // Fetch missing parent posts
161                 'fetch_parents' => true,
162
163                 // config_adapter (jit|preload)
164                 // Allow to switch the configuration adapter to improve performances at the cost of memory consumption.
165                 // jit is slightly slower, while preload consumes marginally more memory
166                 'config_adapter' => 'jit',
167
168                 // crawl_permit_period (Integer)
169                 // Period in seconds between allowed searches when the number of free searches is reached and "permit_crawling" is activated.
170                 'crawl_permit_period' => 60,
171
172                 // db_log (Path)
173                 // Name of a logfile to log slow database queries.
174                 'db_log' => '',
175
176                 // db_log_index (Path)
177                 // Name of a logfile to log queries with bad indexes.
178                 'db_log_index' => '',
179
180                 // db_log_index_watch (Comma-separated list)
181                 // Watchlist of indexes to watch.
182                 'db_log_index_watch' => '',
183
184                 // db_log_index_denylist (Comma-separated list)
185                 // Deny list of indexes that shouldn't be watched.
186                 'db_log_index_denylist' => '',
187
188                 // db_loglimit (Integer)
189                 // If a database call lasts longer than this value in seconds it is logged.
190                 // Inactive if system => db_log is empty.
191                 'db_loglimit' => 10,
192
193                 // db_loglimit_index (Integer)
194                 // Number of index rows needed to be logged for indexes on the watchlist. 0 to disable.
195                 'db_loglimit_index' => 0,
196
197                 // db_loglimit_index_high (Integer)
198                 // Number of index rows to be logged anyway (for any index). 0 to disable.
199                 'db_loglimit_index_high' => 0,
200
201                 // dbclean_expire_conversation (Integer)
202                 // When DBClean is enabled, any entry in the conversation table will be deleted after this many days.
203                 // This data is used for ActivityPub, so it shouldn't be lower than the average duration of a discussion.
204                 'dbclean_expire_conversation' => 90,
205
206                 // dbclean-expire-limit (Integer)
207                 // This defines the number of items that are to be deleted in a single call.
208                 // Reduce this value when you are getting lock issues.
209                 // A value of 0 disables the deletion process.
210                 'dbclean-expire-limit' => 1000,
211
212                 // daemon_watchdog (Boolean)
213                 // Enable regular checking if the daemon is running.
214                 // If it is not running and hadn't been terminated normally, it will be started automatically.
215                 'daemon_watchdog' => false,
216
217                 // delete_sleeping_processes (Boolean)
218                 // Periodically delete waiting database processes.
219                 'delete_sleeping_processes' => false,
220
221                 // delete-blocked-servers (Boolean)
222                 // Delete blocked servers if there are no foreign key violations.
223                 'delete-blocked-servers' => false,
224
225                 // dice_profiler_threshold (Float)
226                 // For profiling Dice class creation (0 = disabled, >0 = seconds threshold for profiling)
227                 'dice_profiler_threshold' => 0.5,
228
229                 // diaspora_test (Boolean)
230                 // For development only. Disables the message transfer.
231                 'diaspora_test' => false,
232
233                 // disable_email_validation (Boolean)
234                 // Disables the check if a mail address is in a valid format and can be resolved via DNS.
235                 'disable_email_validation' => false,
236
237                 // disable_implicit_mentions (Boolean) since 2019.03
238                 // Implicit mentions are mentions in the body of replies that are redundant in a thread-enabled system like Friendica.
239                 // This config key disables the gathering of implicit mentions in incoming and outgoing posts.
240                 // Also disables the default automatic removal of implicit mentions from the body of incoming posts.
241                 // Also disables the default automatic addition of implicit mentions in the body of outgoing posts.
242                 // Disabling implicit mentions also affects the "explicit_mentions" additional feature by limiting it
243                 // to the replied-to post author mention in the comment boxes.
244                 'disable_implicit_mentions' => false,
245
246                 // disable_url_validation (Boolean)
247                 // Disables the DNS lookup of a URL.
248                 'disable_url_validation' => false,
249
250                 // disable_password_exposed (Boolean)
251                 // Disable the exposition check against the remote haveibeenpwned API on password change.
252                 'disable_password_exposed' => false,
253
254                 // display_resharer (Boolean)
255                 // Display the first resharer as icon and text on a reshared item.
256                 'display_resharer' => false,
257
258                 // dlogfile (Path)
259                 // location of the developer log file.
260                 'dlogfile' => '',
261
262                 // dlogip (String)
263                 // restricts develop log writes to requests originating from this IP address.
264                 'dlogip' => '',
265
266                 // legacy_activities (Boolean)
267                 // Display received activities (like, dislike, reshare) as detailed list
268                 'legacy_activities' => true,
269
270                 // expire-notify-priority (integer)
271                 // Priority for the expiry notification
272                 'expire-notify-priority' => Friendica\Core\Worker::PRIORITY_LOW,
273
274                 // fetch_featured_posts (Boolean)
275                 // Fetch featured posts from all contacts
276                 'fetch_featured_posts' => false,
277
278                 // free_crawls (Integer)
279                 // Number of "free" searches when system => permit_crawling is enabled.
280                 'free_crawls' => 10,
281
282                 // circle_edit_image_limit (Integer)
283                 // Number of contacts at which the circle editor should switch from display the profile pictures of the contacts to only display the names.
284                 // This can alternatively be set on a per-account basis in the pconfig table.
285                 'circle_edit_image_limit' => 400,
286
287                 // gserver_update_limit (Integer)
288                 // How many servers should be checked at a time?
289                 'gserver_update_limit' => 100,
290
291                 // hsts (Boolean)
292                 // Enables the sending of HTTP Strict Transport Security headers.
293                 'hsts' => false,
294
295                 // ignore_cache (Boolean)
296                 // For development only. Disables the item cache.
297                 'ignore_cache' => false,
298
299                 // insecure_imap (Boolean)
300                 // If enabled, users are allowed to connect to their IMAP servers unencrypted.
301                 // For security reasons this is disabled by default.
302                 'insecure_imap' => false,
303
304                 // instances_social_key (String)
305                 // Key to the API of https://instances.social which retrieves data about mastodon servers.
306                 // See https://instances.social/api/token to get an API key.
307                 'instances_social_key' => '',
308
309                 // ipv4_resolve (Boolean)
310                 // Resolve IPV4 addresses only. Don't resolve to IPV6.
311                 'ipv4_resolve' => false,
312
313                 // ini_max_execution_time (False|Integer)
314                 // Set the number of seconds a script is allowed to run. Default unlimited for Friendica, false to use the system value.
315                 'ini_max_execution_time' => 0,
316
317                 // ini_pcre_backtrack_limit (False|Integer)
318                 // This has to be quite large to deal with embedded private photos. False to use the system value.
319                 'ini_pcre_backtrack_limit' => 500000,
320
321                 // invitation_only (Boolean)
322                 // If set true registration is only possible after a current member of the node has sent an invitation.
323                 'invitation_only' => false,
324
325                 // like_no_comment (Boolean)
326                 // Don't update the "commented" value of an item when it is liked.
327                 'like_no_comment' => false,
328
329                 // limited_servers (String)
330                 // A comma separated list of server hostnames that should get limited profile data
331                 'limited_servers' => '',
332
333                 // local_tags (Boolean)
334                 // If activated, all hashtags will point to the local server.
335                 'local_tags' => true,
336
337                 // lock_driver (semaphore|database|memcache|memcached|redis|apcu)
338                 // Whether to use semaphores, the database, Memcache, Memcached, Redis or APCu to handle locks.
339                 // Default is auto detection which tries semaphores first, then falls back to the cache driver.
340                 'lock_driver' => '',
341
342                 // logger_config (String)
343                 // Sets the logging adapter of Friendica globally (monolog, syslog, stream)
344                 'logger_config' => 'stream',
345
346                 // syslog_flags (Integer)
347                 // Sets the syslog flags in case 'logger_config' is set to 'syslog'
348                 'syslog_flags' => LOG_CONS | LOG_PID | LOG_ODELAY,
349
350                 // syslog_facility (Integer)
351                 // Sets the syslog facility in case 'logger_config' is set to 'syslog'
352                 'syslog_facility' => LOG_USER,
353
354                 // maintenance_start (String)
355                 // Start of the window for the daily maintenance cron call.
356                 // The system timezone is used when no timezone is defined here.
357                 'maintenance_start' => '01:00 +00:00',
358
359                 // maintenance_end (String)
360                 // End of the window for the daily maintenance cron call
361                 // The system timezone is used when no timezone is defined here.
362                 'maintenance_end' => '03:00 +00:00',
363
364                 // max_connections (Integer)
365                 // The maximum number of database connections which can be in use before the worker process is deferred to its next interval.
366                 // When the system can't detect the maximum numbers of connection then this value can be used. Use 0 for auto-detection.
367                 'max_connections' => 0,
368
369                 // max_connections_level (Integer 0-100)
370                 // The maximum percentage of connections that are allowed to let the worker start.
371                 'max_connections_level' => 75,
372
373                 // max_csv_file_size (Integer)
374                 // When uploading a CSV with account addresses to follow
375                 // in the user settings, this controls the maximum file
376                 // size of the upload file.
377                 'max_csv_file_size' => 30720,
378
379                 // max_feed_items (Integer)
380                 // Maximum number of feed items that are fetched and processed. For unlimited items set to 0.
381                 'max_feed_items' => 20,
382
383                 // max_image_length (Integer)
384                 // An alternate way of limiting picture upload sizes.
385                 // Specify the maximum pixel length that pictures are allowed to be (for non-square pictures, it will apply to the longest side).
386                 // Pictures longer than this length will be resized to be this length (on the longest side, the other side will be scaled appropriately).
387                 // If you don't want to set a maximum length, set to -1.
388                 'max_image_length' => -1,
389
390                 // max_likers (Integer)
391                 // Maximum number of "people who like (or don't like) this" that we will list by name
392                 'max_likers' => 75,
393
394                 // max_processes_backend (Integer)
395                 // Maximum number of concurrent database processes for background tasks.
396                 'max_processes_backend' => 5,
397
398                 // max_processes_frontend (Integer)
399                 // Maximum number of concurrent database processes for foreground tasks.
400                 'max_processes_frontend' => 20,
401
402                 // max_receivers (Integer)
403                 // The maximum number of displayed receivers of posts
404                 'max_receivers' => 10,
405
406                 // max_recursion_depth (Integer)
407                 // Maximum recursion depth when fetching posts until the job is delegated to a worker task or finished.
408                 'max_recursion_depth' => 50,
409
410                 // memcache_host (String)
411                 // Host name of the memcache daemon.
412                 'memcache_host' => '127.0.0.1',
413
414                 // memcache_port (Integer)
415                 // Port number of the memcache daemon.
416                 'memcache_port' => 11211,
417
418                 // memcached_hosts (Array)
419                 // Array of Memcached servers info [host, port(, weight)], see Memcached::addServers.
420                 'memcached_hosts' => [
421                         ['127.0.0.1', '11211'],
422                 ],
423
424                 // minimum_posting_interval (Integer)
425                 // Minimum interval between two feed posts per user
426                 'minimum_posting_interval' => 0,
427
428                 // no_count (Boolean)
429                 // Don't do count calculations (currently only when showing photo albums).
430                 'no_count' => false,
431
432                 // no_redirect_list (Array)
433                 // List of domains where HTTP redirects should be ignored.
434                 'no_redirect_list' => [],
435
436                 // no_smilies (Boolean)
437                 // Don't show smilies.
438                 'no_smilies' => false,
439
440                 // optimize_all_tables (Boolean)
441                 // Optimizes all tables instead of only tables like workerqueue or the cache
442                 'optimize_all_tables' => false,
443
444                 // paranoia (Boolean)
445                 // Log out users if their IP address changed.
446                 'paranoia' => false,
447
448                 // permit_crawling (Boolean)
449                 // Restricts the search for not logged-in users to one search per minute.
450                 'permit_crawling' => false,
451
452                 // pidfile (Path)
453                 // Daemon pid file path. For example: pidfile = /path/to/daemon.pid
454                 'pidfile' => '',
455
456                 // png_quality (Integer)
457                 // Sets the ImageMagick compression level for PNG images. Values range from 0 (uncompressed) to 9 (most compressed).
458                 'png_quality' => 8,
459
460                 // profiler (Boolean)
461                 // Enable internal timings to help optimize code. Needed for "rendertime" addon.
462                 'profiler' => false,
463
464                 // redis_host (String)
465                 // Host name or the path to the Unix domain socket of the Redis daemon.
466                 'redis_host' => '127.0.0.1',
467
468                 // redis_port (Integer)
469                 // Port number of the Redis daemon, should be -1 for unix domain socket
470                 'redis_port' => 6379,
471
472                 // redis_db (Integer)
473                 // The sub-database of redis (0 - 15 possible sub-databases)
474                 'redis_db' => 0,
475
476                 // redis_password (String)
477                 // The authentication password for the redis database
478                 'redis_password' => null,
479
480                 // redistribute_activities (Boolean)
481                 // Redistribute incoming activities via ActivityPub
482                 'redistribute_activities' => true,
483
484                 // session_handler (database|cache|native)
485                 // Whether to use Cache to store session data or to use PHP native session storage.
486                 'session_handler' => 'database',
487
488                 // remote_avatar_lookup (Boolean)
489                 // Perform an avatar lookup via the activated services for remote contacts
490                 'remote_avatar_lookup' => false,
491
492                 // remove_multiplicated_lines (Boolean)
493                 // If enabled, multiple linefeeds in items are stripped to a single one.
494                 'remove_multiplicated_lines' => false,
495
496                 // runtime_ignore (Array)
497                 // List of ignored commands for the runtime logging.
498                 'runtime_ignore' => [],
499
500                 // runtime_loglimit (Integer)
501                 // The runtime is logged, When the program execution time is higher than this value.
502                 'runtime_loglimit' => 0,
503
504                 // sendmail_params (Boolean)
505                 // Normal sendmail command parameters will be added when the PHP mail() function is called for sending e-mails.
506                 // This ensures the Sender Email address setting is applied to the message envelope rather than the host's default address.
507                 // Set to false if your non-sendmail agent is incompatible, or to restore old behavior of using the host address.
508                 'sendmail_params' => true,
509
510                 // set_creation_date (Boolean)
511                 // When enabled, the user can enter a creation date when composing a post.
512                 'set_creation_date' => false,
513
514                 // show_global_community_hint (Boolean)
515                 // 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 at your node.
516                 'show_global_community_hint' => false,
517
518                 // show_received (Boolean)
519                 // Show the received date along with the post creation date
520                 'show_received' => true,
521
522                 // show_received_seconds (Integer)
523                 // Display the received date when the difference between received and created is higher than this.
524                 'show_received_seconds' => 500,
525
526                 // show_unsupported_addons (Boolean)
527                 // Show all addons including the unsupported ones.
528                 'show_unsupported_addons' => false,
529
530                 // show_unsupported_themes (Boolean)
531                 // Show all themes including the unsupported ones.
532                 'show_unsupported_themes' => false,
533
534                 // throttle_limit_day (Integer)
535                 // Maximum number of posts that a user can send per day with the API. 0 to disable daily throttling.
536                 'throttle_limit_day' => 0,
537
538                 // throttle_limit_week (Integer)
539                 // Maximum number of posts that a user can send per week with the API. 0 to disable weekly throttling.
540                 'throttle_limit_week' => 0,
541
542                 // throttle_limit_month (Integer)
543                 // Maximum number of posts that a user can send per month with the API. 0 to disable monthly throttling.
544                 'throttle_limit_month' => 0,
545
546                 // transmit_pending_events (Boolean)
547                 // Transmit pending events upon accepted contact request for groups
548                 'transmit_pending_events' => false,
549
550                 // username_min_length (Integer)
551                 // The minimum character length a username can be.
552                 // This length is checked once the username has been trimmed and multiple spaces have been collapsed into one.
553                 // Minimum for this config value is 1. Maximum is 64 as the resulting profile URL mustn't be longer than 255 chars.
554                 'username_min_length' => 3,
555
556                 // username_max_length (Integer)
557                 // The maximum character length a username can be.
558                 // This length is checked once the username has been trimmed and multiple spaces have been collapsed into one.
559                 // Minimum for this config value is 1. Maximum is 64 as the resulting profile URL mustn't be longer than 255 chars.
560                 'username_max_length' => 48,
561
562                 // worker_cooldown (Float)
563                 // Cooldown period in seconds before each worker function call.
564                 'worker_cooldown' => 0,
565
566                 // worker_debug (Boolean)
567                 // If enabled, it prints out the number of running processes split by priority.
568                 'worker_debug' => false,
569
570                 // worker_fork (Boolean)
571                 // Experimental setting. Use pcntl_fork to spawn a new worker process.
572                 // Does not work when "worker_multiple_fetch" is enabled (Needs more testing)
573                 'worker_fork' => false,
574
575                 // worker_jpm (Boolean)
576                 // If enabled, it prints out the jobs per minute.
577                 'worker_jpm' => false,
578
579                 // worker_jpm_range (String)
580                 // List of minutes for the jobs per minute (JPM) calculation
581                 'worker_jpm_range' => '1, 10, 60',
582
583                 // worker_load_exponent (Integer)
584                 // Default 3, which allows only 25% of the maximum worker queues when server load reaches around 37% of maximum load.
585                 // For a linear response where 25% of worker queues are allowed at 75% of maximum load, set this to 1.
586                 // Setting 0 would allow maximum worker queues at all times, which is not recommended.
587                 'worker_load_exponent' => 3,
588
589                 // worker_max_duration (Array)
590                 // Maximum runtime per priority. Worker processes that exceed this runtime will be terminated.
591                 'worker_max_duration' => [
592                         Friendica\Core\Worker::PRIORITY_CRITICAL   => 720,
593                         Friendica\Core\Worker::PRIORITY_HIGH       => 10,
594                         Friendica\Core\Worker::PRIORITY_MEDIUM     => 60,
595                         Friendica\Core\Worker::PRIORITY_LOW        => 180,
596                         Friendica\Core\Worker::PRIORITY_NEGLIGIBLE => 720
597                 ],
598
599                 // worker_processes_cooldown (Integer)
600                 // Maximum number per processes that causes a cooldown before each worker function call.
601                 'worker_processes_cooldown' => 0,
602
603                 // worker_multiple_fetch (Boolean)
604                 // When activated, the worker fetches jobs for multiple workers (not only for itself).
605                 // This is an experimental setting without knowing the performance impact.
606                 // Does not work when "worker_fork" is enabled (Needs more testing)
607                 'worker_multiple_fetch' => false,
608
609                 // xrd_timeout (Integer)
610                 // Timeout in seconds for fetching the XRD links and other requests with an expected shorter timeout
611                 'xrd_timeout' => 20,
612         ],
613         'performance' => [
614                 // max_response_data_size (Integer)
615                 // Maximum allowed outgoing HTTP request response data size in Bytes. Does not affect incoming requests to this node.
616                 // Warning: Lowering this value can help with some PHP memory exhaustion issues, but can also partially break some federation features e.g. large posts may not be fetched or received from remote servers.
617                 'max_response_data_size' => 1000000,
618         ],
619         'proxy' => [
620                 // forwarded_for_headers (String)
621                 // A comma separated list of all allowed header values to retrieve the real client IP
622                 // The headers are evaluated in order.
623                 'forwarded_for_headers' => 'HTTP_X_FORWARDED_FOR',
624
625                 // trusted_proxies (String)
626                 // A comma separated list of all trusted proxies, which will get skipped during client IP retrieval
627                 // IP ranges and CIDR notations are allowed
628                 'trusted_proxies' => '',
629         ],
630         'experimental' => [
631                 // exp_themes (Boolean)
632                 // Show experimental themes in user settings.
633                 'exp_themes' => false,
634         ],
635         'theme' => [
636                 // hide_eventlist (Boolean)
637                 // Don't show the birthdays and events on the profile and network page.
638                 'hide_eventlist' => false,
639         ],
640         'jabber' => [
641                 // debug (Boolean)
642                 // Enable debug level for the jabber account synchronisation.
643                 'debug' => false,
644                 // lockpath (Path)
645                 // Must be writable by the ejabberd process. if set then it will prevent the running of multiple processes.
646                 'lockpath' => '',
647         ],
648         'diaspora' => [
649                 // native_photos (Boolean)
650                 // If enabled, photos to Diaspora will be transmitted via the "photo" element instead of embedding them to the body.
651                 // This is some visual improvement over the embedding but comes with the cost of losing accessibility.
652                 // Is is disabled by default until Diaspora eventually will work on issue https://github.com/diaspora/diaspora/issues/8297
653                 'native_photos' => false,
654         ],
655         'debug' => [
656                 // ap_inbox_log (Boolean)
657                 // Logs every call to /inbox as a JSON file in Friendica's temporary directory
658                 'ap_inbox_log' => false,
659
660                 // ap_inbox_store_untrusted (Boolean)
661                 // Store untrusted content in the inbox entries
662                 'ap_inbox_store_untrusted' => false,
663
664                 // ap_log_unknown (Boolean)
665                 // Logs every unknown ActivityPub activity
666                 'ap_log_unknown' => false,
667
668                 // ap_log_failure (Boolean)
669                 // Logs every ActivityPub activity that couldn't be compacted
670                 'ap_log_failure' => false,
671
672                 // store_source (Boolean)
673                 // Store the source of any post that arrived
674                 'store_source' => false,
675         ],
676         'smarty3' => [
677                 // config_dir (String)
678                 // Base working directory for the templating engine, must be writeable by the webserver user
679                 'config_dir' => 'view/smarty3',
680
681                 // use_sub_dirs (Boolean)
682                 // By default the template cache is stored in several subdirectories.
683                 'use_sub_dirs' => true,
684         ],
685         'api' => [
686                 // mastodon_banner (String)
687                 // Default banner image for Mastodon API, must be a relative path from the base Friendica folder
688                 //
689                 // Default picture credits:
690                 // Author: Lostinlight <https://mastodon.xyz/@lightone>
691                 // License: CC0 https://creativecommons.org/share-your-work/public-domain/cc0/
692                 // Link to original work: https://gitlab.com/lostinlight/per_aspera_ad_astra/-/blob/master/friendica-404/friendica-promo-bubbles.jpg
693                 'mastodon_banner' => '/images/friendica-banner.jpg',
694         ],
695         'blocklist' => [
696                 // public (Boolean)
697                 // Wether the blocklist is publicly listed under /about (or in any later API)
698                 'public' => true,
699         ],
700 ];