# Available options: # # default - The default value of the setting. For upload site settings, use the id of the upload seeded in db/fixtures/010_uploads.rb. # client - Set to true if the javascript should have access to this setting's value. # refresh - Set to true if clients should refresh when the setting is changed. # min - For a string setting, the minimum length. For an integer setting, the minimum value. # max - For a string setting, the maximum length. For an integer setting, the maximum value. # regex - A regex that the value must match. # validator - The name of the class that will be use to validate the value of the setting. # allow_any - For choice settings allow items not specified in the choice list (default true) # secret - Set to true if input type should be password and value needs to be scrubbed from logs (default false). # enum - The setting has a fixed set of allowed values, and only one can be chosen. # Set to the class name that defines the set. # locale_default - A hash which overrides according to `SiteSetting.default_locale`. # The key should be as the same as possible value of default_locale. # # # type: email - Must be a valid email address. # type: username - Must match the username of an existing user. # type: list - A list of values, chosen from a set of valid values defined in the choices option. # type: enum - A single value, chosen from a set of valid values in the choices option. # type: html - A single value. It could contain HTML. # # A type:list setting with the word 'colors' in its name will make color values have a bold line of the corresponding color # required: title: client: true default: "Discourse" site_description: default: "" short_site_description: default: "" client: true contact_email: default: "" type: email contact_url: default: "" notification_email: default: "noreply@unconfigured.discourse.org" type: email site_contact_username: default: "" type: username site_contact_group_name: default: "" type: group exclude_rel_nofollow_domains: client: true default: "" type: list list_type: simple company_name: default: "" governing_law: default: "" city_for_disputes: default: "" branding: logo: default: -5 client: true type: upload logo_small: default: -6 client: true type: upload digest_logo: default: "" client: true type: upload mobile_logo: default: "" client: true type: upload logo_dark: default: "" client: true type: upload logo_small_dark: default: "" client: true type: upload mobile_logo_dark: default: "" client: true type: upload large_icon: default: "" client: true type: upload manifest_icon: default: "" type: upload manifest_screenshots: type: list list_type: simple default: "" favicon: default: "" client: true type: upload apple_touch_icon: default: "" client: true type: upload opengraph_image: default: "" type: upload twitter_summary_large_image: default: "" type: upload basic: display_local_time_in_user_card: client: true default: false allow_user_locale: client: true default: false set_locale_from_accept_language_header: default: false client: true validator: "AllowUserLocaleEnabledValidator" support_mixed_text_direction: client: true default: false categories_topics: default: 20 validator: "CategoriesTopicsValidator" suggested_topics: client: true default: 5 max: 2000 limit_suggested_to_category: default: false suggested_topics_unread_max_days_old: default: 90 min: 0 max: 36500 suggested_topics_max_days_old: default: 365 min: 7 max: 36500 ga_version: type: enum default: v3_analytics choices: - v3_analytics - v4_gtag ga_universal_tracking_code: client: true default: "" regex: "^(UA|G)-[\\w-]+" ga_universal_domain_name: client: true default: "auto" ga_universal_auto_link_domains: default: "" type: list list_type: simple gtm_container_id: client: true default: "" regex: "^GTM-" top_menu: client: true refresh: true type: list list_type: compact default: "latest|new|unread|top|categories" regex: "latest" regex_error: "site_settings.errors.must_include_latest" validator: RegexPresenceValidator allow_any: false choices: - latest - new - unread - top - categories - read - posted - bookmarks post_menu: client: true type: list default: "read|like|share|flag|edit|bookmark|delete|admin|reply" allow_any: false choices: - read - like - edit - flag - delete - share - bookmark - admin - reply post_menu_hidden_items: client: true type: list default: "flag|bookmark|edit|delete|admin" allow_any: false choices: - like - edit - flag - delete - share - bookmark - admin - reply share_links: client: true type: list default: "twitter|facebook|email" allow_any: false choices: - twitter - facebook - email share_quote_visibility: client: true type: enum default: "anonymous" choices: - none - anonymous - all share_quote_buttons: client: true type: list default: "twitter|email" allow_any: false choices: - twitter - facebook - email desktop_category_page_style: client: true enum: "CategoryPageStyle" default: "categories_and_latest_topics" category_colors: client: true type: list list_type: compact default: "BF1E2E|F1592A|F7941D|9EB83B|3AB54A|12A89D|25AAE2|0E76BD|652D90|92278F|ED207B|8C6238|231F20|808281|B3B5B4|E45735" category_style: client: true default: "bullet" type: enum choices: - bar - box - bullet - none max_category_nesting: client: true default: 2 min: 2 max: 3 hidden: true enable_mobile_theme: client: true default: true hidden: true enable_experimental_image_uploader: client: true default: false hidden: true enable_direct_s3_uploads: client: true default: false hidden: true enable_upload_debug_mode: default: false hidden: true default_theme_id: default: -1 hidden: true default_dark_mode_color_scheme_id: default: -1 type: enum enum: "ColorSchemeSetting" client: true relative_date_duration: client: true default: 30 topics_per_period_in_top_summary: default: 20 min: 1 topics_per_period_in_top_page: default: 50 min: 1 top_page_default_timeframe: default: "yearly" type: enum choices: - all - yearly - quarterly - monthly - weekly - daily fixed_category_positions: client: true default: false fixed_category_positions_on_create: client: true default: false enable_badges: client: true default: true enable_badge_sql: client: true default: false hidden: true max_favorite_badges: client: true default: 2 min: 0 max: 6 enable_whispers: client: true default: false enable_bookmarks_with_reminders: client: true default: true hidden: true push_notifications_prompt: default: true client: true push_notifications_icon: default: "" type: upload short_title: default: "" max: 12 vapid_public_key_bytes: default: "" client: true hidden: true vapid_public_key: default: "" hidden: true vapid_private_key: default: "" hidden: true vapid_base_url: default: "" hidden: true base_font: default: "arial" enum: "BaseFontSetting" refresh: true heading_font: default: "arial" enum: "BaseFontSetting" refresh: true order_stylesheets: default: false hidden: true login: invite_only: refresh: true client: true default: false validator: "EnableInviteOnlyValidator" login_required: refresh: true client: true default: false must_approve_users: client: true default: false invite_code: "" enable_local_logins: client: true default: true enable_local_logins_via_email: client: true default: true validator: "EnableLocalLoginsViaEmailValidator" allow_new_registrations: client: true default: true enable_signup_cta: client: true default: true enable_google_oauth2_logins: default: false google_oauth2_client_id: "" google_oauth2_client_secret: default: "" secret: true google_oauth2_prompt: default: "" type: list choices: - "" - "none" - "consent" - "select_account" google_oauth2_hd: default: "" enable_twitter_logins: default: false twitter_consumer_key: default: "" regex: "^[\\w+-]+$" twitter_consumer_secret: default: "" regex: "^[\\w+-]+$" secret: true enable_facebook_logins: default: false facebook_app_id: client: true default: "" regex: "^\\d+$" facebook_app_secret: default: "" regex: "^[a-f0-9]+$" secret: true enable_github_logins: default: false github_client_id: default: "" regex: "^[a-zA-Z0-9\\.]+$" github_client_secret: default: "" regex: "^[a-f0-9]+$" secret: true enable_discord_logins: default: false discord_client_id: default: "" discord_secret: default: "" secret: true discord_trusted_guilds: default: "" type: list list_type: simple auth_skip_create_confirm: default: false client: true auth_immediately: default: true enable_discourse_connect: client: true default: false validator: "EnableSsoValidator" discourse_connect_allows_all_return_paths: false enable_discourse_connect_provider: false verbose_discourse_connect_logging: false verbose_upload_logging: hidden: true default: false verbose_auth_token_logging: hidden: true default: true max_suspicious_distance_km: hidden: true default: 500 discourse_connect_url: default: "" regex: '^https?:\/\/.+[^\/]$' discourse_connect_secret: default: "" secret: true discourse_connect_provider_secrets: default: "" type: list list_type: secret secret: true placeholder: key: "sso_provider.key_placeholder" value: "sso_provider.value_placeholder" discourse_connect_overrides_groups: false discourse_connect_overrides_bio: false auth_overrides_email: default: false validator: "SsoOverridesEmailValidator" client: true auth_overrides_username: false auth_overrides_name: false discourse_connect_overrides_avatar: default: false client: true discourse_connect_overrides_profile_background: false discourse_connect_overrides_location: false discourse_connect_overrides_website: false discourse_connect_overrides_card_background: false discourse_connect_not_approved_url: "" discourse_connect_csrf_protection: default: true hidden: true blocked_email_domains: default: "mailinator.com" type: list list_type: simple allowed_email_domains: default: "" type: list list_type: simple auto_approve_email_domains: default: "" type: list list_type: simple hide_email_address_taken: false log_out_strict: false pending_users_reminder_delay_minutes: min: -1 default: 480 persistent_sessions: true maximum_session_age: default: 1440 min: 1 max: 175200 users: min_username_length: client: true default: 3 min: 1 max: 60 validator: "MinUsernameLengthValidator" max_username_length: client: true default: 20 min: 8 max: 60 validator: "MaxUsernameLengthValidator" unicode_usernames: default: false client: true validator: "UnicodeUsernameValidator" allowed_unicode_username_characters: validator: "UnicodeUsernameAllowlistValidator" default: "" locale_default: cs: "[ěščřžýáíéóůúďťňĚŠČŘŽÝÁÍÉÓŮÚĎŤŇ]" de: "[äöüßÄÖÜẞ]" fi: "[åäöÅÄÖ]" ja: '[\p{Han}\p{Katakana}\p{Hiragana}]' ko: '\p{Hangul}' zh_CN: '\p{Han}' zh_TW: '\p{Han}' reserved_usernames: type: list list_type: compact default: "admin|moderator|administrator|mod|sys|system|community|info|you|name|username|user|nickname|discourse|discourseorg|discourseforum|support" min_password_length: client: true default: 10 min: 8 max: 500 min_admin_password_length: client: true default: 15 min: 8 max: 500 password_unique_characters: default: 6 min: 1 max: 10 block_common_passwords: true username_change_period: 3 email_editable: client: true default: true logout_redirect: client: true default: "" full_name_required: client: true default: false enable_names: client: true default: true invite_expiry_days: default: 30 max: 36500 invites_per_page: client: true default: 40 hidden: true delete_user_max_post_age: client: true default: 60 delete_all_posts_max: client: true default: 15 min: 1 delete_user_self_max_post_count: default: 1 min: -1 redirect_users_to_top_page: true prioritize_username_in_ux: client: true default: true email_token_valid_hours: default: 48 min: 1 purge_unactivated_users_grace_period_days: default: 14 max: 36500 public_user_custom_fields: type: list list_type: simple default: "" staff_user_custom_fields: type: list list_type: simple default: "" enable_user_directory: client: true default: true allow_anonymous_posting: default: false client: true anonymous_posting_min_trust_level: default: 1 enum: "TrustLevelSetting" client: true anonymous_account_duration_minutes: default: 10080 max: 99000 allow_users_to_hide_profile: default: true client: true hide_user_profiles_from_public: default: false client: true allow_featured_topic_on_user_profiles: default: true client: true show_inactive_accounts: default: false allowed_user_website_domains: default: "" type: list list_type: simple hide_suspension_reasons: default: false client: true log_personal_messages_views: false ignored_users_count_message_threshold: default: 5 client: true min: 1 ignored_users_message_gap_days: default: 365 client: true min: 1 max: 36500 clean_up_inactive_users_after_days: default: 730 min: 0 max: 36500 clean_up_unused_staged_users_after_days: default: 365 min: 0 max: 36500 user_selected_primary_groups: default: false client: true max_notifications_per_user: default: 10000 gravatar_name: default: Gravatar client: true gravatar_base_url: default: www.gravatar.com client: true gravatar_login_url: default: /emails client: true max_bookmarks_per_user: default: 2000 hidden: true groups: enable_group_directory: client: true default: true group_in_subject: default: false enable_category_group_moderation: client: true default: false posting: min_post_length: client: true min: 1 default: 20 locale_default: ja: 8 zh_CN: 8 zh_TW: 8 min_first_post_length: client: true min: 1 default: 20 locale_default: ja: 8 zh_CN: 8 zh_TW: 8 min_personal_message_post_length: client: true min: 1 default: 10 locale_default: ja: 3 zh_CN: 3 zh_TW: 3 max_post_length: client: true default: 32000 max: 150000 topic_featured_link_enabled: client: true default: true body_min_entropy: default: 7 locale_default: ja: 3 zh_CN: 3 zh_TW: 3 min_topic_views_for_delete_confirm: client: true default: 5000 min_topic_title_length: client: true default: 15 min: 1 locale_default: ja: 6 zh_CN: 6 zh_TW: 6 max_topic_title_length: client: true default: 255 min: 5 max: 255 title_min_entropy: default: 10 locale_default: ja: 3 zh_CN: 3 zh_TW: 3 allow_uppercase_posts: default: false locale_default: ja: true max_consecutive_replies: default: 3 enable_filtered_replies_view: default: false client: true title_prettify: default: true locale_default: ja: false zh_CN: false zh_TW: false title_remove_extraneous_space: default: false locale_default: en: true en_GB: true title_fancy_entities: true min_personal_message_title_length: client: true default: 2 min: 1 max_emojis_in_title: 1 allow_uncategorized_topics: client: true default: true refresh: true allow_duplicate_topic_titles: false allow_duplicate_topic_titles_category: false min_title_similar_length: client: true default: 10 locale_default: ja: 4 zh_CN: 4 zh_TW: 4 enable_personal_messages: default: true client: true enable_system_message_replies: default: true editing_grace_period: 300 editing_grace_period_max_diff: 100 editing_grace_period_max_diff_high_trust: 400 staff_edit_locks_post: false shared_drafts_category: type: category default: "" shared_drafts_min_trust_level: default: "staff" enum: "TrustLevelAndStaffSetting" post_edit_time_limit: default: 1440 max: 10080 tl2_post_edit_time_limit: default: 43200 max: 525600 edit_history_visible_to_public: client: true default: true delete_removed_posts_after: client: true default: 24 traditional_markdown_linebreaks: client: true default: false enable_markdown_typographer: client: true default: true enable_markdown_linkify: client: true default: true markdown_linkify_tlds: client: true type: list default: "com|net|org|io|co|tv|ru|cn|us|uk|me|de|fr|fi|gov" list_type: compact markdown_typographer_quotation_marks: client: true type: list list_type: compact validator: "MarkdownTypographerQuotationMarksValidator" default: "“|”|‘|’" locale_default: de: "„|“|‚|‘" fr: "«\xA0|\xA0»|‹\xA0|\xA0›" enable_rich_text_paste: client: true default: true suppress_reply_directly_below: client: true default: true suppress_reply_directly_above: client: true default: true suppress_reply_when_quoting: default: true remove_full_quote: default: true max_reply_history: default: 1 client: true post_undo_action_window_mins: 10 enable_mentions: default: true client: true max_mentions_per_post: 10 max_users_notified_per_group_mention: 100 newuser_max_replies_per_topic: 3 newuser_max_mentions_per_post: 2 title_max_word_length: default: 30 locale_default: ja: 50 ko: 50 zh_CN: 50 zh_TW: 50 allowed_link_domains: default: "" type: list newuser_max_links: 2 newuser_max_embedded_media: client: true default: 1 newuser_max_attachments: client: true default: 0 post_excerpt_maxlength: default: 300 max: 1000 locale_default: ja: 120 zh_CN: 120 zh_TW: 120 topic_excerpt_maxlength: default: 220 max: 1000 locale_default: ja: 120 zh_CN: 120 zh_TW: 120 show_pinned_excerpt_mobile: client: true default: true show_pinned_excerpt_desktop: client: true default: true display_name_on_posts: client: true default: false show_time_gap_days: default: 7 max: 36500 client: true short_progress_text_threshold: client: true default: 10000 max: 99000 default_code_lang: client: true default: "auto" warn_reviving_old_topic_age: 180 autohighlight_all_code: client: true default: false highlighted_languages: default: "apache|bash|cs|cpp|css|coffeescript|diff|xml|http|ini|json|java|javascript|makefile|markdown|nginx|objectivec|ruby|perl|php|python|sql|handlebars" choices: "HighlightJs.languages" type: list client: true list_type: compact show_copy_button_on_codeblocks: client: true default: false delete_old_hidden_posts: true enable_emoji: default: true client: true enable_emoji_shortcuts: default: true client: true emoji_set: default: "twitter" client: true enum: "EmojiSetSiteSetting" emoji_autocomplete_min_chars: client: true default: 0 locale_default: fr: 1 enable_inline_emoji_translation: client: true default: false locale_default: zh_CN: true zh_TW: true ja: true ko: true approve_post_count: default: 0 approve_unless_trust_level: default: 0 enum: "TrustLevelSetting" approve_new_topics_unless_trust_level: default: 0 enum: "TrustLevelSetting" approve_suspect_users: default: true approve_unless_staged: default: false notify_about_queued_posts_after: default: 24 auto_close_messages_post_count: default: 500 auto_close_topics_post_count: default: 10000 auto_close_topics_create_linked_topic: default: true code_formatting_style: client: true type: enum default: "code-fences" choices: - code-fences - 4-spaces-indent embed_any_origin: false embed_topics_list: false embed_set_canonical_url: false embed_unlisted: true embed_truncate: true embed_support_markdown: false allowed_embed_selectors: "" allowed_href_schemes: client: true default: "" type: list list_type: compact max_allowed_message_recipients: default: 30 min: 1 watched_words_regular_expressions: client: true default: false enable_advanced_editor_preview_sync: hidden: true default: false client: true enable_diffhtml_preview: default: false client: true old_post_notice_days: default: 14 max: 36500 client: true new_user_notice_tl: default: 2 enum: "TrustLevelSetting" returning_user_notice_tl: default: 2 enum: "TrustLevelSetting" returning_users_days: default: 120 max: 36500 review_media_unless_trust_level: default: 0 enum: "TrustLevelSetting" blur_tl0_flagged_posts_media: default: true client: true enable_page_publishing: default: false show_published_pages_login_required: default: false skip_auto_delete_reply_likes: 5 review_every_post: default: false email: email_time_window_mins: default: 10 client: true personal_email_time_window_seconds: 20 email_posts_context: 5 digest_min_excerpt_length: default: 100 locale_default: ja: 50 zh_CN: 50 zh_TW: 50 digest_topics: default: 5 min: 1 max: 20 digest_posts: default: 5 min: 0 max: 20 digest_other_topics: default: 5 min: 0 max: 20 suppress_digest_email_after_days: default: 365 max: 36500 digest_suppress_categories: type: category_list default: "" disable_digest_emails: default: false client: true apply_custom_styles_to_digest: true email_accent_bg_color: type: color default: "#2F70AC" validator: "CssColorValidator" email_accent_fg_color: type: color default: "#FFFFFF" validator: "CssColorValidator" email_link_color: type: color default: "#006699" validator: "CssColorValidator" show_topic_featured_link_in_digest: false email_custom_headers: "Auto-Submitted: auto-generated" email_subject: "[%{site_name}] %{optional_pm}%{optional_cat}%{topic_title}" reply_by_email_enabled: default: false validator: "ReplyByEmailEnabledValidator" reply_by_email_address: default: "" validator: "ReplyByEmailAddressValidator" alternative_reply_by_email_addresses: default: "" validator: "AlternativeReplyByEmailAddressesValidator" find_related_post_with_key: default: true manual_polling_enabled: default: false pop3_polling_enabled: default: false validator: "POP3PollingEnabledSettingValidator" pop3_polling_ssl: true pop3_polling_openssl_verify: true pop3_polling_period_mins: 5 pop3_polling_host: "" pop3_polling_port: 995 pop3_polling_username: "" pop3_polling_password: default: "" secret: true pop3_polling_delete_from_server: true log_mail_processing_failures: false incoming_email_prefer_html: true strip_incoming_email_lines: false email_in: default: false client: true email_in_min_trust: default: 2 enum: "TrustLevelSetting" email_in_authserv_id: default: "" email_in_spam_header: type: enum default: "none" choices: - none - X-Spam-Flag - X-Spam-Status - X-SES-Spam-Verdict enable_imap: default: false client: true enable_imap_write: default: false enable_imap_idle: default: false enable_smtp: default: false client: true imap_polling_period_mins: default: 5 imap_polling_old_emails: default: 1000 imap_polling_new_emails: default: 250 imap_batch_import_email: default: 100 email_prefix: "" email_site_title: "" disable_emails: client: true type: enum default: "no" choices: - "no" - "yes" - "non-staff" strip_images_from_short_emails: true short_email_length: 2800 display_name_on_email_from: default: true unsubscribe_via_email: default: true unsubscribe_via_email_footer: default: false disallow_reply_by_email_after_days: default: 90 max: 36500 delete_email_logs_after_days: default: 90 max: 36500 max_emails_per_day_per_user: 100 enable_staged_users: true maximum_staged_users_per_email: 10 auto_generated_allowlist: default: "" type: list list_type: simple block_auto_generated_emails: true ignore_by_title: type: list list_type: simple default: "" mailgun_api_key: default: "" regex: '^((key-)?\h{32}|\h{32}-\h{8}-\h{8})$' secret: true bounce_score_threshold: client: true default: 4 min: 1 bounce_score_erode_on_send: default: 0.1 hidden: true soft_bounce_score: default: 1 min: 1 hard_bounce_score: default: 2 min: 2 reset_bounce_score_after_days: default: 30 max: 36500 blocked_attachment_content_types: type: list default: "pkcs7|x-vcard|pgp-keys|pgp-signature" list_type: compact blocked_attachment_filenames: type: list default: "smime.p7s|signature.asc|winmail.dat" list_type: compact forwarded_emails_behaviour: type: enum default: hide choices: - hide - quote - create_replies always_show_trimmed_content: false trim_incoming_emails: true private_email: false email_custom_template: default: "" hidden: true email_custom_css: default: "" hidden: true email_custom_css_compiled: default: "" hidden: true email_total_attachment_size_limit_kb: default: 0 max: 51200 post_excerpts_in_emails: false raw_email_max_length: 220000 raw_rejected_email_max_length: 4000 delete_rejected_email_after_days: default: 90 max: 36500 enable_secondary_emails: client: true default: true hidden: true files: max_image_size_kb: client: true default: 4096 max: 102400 max_attachment_size_kb: client: true default: 4096 max: 1024000 max_image_megapixels: default: 40 min: 5 max: 150 max_export_file_size_kb: hidden: true default: 50000 max: 1024000 theme_authorized_extensions: default: "jpg|jpeg|png|woff|woff2|svg|eot|ttf|otf|gif|webp|js" type: list list_type: compact authorized_extensions: client: true default: "jpg|jpeg|png|gif|heic|heif|webp" refresh: true type: list list_type: compact authorized_extensions_for_staff: client: true default: "" refresh: true type: list list_type: compact export_authorized_extensions: hidden: true default: "zip" type: list list_type: compact responsive_post_image_sizes: default: "1|1.5|2" type: list list_type: compact crawl_images: default: true max_image_width: client: true default: 690 max_image_height: client: true default: 500 download_remote_images_to_local: default: true download_remote_images_threshold: 10 disabled_image_download_domains: type: list list_type: simple default: "" create_thumbnails: true clean_up_uploads: true clean_orphan_uploads_grace_period_hours: 48 purge_deleted_uploads_grace_period_days: default: 30 max: 36500 prevent_anons_from_downloading_files: default: false client: true secure_media: default: false client: true secure_media_allow_embed_images_in_emails: default: true secure_media_max_email_embed_image_size_kb: default: 1024 min: 1 max: 10240 enable_s3_uploads: default: false client: true s3_use_iam_profile: default: false s3_access_key_id: default: "" secret: true s3_secret_access_key: default: "" secret: true s3_region: default: "us-east-1" enum: "S3RegionSiteSetting" s3_upload_bucket: default: "" regex: '^[a-z0-9\-\/_]+$' # can't use '.' when using HTTPS s3_endpoint: default: "" regex: '^https?:\/\/.+[^\/]$' s3_http_continue_timeout: default: 1 hidden: true s3_install_cors_rule: default: true hidden: true s3_cdn_url: default: "" regex: '^https?:\/\/.+[^\/]$' s3_configure_tombstone_policy: default: true enable_s3_inventory: default: false s3_configure_inventory_policy: default: true hidden: true allow_profile_backgrounds: client: true default: true automatically_download_gravatars: true allow_uploaded_avatars: client: true default: true default_avatars: default: "" type: url_list client: true avatar_sizes: default: "20|25|32|45|60|120" type: list list_type: compact external_system_avatars_enabled: default: true client: true validator: "ExternalSystemAvatarsValidator" external_system_avatars_url: default: "/letter_avatar_proxy/v4/letter/{first_letter}/{color}/{size}.png" client: true regex: '^((https?:)?\/)?\/.+[^\/]' external_emoji_url: default: "" client: true restrict_letter_avatar_colors: default: "" type: list list_type: compact validator: "ColorListValidator" selectable_avatars_enabled: default: false client: true validator: "SelectableAvatarsEnabledValidator" selectable_avatars: default: "" client: true type: uploaded_image_list allow_all_attachments_for_group_messages: false png_to_jpg_quality: default: 95 min: 1 max: 100 recompress_original_jpg_quality: default: 90 min: 1 max: 100 image_preview_jpg_quality: default: 90 min: 1 max: 100 allow_staff_to_upload_any_file_in_pm: default: true client: true strip_image_metadata: true min_ratio_to_crop: type: float default: 0.45 # 90% of 18:9 min: 0 max: 1 simultaneous_uploads: client: true default: 5 min: 0 max: 20 decompressed_theme_max_file_size_mb: default: 1000 hidden: true decompressed_backup_max_file_size_mb: default: 100000 hidden: true composer_media_optimization_image_enabled: default: true client: true composer_media_optimization_image_bytes_optimization_threshold: default: 524288 client: true composer_media_optimization_image_resize_dimensions_threshold: default: 1920 client: true composer_media_optimization_image_resize_width_target: default: 1920 client: true composer_media_optimization_image_resize_pre_multiply: default: false hidden: true client: true composer_media_optimization_image_resize_linear_rgb: default: false hidden: true client: true composer_media_optimization_image_encode_quality: default: 75 client: true composer_media_optimization_debug_mode: default: false client: true hidden: true trust: default_trust_level: default: 0 enum: "TrustLevelSetting" default_invitee_trust_level: default: 1 enum: "TrustLevelSetting" min_trust_to_create_topic: default: 0 enum: "TrustLevelSetting" min_trust_to_edit_wiki_post: default: 1 enum: "TrustLevelSetting" min_trust_to_edit_post: default: 0 enum: "TrustLevelSetting" min_trust_to_allow_self_wiki: default: 3 enum: "TrustLevelSetting" min_trust_to_send_messages: default: 1 enum: "TrustLevelSetting" min_trust_to_send_email_messages: default: "4" enum: "TrustLevelAndStaffSetting" min_trust_to_flag_posts: default: 1 enum: "TrustLevelSetting" min_trust_to_post_links: default: 0 enum: "TrustLevelSetting" min_trust_to_post_embedded_media: default: 0 enum: "TrustLevelSetting" min_trust_level_to_allow_profile_background: default: 0 client: true enum: "TrustLevelSetting" min_trust_level_to_allow_user_card_background: default: 0 client: true enum: "TrustLevelSetting" min_trust_level_to_allow_invite: default: 2 enum: "TrustLevelSetting" min_trust_level_to_allow_ignore: default: 2 enum: "TrustLevelSetting" client: true allow_flagging_staff: true send_tl1_welcome_message: true send_tl2_promotion_message: true tl1_requires_topics_entered: 5 tl1_requires_read_posts: default: 30 client: true tl1_requires_time_spent_mins: 10 tl2_requires_topics_entered: 20 tl2_requires_read_posts: 100 tl2_requires_time_spent_mins: 60 tl2_requires_days_visited: default: 15 max: 36500 tl2_requires_likes_received: 1 tl2_requires_likes_given: 1 tl2_requires_topic_reply_count: 3 tl3_time_period: default: 100 min: 1 max: 1000000 tl3_requires_days_visited: default: 50 max: 36500 tl3_requires_topics_replied_to: default: 10 tl3_requires_topics_viewed: default: 25 max: 100 tl3_requires_topics_viewed_cap: default: 500 tl3_requires_posts_read: default: 25 max: 100 tl3_requires_posts_read_cap: default: 20000 max: 99000 tl3_requires_topics_viewed_all_time: default: 200 tl3_requires_posts_read_all_time: default: 500 tl3_requires_max_flagged: default: 5 tl3_promotion_min_duration: default: 14 max: 10000 tl3_requires_likes_given: default: 30 tl3_requires_likes_received: default: 20 tl3_links_no_follow: default: false client: true trusted_users_can_edit_others: default: true security: detailed_404: false enforce_second_factor: client: true type: enum default: "no" choices: - "no" - "staff" - "all" force_https: default: false same_site_cookies: default: Lax type: enum choices: - Lax - Strict - Disabled - None regex: "^(Lax|Strict|Disabled|None)$" enable_escaped_fragments: true allow_index_in_robots_txt: true moderators_manage_categories_and_groups: false moderators_change_post_ownership: client: true default: false moderators_view_emails: client: true default: false non_crawler_user_agents: hidden: true default: "trident|webkit|gecko|chrome|safari|msie|opera|goanna|discourse" type: list list_type: compact crawler_user_agents: hidden: true default: "rss|bot|spider|crawler|facebook|archive|wayback|ping|monitor|lighthouse" type: list list_type: compact browser_update_user_agents: hidden: true default: "MSIE 6|MSIE 7|MSIE 8|MSIE 9" type: list list_type: compact crawler_check_bypass_agents: hidden: true default: "cubot" cors_origins: default: "" type: list list_type: simple keep_old_ip_address_count: default: 0 hidden: true use_admin_ip_allowlist: default: false client: true blocked_ip_blocks: default: "" type: list list_type: compact allowed_internal_hosts: default: "" type: list allowed_onebox_iframes: default: "*" type: list allow_any: false choices: "['*'] + Onebox::Engine.all_iframe_origins" allowed_iframes: default: "https://www.google.com/maps/embed?|https://www.openstreetmap.org/export/embed.html?|https://calendar.google.com/calendar/embed?|https://codepen.io/" type: list list_type: simple client: true allowed_crawler_user_agents: type: list default: "" list_type: compact blocked_crawler_user_agents: type: list default: "mauibot|semrushbot|ahrefsbot|blexbot|seo spider" list_type: compact slow_down_crawler_user_agents: type: list default: "" list_type: compact slow_down_crawler_rate: 60 content_security_policy: default: true content_security_policy_report_only: default: false content_security_policy_collect_reports: default: false content_security_policy_frame_ancestors: default: true content_security_policy_script_src: type: simple_list default: "" invalidate_inactive_admin_email_after_days: default: 365 min: 0 max: 36500 allow_embedding_site_in_an_iframe: default: false hidden: true send_old_credential_reminder_days: default: 0 hidden: true disable_onebox_media_download_controls: default: false hidden: true onebox: post_onebox_maxlength: default: 500 locale_default: ja: 200 zh_CN: 200 zh_TW: 200 blocked_onebox_domains: default: "" type: list list_type: compact max_oneboxes_per_post: default: 50 client: true allowed_inline_onebox_domains: default: "" type: list list_type: compact enable_inline_onebox_on_all_domains: default: true force_custom_user_agent_hosts: default: "http://codepen.io" type: list force_get_hosts: default: "us.battle.net|news.yahoo.com|*.medium.com" type: list hidden: true facebook_app_access_token: default: "" secret: true cache_onebox_response_body: default: false hidden: true cache_onebox_response_body_domains: default: "" type: list hidden: true cache_onebox_user_agent: default: "" hidden: true spam: add_rel_nofollow_to_user_content: true hide_post_sensitivity: type: enum enum: "ReviewableSensitivitySetting" default: 6 cooldown_minutes_after_hiding_posts: 10 silence_new_user_sensitivity: type: enum enum: "ReviewableSensitivitySetting" default: 3 num_users_to_silence_new_user: 3 notify_mods_when_user_silenced: false flag_sockpuppets: false newuser_spam_host_threshold: 3 allowed_spam_host_domains: default: "" type: list list_type: simple levenshtein_distance_spammer_emails: default: 2 max: 3 max_new_accounts_per_registration_ip: 3 min_ban_entries_for_roll_up: 5 max_age_unmatched_emails: 365 max_age_unmatched_ips: 365 num_flaggers_to_close_topic: 5 auto_close_topic_sensitivity: type: enum enum: "ReviewableSensitivitySetting" default: 9 num_hours_to_close_topic: default: 4 min: 1 auto_respond_to_flag_actions: true min_first_post_typing_time: 3000 auto_silence_fast_typers_on_first_post: true auto_silence_fast_typers_max_trust_level: 0 auto_silence_first_post_regex: "" high_trust_flaggers_auto_hide_posts: true cooldown_hours_until_reflag: default: 24 min: 0 slow_mode_prevents_editing: true reviewable_claiming: client: true type: enum default: disabled choices: - disabled - optional - required reviewable_default_topics: default: false client: true reviewable_default_visibility: client: true type: enum default: low enum: "ReviewablePrioritySetting" reviewable_low_priority_threshold: default: 0 min: 0 rate_limits: unique_posts_mins: 5 rate_limit_create_topic: 15 rate_limit_create_post: 5 rate_limit_new_user_create_topic: 120 rate_limit_new_user_create_post: 30 rate_limit_search_anon_global: hidden: true default: 150 rate_limit_search_anon_user: hidden: true default: 15 rate_limit_search_user: hidden: true default: 30 max_topics_per_day: 20 max_personal_messages_per_day: 20 max_likes_per_day: 50 max_bookmarks_per_day: 20 max_flags_per_day: 20 max_edits_per_day: 30 max_invites_per_day: 10 max_topic_invitations_per_day: 30 max_topics_in_first_day: 3 max_replies_in_first_day: 10 tl2_additional_likes_per_day_multiplier: 1.5 tl3_additional_likes_per_day_multiplier: 2 tl4_additional_likes_per_day_multiplier: 3 tl2_additional_edits_per_day_multiplier: 1.5 tl3_additional_edits_per_day_multiplier: 2 tl4_additional_edits_per_day_multiplier: 3 alert_admins_if_errors_per_minute: client: true default: 0 alert_admins_if_errors_per_hour: client: true default: 0 max_prints_per_hour_per_user: default: 5 client: true max_logins_per_ip_per_hour: min: 1 default: 30 max_logins_per_ip_per_minute: min: 1 default: 6 max_post_deletions_per_minute: min: 0 default: 2 max_post_deletions_per_day: min: 0 default: 10 invite_link_max_redemptions_limit: min: 2 max: 1000000 default: 5000 client: true invite_link_max_redemptions_limit_users: min: 2 max: 1000000 default: 10 client: true max_allowed_secondary_emails: default: 10 hidden: true developer: force_hostname: hidden: true default: "" port: hidden: true default: "" enable_long_polling: client: true default: true enable_chunked_encoding: client: true default: true long_polling_interval: default: 25000 max: 25000 long_polling_base_url: client: true default: "/" background_polling_interval: client: true default: 60000 max: 99000 polling_interval: client: true default: 3000 max: 99000 anon_polling_interval: client: true default: 30000 max: 99000 flush_timings_secs: client: true default: 60 active_user_rate_limit_secs: 60 verbose_localization: default: false client: true top_topics_formula_log_views_multiplier: default: 2 top_topics_formula_first_post_likes_multiplier: default: 0.5 top_topics_formula_least_likes_per_post_multiplier: default: 3 rebake_old_posts_count: hidden: true default: 80 min: 1 migrate_to_new_scheme: hidden: true default: false max_new_topics: default: 500 client: true hidden: true wizard_enabled: default: true hidden: true bypass_wizard_check: default: false hidden: true logging_provider: hidden: true default: "default" type: "list" choices: - "default" - "lograge" bootstrap_error_pages: hidden: true default: false enable_safe_mode: default: true client: true embedding: embed_by_username: default: "" type: username hidden: true embed_post_limit: default: 100 hidden: true embed_topic_limit_per_page: default: 200 hidden: true embed_title_scrubber: default: "" hidden: true blocked_embed_selectors: default: "" hidden: true allowed_embed_classnames: default: "emoji" hidden: true legal: tos_url: client: true default: "" privacy_policy_url: client: true default: "" faq_url: client: true default: "" log_anonymizer_details: default: true backups: enable_backups: default: true client: true allow_restore: default: false backup_location: default: "local" type: enum enum: "BackupLocationSiteSetting" client: true maximum_backups: client: true default: 5 automatic_backups_enabled: default: true backup_frequency: min: 1 max: 30 default: 7 s3_backup_bucket: default: "" regex: '^[a-z0-9\-\/]+$' # can't use '.' when using HTTPS s3_disable_cleanup: default: false backup_time_of_day: default: "3:30" regex: "^((0?(0|1|2|3|4|5|6|7|8|9)|(10|11|12|13|14|15|16|17|18|19|20|21|22|23))):\\d\\d$" backup_with_uploads: true backup_gzip_compression_level_for_uploads: default: 1 min: 1 max: 9 include_thumbnails_in_backups: default: false include_s3_uploads_in_backups: default: false hidden: true search: use_pg_headlines_for_excerpt: default: false hidden: true client: true search_ranking_normalization: default: "0" hidden: true min_search_term_length: client: true default: 3 locale_default: zh_CN: 1 zh_TW: 1 ko: 1 ja: 1 search_tokenize_chinese_japanese_korean: false search_prefer_recent_posts: false search_recent_posts_size: default: 1000000 max: 10000000 search_recent_regular_posts_offset_post_id: default: 0 hidden: true search_enable_recent_regular_posts_offset_size: default: 200000 hidden: true log_search_queries: client: true default: true search_query_log_max_size: default: 1000000 max: 1000000 search_query_log_max_retention_days: default: 365 # 1 year max: 1825 # 5 years search_ignore_accents: default: false locale_default: ar: true ca: true cs: true el: true es: true fa_IR: true fr: true hu: true pt: true pt_BR: true ro: true sk: true tr_TR: true category_search_priority_low_weight: default: 0.8 hidden: true validator: "CategorySearchPriorityWeightsValidator" category_search_priority_high_weight: default: 1.2 hidden: true validator: "CategorySearchPriorityWeightsValidator" uncategorized: version_checks: client: true default: true new_version_emails: true send_welcome_message: true suppress_uncategorized_badge: client: true default: true header_dropdown_category_count: client: true default: 8 slug_generation_method: default: "ascii" enum: "SlugSetting" client: true locale_default: ja: "none" zh_CN: "none" zh_TW: "none" permalink_normalizations: default: "" type: list list_type: simple max_similar_results: 5 minimum_topics_similar: 50 previous_visit_timeout_hours: 1 staff_like_weight: 3 topic_view_duration_hours: 8 user_profile_view_duration_hours: 8 # Summary mode summary_score_threshold: 15 summary_posts_required: 50 summary_likes_required: 1 summary_percent_filter: 20 summary_max_results: 100 automatic_topic_heat_values: true # View heat thresholds topic_views_heat_low: client: true default: 1000 topic_views_heat_medium: client: true default: 2000 topic_views_heat_high: client: true default: 3500 # Post/Like heat thresholds topic_post_like_heat_low: client: true default: 0.5 topic_post_like_heat_medium: client: true default: 1.0 topic_post_like_heat_high: client: true default: 2.0 # History edit heat thresholds history_hours_low: client: true default: 12 history_hours_medium: client: true default: 24 history_hours_high: client: true default: 48 # Cold map thresholds cold_age_days_low: default: 14 max: 36500 client: true cold_age_days_medium: default: 90 max: 36500 client: true cold_age_days_high: default: 180 max: 36500 client: true # Warnings educate_until_posts: 2 sequential_replies_threshold: 2 get_a_room_threshold: 3 dominating_topic_minimum_percent: 20 disable_avatar_education_message: false global_notice: default: "" client: true has_login_hint: default: false hidden: true # Nothing past this threshold is ever considered new # this is calculated dynamically every 15 minutes min_new_topics_time: default: 0 hidden: true # Category IDs lounge_category_id: default: -1 hidden: true meta_category_id: default: -1 hidden: true staff_category_id: default: -1 hidden: true uncategorized_category_id: default: -1 hidden: true notify_about_flags_after: 48 show_create_topics_notice: client: true default: true enable_system_avatars: hidden: true default: true use_site_small_logo_as_system_avatar: default: true disable_system_edit_notifications: true notification_consolidation_threshold: default: 3 min: 0 likes_notification_consolidation_window_mins: default: 120 min: 1 delete_drafts_older_than_n_days: default: 180 max: 36500 delete_merged_stub_topics_after_days: default: 7 min: 0 backup_drafts_to_pm_length: default: 0 hidden: true tos_topic_id: default: -1 hidden: true guidelines_topic_id: default: -1 hidden: true privacy_topic_id: default: -1 hidden: true welcome_topic_id: default: -1 hidden: true lounge_welcome_topic_id: default: -1 hidden: true admin_quick_start_topic_id: default: -1 hidden: true bootstrap_mode_min_users: default: 50 client: true max: 5000 bootstrap_mode_enabled: default: false client: true hidden: true check_for_new_features: default: false hidden: true automatically_unpin_topics: default: true client: true read_time_word_count: default: 500 client: true locale_default: ja: 350 zh_CN: 350 zh_TW: 350 topic_page_title_includes_category: default: true client: true native_app_install_banner_ios: false native_app_install_banner_android: false ios_app_id: default: "1173672076" hidden: true android_app_id: default: "com.discourse" hidden: true pwa_display_browser_regex: default: "a^" hidden: true app_association_android: default: "" textarea: true app_association_ios: default: "" textarea: true share_anonymized_statistics: true auto_handle_queued_age: default: 60 min: 0 penalty_step_hours: default: "24|72|168|720" type: "list" list_type: "compact" svg_icon_subset: default: "" type: "list" list_type: "compact" client: true always_include_topic_excerpts: default: false hidden: true max_bulk_invites: default: 50000 hidden: true overridden_robots_txt: default: "" hidden: true show_category_definitions_in_topic_lists: default: false hidden: true create_revision_on_bulk_topic_moves: default: true allow_changing_staged_user_tracking: false user_preferences: default_email_digest_frequency: enum: "DigestEmailSiteSetting" default: 10080 default_include_tl0_in_digests: false default_email_level: enum: "EmailLevelSiteSetting" default: 1 default_email_messages_level: enum: "EmailLevelSiteSetting" default: 0 default_email_mailing_list_mode: false default_email_mailing_list_mode_frequency: enum: "MailingListModeSiteSetting" default: 1 disable_mailing_list_mode: default: true client: true default_email_previous_replies: enum: "PreviousRepliesSiteSetting" default: 2 default_email_in_reply_to: default: false default_other_new_topic_duration_minutes: enum: "NewTopicDurationSiteSetting" default: 2880 default_other_auto_track_topics_after_msecs: enum: "AutoTrackDurationSiteSetting" default: 240000 default_other_notification_level_when_replying: enum: "NotificationLevelWhenReplyingSiteSetting" default: 2 default_other_external_links_in_new_tab: false default_other_enable_quoting: true default_other_enable_defer: false default_other_dynamic_favicon: false default_other_skip_new_user_tips: false default_other_like_notification_frequency: enum: "LikeNotificationFrequencySiteSetting" default: 1 default_topics_automatic_unpin: default: true client: true default_categories_watching: type: category_list default: "" default_categories_tracking: type: category_list default: "" default_categories_muted: type: category_list default: "" default_categories_watching_first_post: type: category_list default: "" default_categories_regular: type: category_list default: "" mute_all_categories_by_default: default: false client: true default_tags_watching: type: tag_list default: "" default_tags_tracking: type: tag_list default: "" default_tags_muted: type: tag_list default: "" default_tags_watching_first_post: type: tag_list default: "" default_text_size: type: enum default: normal choices: - smaller - normal - larger - largest default_title_count_mode: type: enum default: notifications choices: - notifications - contextual api: retain_web_hook_events_period_days: default: 30 max: 36500 retry_web_hook_events: default: false api_key_last_used_epoch: default: "" # Value is added in a migration hidden: true revoke_api_keys_days: default: 180 max: 36500 user_api: allow_user_api_keys: default: true allow_user_api_key_scopes: default: "read|write|message_bus|push|notifications|session_info|one_time_password" type: list push_api_secret_key: default: "" hidden: true min_trust_level_for_user_api_key: default: 0 enum: "TrustLevelSetting" allowed_user_api_push_urls: default: "" type: list allowed_user_api_auth_redirects: default: "https://api.discourse.org/api/auth_redirect|discourse://auth_redirect" type: list expire_user_api_keys_days: default: 180 max: 36500 tags: tagging_enabled: client: true default: true refresh: true tag_style: client: true type: enum default: "simple" choices: - simple - bullet - box preview: '
tag1tag2
' max_tags_per_topic: default: 5 client: true max_tag_length: default: 20 client: true min_trust_to_create_tag: default: "3" enum: "TrustLevelAndStaffSetting" min_trust_level_to_tag_topics: default: "0" enum: "TrustLevelAndStaffSetting" client: true max_tag_search_results: client: true default: 5 min: 1 max_tags_in_filter_list: client: true default: 30 min: 1 refresh: true tags_sort_alphabetically: client: true default: false refresh: true tags_listed_by_group: client: true default: false allow_staff_to_tag_pms: default: false suppress_overlapping_tags_in_list: default: false client: true remove_muted_tags_from_latest: client: true type: enum default: always enum: RemoveMutedTagsFromLatestSiteSetting force_lowercase_tags: default: true client: true dashboard: dashboard_hidden_reports: client: true type: list list_type: compact default: "" allow_any: true dashboard_visible_tabs: client: true type: list list_type: compact default: "moderation|security|reports" allow_any: false choices: - moderation - security - reports dashboard_general_tab_activity_metrics: client: true type: list list_type: compact default: "page_view_total_reqs|visits|time_to_first_response|likes|flags|user_to_user_private_messages_with_replies" allow_any: false choices: - page_view_total_reqs - visits - time_to_first_response - likes - flags - user_to_user_private_messages_with_replies - signups