3 * @copyright Copyright (C) 2010-2023, the Friendica project
5 * @license GNU AGPL version 3 or any later version
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.
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.
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/>.
20 * This file declares the default values for the admin settings of Friendica.
22 * These values will be overridden by the admin settings page.
24 * Please don't edit this file directly as its content may change in the upcoming versions.
31 // Plaintext description of this node, used in the /friendica module.
34 // register_policy (Constant)
35 // Your choices are OPEN, APPROVE, or CLOSED.
36 // Be certain to create your own personal account before setting CLOSED.
37 // APPROVE requires you set system.admin_email to the email address of an
38 // already registered person who can authorize and/or approve/deny the request.
39 'register_policy' => \Friendica\Module\Register::CLOSED,
41 // register_text (String)
42 // Will be displayed prominently on the registration page.
43 'register_text' => '',
46 // Displayed server name.
47 'sitename' => 'Friendica Social Network',
50 // account_abandon_days (Integer)
51 // Will not waste system resources polling external sites for abandoned accounts.
52 // Enter 0 for no time limit.
53 'account_abandon_days' => 0,
55 // add_missing_posts (boolean)
56 // Checks for missing entries in "post", "post-thread" or "post-thread-user" and creates them
57 'add_missing_posts' => false,
59 // adjust_poll_frequency (Boolean)
60 // Automatically detect and set the best feed poll frequency.
61 'adjust_poll_frequency' => false,
63 // allowed_themes (Comma-separated list)
64 // Themes users can change to in their settings.
65 'allowed_themes' => 'frio,vier',
67 // archival_days (Integer)
68 // Number of days that we try to deliver content before we archive a contact.
69 'archival_days' => 32,
71 // banner (HTML string)
72 // HTML snippet of the top navigation banner. Not supported by frio.
73 'banner' => '<a href="https://friendi.ca"><img id="logo-img" width="32" height="32" src="images/friendica.svg" alt="logo" /></a><span id="logo-text"><a href="https://friendi.ca">Friendica</a></span>',
75 // blocked_tags (String)
76 // Comma separated list of hashtags that shouldn't be displayed in the trending tags
79 // cache_contact_avatar (Boolean)
80 // Cache versions of the contact avatars. Uses a lot of storage space
81 'cache_contact_avatar' => true,
83 // curl_timeout (Integer)
84 // Value is in seconds. Set to 0 for unlimited (not recommended).
88 // Remove old remote items, orphaned database records and old content from some other helper tables.
91 // dbclean-expire-days (Integer)
92 // When the database cleanup is enabled, this defines the days after which remote items will be deleted.
93 // Own items, and marked or filed items are always kept. 0 disables this behaviour.
94 'dbclean-expire-days' => 0,
96 // dbclean-expire-unclaimed (Integer)
97 // When the database cleanup is enabled, this defines the days after which unclaimed remote items
98 // (mostly content from the relay) will be deleted. Default value is 90 days. Defaults to the general
99 // lifespan value of remote items if set to 0.
100 'dbclean-expire-unclaimed' => 90,
102 // dbclean_expire_conversation (Integer)
103 // The conversation data is used for ActivityPub and OStatus, as well as for debug purposes.
104 // It should be safe to remove it after 14 days, default is 90 days.
105 'dbclean_expire_conversation' => 90,
107 // debugging (boolean)
108 // Enable/Disable Debugging (logging)
109 'debugging' => false,
111 // decoupled_receiver (Boolean)
112 // Decouple incoming AP posts by doing the processing in the background.
113 'decoupled_receiver' => false,
115 // default_timezone (String)
116 // Choose a default timezone. See https://secure.php.net/manual/en/timezones.php
117 // It only applies to timestamps for anonymous viewers.
118 'default_timezone' => 'UTC',
120 // directory (String)
121 // URL of the global directory.
122 'directory' => 'https://dir.friendica.social',
124 // explicit_content (Boolean)
125 // Set this to announce that your node is used mostly for explicit content that might not be suited for minors.
126 'explicit_content' => false,
128 // forbidden_nicknames (Comma-separated list)
129 // Prevents users from registering the specified nicknames on this node.
130 // Default value comprises classic role names from RFC 2142.
131 'forbidden_nicknames' => 'info, marketing, sales, support, abuse, noc, security, postmaster, hostmaster, usenet, news, webmaster, www, uucp, ftp, root, sysop',
133 // compute_circle_counts (Boolean)
134 // Compute contact circle level when counting unseen network posts.
135 'compute_circle_counts' => true,
137 // jpeg_quality (Integer)
138 // Sets the ImageMagick quality level for JPEG images. Values ranges from 50 (awful) to 100 (near perfect).
139 'jpeg_quality' => 100,
142 // System default language, including admin-created user default language.
143 // Two-letters ISO 639-1 code.
146 // local_search (Boolean)
147 // Blocks search for users who are not logged in to prevent crawlers from blocking your system.
148 'local_search' => false,
151 // The logfile for storing logs.
152 // Can be a full path or a relative path to the Friendica home directory
153 'logfile' => 'log/friendica.log',
156 // The loglevel for all logs.
157 // Has to be one of these values: emergency, alert, critical, error, warning, notice, info, debug
158 'loglevel' => 'notice',
160 // max_image_length (Integer)
161 // An alternate way of limiting picture upload sizes.
162 // Specify the maximum pixel length that pictures are allowed to be (for non-square pictures, it will apply to the longest side).
163 // Pictures longer than this length will be resized to be this length (on the longest side, the other side will be scaled appropriately).
164 // If you don't want to set a maximum length, set to -1.
165 'max_image_length' => -1,
167 // max_receivers (Integer)
168 // The maximum number of displayed receivers of posts
169 'max_receivers' => 10,
171 // maximagesize (Integer)
172 // Maximum size in bytes of an uploaded photo.
173 'maximagesize' => 800000,
175 // maxloadavg (Integer)
176 // Maximum system load before delivery and poll processes are deferred.
179 // min_memory (Integer)
180 // Minimal free memory in MB for the worker. Needs access to /proc/meminfo - default 0 (deactivated).
183 // min_poll_interval (Integer)
184 // minimal distance in minutes between two polls for a contact. Reasonable values are between 1 and 59.
185 'min_poll_interval' => 15,
187 // no_regfullname (Boolean)
188 // Allow users to register with a display name comporting fewer than two parts separated by spaces.
189 'no_regfullname' => true,
191 // no_oembed_rich_content (Boolean)
192 // If enabled, allow OEmbed for all URLs. Disabled by default.
193 'no_oembed_rich_content' => true,
195 // optimize_tables (Boolean)
196 // Periodically (once an hour) run an "optimize table" command for cache tables
197 'optimize_tables' => false,
199 // process_view (Boolean)
200 // Process the "View" activity that is used by Peertube.
201 'process_view' => false,
203 // register_notification (Boolean)
204 // Send a notification mail to the admin for each new registration.
205 'register_notification' => true,
207 // relay_deny_tags (String)
208 // Comma separated list of tags that are rejected.
209 'relay_deny_tags' => '',
211 // relay_deny_undetected_language (Boolean)
212 // Deny undetected languages
213 'relay_deny_undetected_language' => false,
215 // relay_languages (Integer)
216 // Number of languages that are used per post to check for acceptable posts.
217 'relay_languages' => 10,
219 // relay_language_quality (Float)
220 // Minimum value for the language detection quality for relay posts. The value must be between 0 and 1.
221 'relay_language_quality' => 0,
223 // proxify_content (Boolean)
224 // Use the proxy functionality for fetching external content
225 'proxify_content' => true,
227 // relay_directly (Boolean)
228 // Directly transmit content to relay subscribers without using a relay server
229 'relay_directly' => false,
231 // relay_scope (Relay::SCOPE_NONE, Relay::SCOPE_TAGS or Relay::SCOPE_ALL)
232 // Defines the scope of accepted posts from the relay servers
235 // relay_server_tags (String)
236 // Comma separated list of tags for the "tags" subscription.
237 'relay_server_tags' => '',
239 // relay_user_tags (Boolean)
240 // If enabled, the tags from the saved searches will used for the "tags" subscription in addition to the "relay_server_tags".
241 'relay_user_tags' => true,
244 // Custom temporary file directory
248 // System theme name.
251 // update_active_contacts (Boolean)
252 // When activated, only public contacts will be activated regularly that are used for example in items or tags.
253 'update_active_contacts' => false,
256 // The fully-qualified URL of this Friendica node.
257 // Used by the worker in a non-HTTP execution environment.
260 // poco_discovery (Boolean)
261 // If enabled, the system will check for the existance of other contacts and servers
262 'poco_discovery' => false,
264 // poco_requery_days (Integer)
265 // Number of days after which a server is requeried for their contacts and servers it knows of.
266 'poco_requery_days' => 30,
268 // worker_defer_limit (Integer)
269 // Per default the systems tries delivering for 15 times before dropping it.
270 'worker_defer_limit' => 15,
272 // worker_load_cooldown (Integer)
273 // Maximum load that causes a cooldown before each worker function call.
274 'worker_load_cooldown' => 0,
278 // engagement_hours (Integer)
279 // Maximum age of incoming posts for the engagement table, when the engagement post limit is 0 or hasn't been reached yet.
280 'engagement_hours' => 24,
282 // engagement_post_limit (Integer)
283 // NUmber of posts that are held in the engagement table
284 'engagement_post_limit' => 20000,
286 // interaction_score_days (Integer)
287 // Number of days that are used to calculate the interaction score.
288 'interaction_score_days' => 30,
290 // max_posts_per_author (Integer)
291 // Maixmum number of posts per page by author
292 'max_posts_per_author' => 2,
294 // sharer_interaction_days (Integer)
295 // Number of days of the last interaction that are used to define which sharers are used for the "sharers of sharers" channel.
296 'sharer_interaction_days' => 90,
299 // Used in the admin settings to lock certain features
303 // Storage backend configuration
306 // The name of the current used backend (default is Database)
307 'name' => 'Database',