// Cache avatar pictures as files (experimental)
'avatar_cache' => false,
+ // avatar_cache_path (String)
+ // File path to the avatar cache. Default is /(your basepath)/avatar/
+ // The value has to be an absolute path and has to end with a "/"
+ 'avatar_cache_path' => '',
+
+ // avatar_cache_url (String)
+ // Base URL of the avatar cache. Default is http(s)://(your hostname)/avatar/
+ // The value has to start with the scheme and end with a "/"
+ 'avatar_cache_url' => '',
+
// big_emojis (Boolean)
// Display "Emoji Only" posts in big.
'big_emojis' => false,
// Whether to use Memcache, Memcached, Redis or APCu to store temporary cache.
'cache_driver' => 'database',
+ // decoupled_receiver (Boolean)
+ // Decouple incoming AP posts by doing the processing in the background.
+ 'decoupled_receiver' => false,
+
// distributed_cache_driver (database|memcache|memcached|redis)
// Whether to use database, Memcache, Memcached or Redis as a distributed cache.
'distributed_cache_driver' => 'database',
+ // fetch_parents (Boolean)
+ // Fetch missing parent posts
+ 'fetch_parents' => true,
+
// config_adapter (jit|preload)
// Allow to switch the configuration adapter to improve performances at the cost of memory consumption.
'config_adapter' => 'jit',
// Priority for the expirary notification
'expire-notify-priority' => PRIORITY_LOW,
+ // fetch_by_worker (Boolean)
+ // Fetch missing posts via a background process
+ 'fetch_by_worker' => false,
+
+ // fetch_featured_posts (Boolean)
+ // Fetch featured posts from all contacts
+ 'fetch_featured_posts' => false,
+
// free_crawls (Integer)
// Number of "free" searches when system => permit_crawling is enabled.
'free_crawls' => 10,
// Maximum number of concurrent database processes for foreground tasks.
'max_processes_frontend' => 20,
+ // max_recursion_depth (Integer)
+ // Maximum recursion depth when fetching posts until the job is delegated to a worker task or finished.
+ 'max_recursion_depth' => 50,
+
// maximagesize (Integer)
// Maximum size in bytes of an uploaded photo.
'maximagesize' => 800000,
// The authentication password for the redis database
'redis_password' => null,
+ // relay_deny_languages (Array)
+ // Array of languages (two digit format) that are rejected.
+ 'relay_deny_languages' => [],
+
+ // relay_deny_undetected_language (Boolean)
+ // Deny undetected languages
+ 'relay_deny_undetected_language' => false,
+
// session_handler (database|cache|native)
// Whether to use Cache to store session data or to use PHP native session storage.
'session_handler' => 'database',
// runtime_loglimit (Integer)
// The runtime is logged, When the program execution time is higher than this value.
'runtime_loglimit' => 0,
-
+
// sendmail_params (Boolean)
// Normal sendmail command parameters will be added when the PHP mail() function is called for sending e-mails.
// This ensures the Sender Email address setting is applied to the message envelope rather than the host's default address.
// Minimum for this config value is 1. Maximum is 64 as the resulting profile URL mustn't be longer than 255 chars.
'username_max_length' => 48,
- // worker_cooldown (Integer)
- // Cooldown period in seconds after each worker function call.
+ // worker_cooldown (Float)
+ // Cooldown period in seconds before each worker function call.
'worker_cooldown' => 0,
// worker_debug (Boolean)
// List of minutes for the jobs per minute (JPM) calculation
'worker_jpm_range' => '1, 10, 60',
+ // worker_load_cooldown (Integer)
+ // Maximum load that causes a cooldown before each worker function call.
+ 'worker_load_cooldown' => 0,
+
// worker_load_exponent (Integer)
// Default 3, which allows only 25% of the maximum worker queues when server load reaches around 37% of maximum load.
// For a linear response where 25% of worker queues are allowed at 75% of maximum load, set this to 1.
// Setting 0 would allow maximum worker queues at all times, which is not recommended.
'worker_load_exponent' => 3,
+ // worker_max_duration (Array)
+ // Maximum runtime per priority. Worker processes that exceed this runtime will be terminated.
+ 'worker_max_duration' => [
+ Friendica\Core\Worker::PRIORITY_CRITICAL => 720,
+ Friendica\Core\Worker::PRIORITY_HIGH => 10,
+ Friendica\Core\Worker::PRIORITY_MEDIUM => 60,
+ Friendica\Core\Worker::PRIORITY_LOW => 180,
+ Friendica\Core\Worker::PRIORITY_NEGLIGIBLE => 720
+ ],
+
+ // worker_processes_cooldown (Integer)
+ // Maximum number per processes that causes a cooldown before each worker function call.
+ 'worker_processes_cooldown' => 0,
+
// worker_multiple_fetch (Boolean)
// When activated, the worker fetches jobs for multiple workers (not only for itself).
// This is an experimental setting without knowing the performance impact.
// Does not work when "worker_fork" is enabled (Needs more testing)
'worker_multiple_fetch' => false,
-
+
// worker_defer_limit (Integer)
// Per default the systems tries delivering for 15 times before dropping it.
'worker_defer_limit' => 15,
// Timeout in seconds for fetching the XRD links and other requests with an expected shorter timeout
'xrd_timeout' => 20,
],
+ 'proxy' => [
+ // forwarded_for_headers (String)
+ // A comma separated list of all allowed header values to retrieve the real client IP
+ // The headers are evaluated in order.
+ 'forwarded_for_headers' => 'HTTP_X_FORWARDED_FOR',
+
+ // trusted_proxies (String)
+ // A comma separated list of all trusted proxies, which will get skipped during client IP retrieval
+ // IP ranges and CIDR notations are allowed
+ 'trusted_proxies' => '',
+ ],
'experimental' => [
// exp_themes (Boolean)
// Show experimental themes in user settings.
// Logs every call to /inbox as a JSON file in Friendica's temporary directory
'ap_inbox_log' => false,
+ // ap_inbox_store_untrusted (Boolean)
+ // Store untrusted content in the inbox entries
+ 'ap_inbox_store_untrusted' => false,
+
// total_ap_delivery (Boolean)
// Deliver via AP to every possible receiver and we suppress the delivery to these contacts with other protocols
'total_ap_delivery' => false,
- ]
+
+ // ap_log_unknown (Boolean)
+ // Logs every unknown ActivityPub activity
+ 'ap_log_unknown' => false,
+
+ // ap_log_failure (Boolean)
+ // Logs every ActivityPub activity that couldn't be compacted
+ 'ap_log_failure' => false,
+ ],
+ 'smarty3' => [
+ // config_dir (String)
+ // Base working directory for the templating engine, must be writeable by the webserver user
+ 'config_dir' => 'view/smarty3',
+
+ // use_sub_dirs (Boolean)
+ // By default the template cache is stored in several sub directories.
+ //
+ 'use_sub_dirs' => true,
+ ],
];