Это #справочное руководство по всем доступным скрытым настройкам сайта.
Требуемый уровень пользователя: Администратор
Скрытые настройки сайта в Discourse — это расширенные параметры конфигурации, недоступные через стандартный интерфейс администратора. Они обеспечивают дополнительную гибкость для настройки функциональности вашего экземпляра Discourse.
Для получения дополнительной информации об изменении скрытых настроек сайта см.: Включение скрытых настроек сайта.
Ниже приведена справочная таблица всех доступных скрытых настроек сайта в Discourse.
Основные
Настройки, помогающие настроить фундаментальные аспекты вашего экземпляра Discourse:
| Настройка сайта | Тип | Описание | Значение по умолчанию |
|---|---|---|---|
| max_category_nesting | integer | Устанавливает максимальное количество уровней вложенности категорий. | 2 |
| enable_mobile_theme | boolean | Включает тему, специфичную для мобильных устройств. Отключите, чтобы использовать адаптивный стиль для всех устройств. | TRUE |
| enable_upload_debug_mode | boolean | Включает подробное логирование для загрузок, полезно для отладки проблем с загрузкой файлов. | FALSE |
| default_theme_id | integer | ID темы по умолчанию, используемый для новых и анонимных пользователей. | -1 |
| enable_badge_sql | boolean | Позволяет использовать SQL для определения запросов значков непосредственно в интерфейсе администратора. | FALSE |
| vapid_public_key_bytes | string | Хранит открытый ключ, используемый в аутентификации VAPID, необходимый для отправки веб-уведомлений (Web Push). | “” |
| vapid_public_key | string | Открытый ключ, используемый для аутентификации VAPID для веб-уведомлений. | “” |
| vapid_private_key | string | Закрытый ключ, используемый для аутентификации VAPID для веб-уведомлений. | “” |
| vapid_base_url | string | Базовый URL, настроенный для VAPID для подтверждения идентификатора сервера в веб-уведомлениях. | “” |
| enable_passkeys | boolean | Включает использование ключей доступа (passkeys) на основе WebAuthn для безопасной аутентификации пользователей без паролей. | TRUE |
| verbose_upload_logging | boolean | Включает подробные логи для процессов загрузки, что помогает выявлять и диагностировать проблемы с загрузкой файлов. | FALSE |
| verbose_auth_token_logging | boolean | Включает подробное логирование процессов токенов аутентификации. | FALSE |
| max_suspicious_distance_km | integer | Определяет максимальное расстояние в километрах между последовательными IP-адресами при входе, чтобы считаться подозрительным. | 100 |
| discourse_connect_csrf_protection | boolean | Включает защиту от CSRF для аутентификации DiscourseConnect. | TRUE |
| invites_per_page | integer | Количество приглашений, отображаемых на странице приглашений. | 40 |
| max_notifications_per_user | integer | Максимальное количество уведомлений, которые может иметь пользователь, прежде чем старые будут автоматически удалены. | 10000 |
| max_bookmarks_per_user | integer | Максимальное количество закладок, которые может создать пользователь. | 2000 |
Публикация
Настройте работу публикации в вашем экземпляре Discourse:
| Настройка сайта | Тип | Описание | Значение по умолчанию |
|---|---|---|---|
| show_copy_button_on_codeblocks | boolean | Добавляет кнопку в блоки кода для копирования содержимого блока в буфер обмена пользователя. | TRUE |
| disable_watched_word_checking_in_user_fields | boolean | Отключает проверку отслеживаемых слов в полях профиля пользователя. | FALSE |
| max_draft_length | integer | Устанавливает максимальную длину черновиков. | 150000 |
| max_drafts_per_user | integer | Максимальное количество черновиков, которые может иметь пользователь. | 10000 |
| group_pm_user_limit | integer | Максимальное количество пользователей, которых можно включить в групповое личное сообщение. | 1000 |
Электронная почта
Управление отправкой и получением писем с вашей платформы Discourse:
| Настройка сайта | Тип | Описание | Значение по умолчанию |
|---|---|---|---|
| bounce_score_erode_on_send | float | Снижает балл за отскок при каждой отправке письма, позволяя быстрее восстановиться после отскоков. | 0.1 |
| email_custom_template | string | Пользовательский HTML-шаблон для писем. Используется, если необходимо переопределить шаблон по умолчанию. | “” (пусто) |
| email_custom_css | string | Пользовательский CSS для стилизации писем. Используется, если необходимо переопределить стиль по умолчанию. | “” (пусто) |
| email_custom_css_compiled | string | Скомпилированная версия пользовательского CSS для писем. | “” (пусто) |
| enable_secondary_emails | boolean | Позволяет пользователям добавлять дополнительные адреса электронной почты в свой профиль. | TRUE |
| max_participant_names | integer | Максимальное количество имен участников, отображаемых в уведомлениях по электронной почте для групповых сообщений. | 10 |
Файлы
Определите управление файлами и загрузками:
| Настройка сайта | Тип | Описание | Значение по умолчанию |
|---|---|---|---|
| max_export_file_size_kb | integer | Указывает максимальный размер файла для экспорта в килобайтах. | 50000 |
| export_authorized_extensions | string | Указывает расширения файлов, разрешенные для экспорта. | “zip” |
| secure_uploads_pm_only | boolean | Если true, безопасные загрузки включены только для личных сообщений. | FALSE |
| enable_s3_transfer_acceleration | boolean | Если true, включает ускорение передачи Amazon S3. | FALSE |
| s3_http_continue_timeout | integer | Время в секундах ожидания ответа 100 Continue от S3 перед отправкой полезной нагрузки запроса. | 1 |
| s3_install_cors_rule | boolean | Если true, устанавливает правила CORS на S3 для разрешения запросов с любого домена. | TRUE |
| s3_presigned_get_url_expires_after_seconds | integer | Длительность в секундах, после которой предподписанный URL для объектов S3 истечет. | 300 |
| decompressed_theme_max_file_size_mb | integer | Максимальный размер файла темы в мегабайтах после распаковки. | 1000 |
| decompressed_backup_max_file_size_mb | integer | Максимальный размер файла резервной копии в мегабайтах после распаковки. | 100000 |
| composer_media_optimization_image_resize_pre_multiply | boolean | Оптимизирует обработку изображений, предварительно умножая альфа-канал в манипуляциях с холстом для улучшения качества изменения размера изображений. | FALSE |
| composer_media_optimization_image_encode_quality | integer | Качество кодирования JPG, используемое в процессе повторного кодирования для оптимизации изображений. | 0 |
| composer_media_optimization_image_resize_linear_rgb | boolean | При изменении размера используйте линейный RGB для улучшения качества измененного изображения. | FALSE |
| composer_ios_media_optimisation_image_enabled | boolean | Включите специфичные стратегии оптимизации изображений на устройствах iOS для повышения производительности. | TRUE |
| video_thumbnails_enabled | boolean | Включает генерацию миниатюр для видеофайлов, загруженных на форум. | TRUE |
Безопасность
Настройте функции безопасности в соответствии с потребностями вашего форума:
| Настройка сайта | Тип | Описание | Значение по умолчанию |
|---|---|---|---|
| allow_indexing_non_canonical_urls | boolean | Разрешает индексацию неканонических URL-адресов. | TRUE |
| non_crawler_user_agents | list | Список пользовательских агентов, считающихся не-краулерами. | "trident |
| crawler_user_agents | list | Список пользовательских агентов, считающихся краулерами. | "rss |
| browser_update_user_agents | list | Пользовательские агенты устаревших браузеров для отображения сообщений об обновлении. | "MSIE 6 |
| crawler_check_bypass_agents | string | Пользовательские агенты, которые могут обойти проверки краулеров. | “cubot” |
| keep_old_ip_address_count | integer | Количество старых IP-адресов, сохраняемых для каждого пользователя. | 0 |
| content_security_policy_collect_reports | boolean | Включает сбор отчетов о нарушениях CSP. | FALSE |
| allow_embedding_site_in_an_iframe | boolean | Разрешает встраивание сайта в iframe на других сайтах. | FALSE |
| send_old_credential_reminder_days | integer | Количество дней для напоминания об устаревших учетных данных. Если установлено 0, напоминания отключены. | 0 |
| disable_onebox_media_download_controls | boolean | Отключает элементы управления загрузкой медиа в однобокс-вставках аудио/видео. | FALSE |
| cross_origin_opener_policy_header | string | Устанавливает заголовок Cross-Origin-Opener-Policy. Доступные варианты: unsafe-none, same-origin, same-origin-allow-popups. | “same-origin-allow-popups” |
Onebox
Управление обработкой однобоксов:
| Настройка сайта | Тип | Описание | Значение по умолчанию |
|---|---|---|---|
| force_get_hosts | list | Домены, где принудительно используется запрос GET из-за проблем с запросами HEAD | us.battle.net news.yahoo.com *.medium.com |
| onebox_user_agent | string | Определяет строку пользовательского агента, используемую системой Onebox при выполнении HTTP-запросов. Если настройка пуста, используется пользовательский агент по умолчанию, определенный в Onebox.options.user_agent |
“” |
| inline_onebox_user_agent | string | Пользовательский агент, используемый при получении ответов inline-однобоксов, если указан | “” |
Ограничения скорости
Управление ресурсами и безопасностью через ограничения скорости:
| Настройка сайта | Тип | Описание | Значение по умолчанию |
|---|---|---|---|
| rate_limit_search_anon_global_per_minute | integer | Глобальное ограничение скорости для анонимных поисковых запросов в минуту | 150 |
| rate_limit_search_anon_user_per_minute | integer | Ограничение скорости на пользователя для анонимных поисковых запросов в минуту | 15 |
| rate_limit_search_anon_global_per_second | integer | Глобальное ограничение скорости для анонимных поисковых запросов в секунду | 8 |
| rate_limit_search_anon_user_per_second | integer | Ограничение скорости на пользователя для анонимных поисковых запросов в секунду | 2 |
| rate_limit_search_user | integer | Ограничение скорости на пользователя для поисковых запросов авторизованных пользователей в минуту | 30 |
| max_allowed_secondary_emails | integer | Максимальное количество дополнительных адресов электронной почты, разрешенных пользователю | 10 |
| max_batch_presign_multipart_per_minute | integer | Максимальное количество операций предварительной подписи multipart в пакетном режиме, которые пользователь может инициировать в минуту | 20 |
| max_presigned_put_per_minute | integer | Максимальное количество операций PUT с предварительной подписью, которые пользователь может инициировать в минуту | 10 |
| max_create_multipart_per_minute | integer | Максимальное количество созданий multipart, которые пользователь может инициировать в минуту | 10 |
| max_complete_multipart_per_minute | integer | Максимальное количество завершений multipart, которые пользователь может инициировать в минуту | 10 |
| max_uploads_per_minute | integer | Максимальное количество операций загрузки, которые пользователь может инициировать в минуту | 10 |
Разработчик
Настройка среды разработки:
| Настройка сайта | Тип | Описание | Значение по умолчанию |
|---|---|---|---|
| force_hostname | string | Принудительно устанавливает конкретное имя хоста для сайта. | “” |
| port | integer | Настраивает номер порта, на котором слушает сервер. | “” |
| enable_chunked_encoding | boolean | Включает ответы с кодировкой chunked от сервера, что может помочь прокси-серверам, буферизирующим ответы. | TRUE |
| long_polling_base_url | string | Базовый URL для использования при длинном опросе, полезно для разделения трафика CDN и прямого взаимодействия с сайтом. | “/” |
| background_polling_interval | integer | Частота в миллисекундах для фонового опроса клиентами. | 60000 |
| polling_interval | integer | Частота в миллисекундах для активного опроса авторизованными клиентами. | 3000 |
| anon_polling_interval | integer | Частота в миллисекундах для опроса сервера анонимными клиентами. | 25000 |
| rebake_old_posts_count | integer | Количество постов, которые переформатируются автоматическими задачами, работающими в фоновом режиме. | 80 |
| migrate_to_new_scheme | boolean | Переключает миграцию старых загрузок в новую схему хранения, в основном используется во время обновлений. | FALSE |
| max_new_topics | integer | Максимальное количество новых тем, которые пользователь может создать, используется для предотвращения спама или перегрузки системы. | 500 |
| wizard_enabled | boolean | Включает или отключает мастер настройки, отображаемый после установки. | TRUE |
| bypass_wizard_check | boolean | Позволяет пропустить проверку завершения мастера настройки, полезно для разработчиков или автоматизированных настроек. | FALSE |
| logging_provider | enum | Определяет фреймворк логирования для приложения. Может быть ‘default’ или другой поддерживаемый фреймворк. | “default” |
| bootstrap_error_pages | boolean | Включает или отключает стилизованные страницы ошибок, созданные с помощью bootstrap. Полезно для поддержания единообразия стиля на страницах ошибок. | FALSE |
| include_associated_account_ids | boolean | Включает идентификаторы связанных учетных записей в определенных выводах — полезно для более связанной обработки данных учетных записей. | FALSE |
| max_sidebar_section_links | integer | Максимальное количество ссылок на секцию боковой панели, контролирует загромождение интерфейса и производительность. | 50 |
| instrument_gc_stat_per_request | boolean | Следует ли собирать и логировать статистику сборки мусора для каждого HTTP-запроса — полезно для настройки производительности. | FALSE |
| warn_critical_js_deprecations | boolean | Включает предупреждения об устаревании критического JavaScript для администраторов — помогает в подготовке к обновлениям или исправлениям. | TRUE |
| warn_critical_js_deprecations_message | string | Пользовательское сообщение, добавляемое к предупреждениям об устаревании критического JS, делает уведомления более информативными. | “” |
Встраивание
Разрешить или ограничить встраивание контента:
| Настройка сайта | Тип | Описание | Значение по умолчанию |
|---|---|---|---|
| embed_by_username | string | Имя пользователя, используемое для встроенного контента. | “” |
| embed_post_limit | integer | Максимальное количество постов для встраивания из внешнего источника. | 100 |
| embed_topic_limit_per_page | integer | Максимальное количество тем, отображаемых на странице для встроенных тем. | 200 |
| embed_title_scrubber | string | Регулярное выражение, используемое для очистки или изменения заголовков во встроенном контенте. | “” |
| blocked_embed_selectors | string | CSS-селекторы, указывающие элементы, которые нужно исключить из встроенного контента. | “” |
| allowed_embed_classnames | string | Разрешенные имена классов во встроенном контенте, помогают фильтровать стиль контента. | “emoji” |
Резервные копии
Настройка конфигураций резервного копирования:
| Настройка сайта | Тип | Описание | Значение по умолчанию |
|---|---|---|---|
| include_s3_uploads_in_backups | boolean | Определяет, должны ли загрузки, хранящиеся в S3, включаться в резервные копии сайта. | FALSE |
Поиск
Оптимизация функциональности поиска на вашем сайте Discourse:
| Настройка сайта | Тип | Описание | Значение по умолчанию |
|---|---|---|---|
| prioritize_exact_search_title_match | boolean | Приоритизирует результаты поиска, которые точно соответствуют поисковым запросам в заголовках. | TRUE |
| max_duplicate_search_index_terms | integer | Устанавливает максимальное количество дублирующихся терминов, индексированных для поиска. | 6 |
| use_pg_headlines_for_excerpt | boolean | Включает поддержку заголовков Postgres для генерации фрагментов поиска. | FALSE |
| search_max_indexed_word_length | integer | Максимальная длина слов, индексированных для поиска. | 100 |
| search_ranking_normalization | string | Управляет нормализацией ранжирования поиска для улучшения релевантности результатов. | “0” |
| search_ranking_weights | string | Устанавливает коэффициенты взвешивания, используемые в расчетах ранжирования поиска. | “” |
| search_recent_regular_posts_offset_post_id | integer | Смещение ID поста для получения последних постов в результатах поиска. | 0 |
| search_enable_recent_regular_posts_offset_size | integer | Определяет количество последних обычных постов, учитываемых в поиске. | 200000 |
| category_search_priority_low_weight | float | Устанавливает более низкий вес для приоритизации категорий в результатах поиска. | 0.8 |
| category_search_priority_high_weight | float | Устанавливает более высокий вес для приоритизации категорий в результатах поиска. | 1.2 |
| search_page_size | integer | Количество результатов на странице в поисковых запросах. | 50 |
Без категории
Различные настройки, которые не подходят под другие категории:
| Настройка сайта | Тип | Описание | Значение по умолчанию |
|---|---|---|---|
| has_login_hint | boolean | Определяет, должны ли появляться подсказки для входа | FALSE |
| min_new_topics_time | integer | Минимальное время между созданием новых тем | 0 |
| general_category_id | integer | ID общей категории | -1 |
| meta_category_id | integer | ID мета-категории | -1 |
| staff_category_id | integer | ID категории персонала | -1 |
| uncategorized_category_id | integer | ID категории без категории | -1 |
| backup_drafts_to_pm_length | integer | Длина черновиков в личных сообщениях перед необходимостью резервного копирования | 0 |
| view_user_route | string | Раздел страницы профиля пользователя по умолчанию | “summary” |
| tos_topic_id | integer | ID темы условий использования | -1 |
| guidelines_topic_id | integer | ID темы правил | -1 |
| privacy_topic_id | integer | ID темы политики конфиденциальности | -1 |
| welcome_topic_id | integer | ID темы приветствия | -1 |
| admin_quick_start_topic_id | integer | ID темы руководства по быстрому запуску для администраторов | -1 |
| ios_app_id | string | ID приложения в App Store для iOS-приложения | “1173672076” |
| android_app_id | string | ID приложения в Play Store для Android-приложения | “com.discourse” |
| pwa_display_browser_regex | string | Регулярное выражение для определения, установлено ли отображение PWA в режим ‘browser’ | “a^” |
| always_include_topic_excerpts | boolean | Включать фрагменты тем каждый раз | FALSE |
| max_bulk_invites | integer | Максимальное количество массовых приглашений | 50,000 |
| skip_email_bulk_invites | boolean | Пропускать отправку писем при массовых приглашениях | FALSE |
| max_api_invites | integer | Максимальное количество приглашений на один API-запрос | 200 |
| overridden_robots_txt | string | Пользовательские правила для robots.txt | “” |
| show_category_definitions_in_topic_lists | boolean | Показывать посты с определениями категорий в списках тем | FALSE |
| max_automatic_membership_email_domains | integer | Максимальное количество доменов электронной почты для автоматического членства | 50 |
API
Управление работой API в вашем экземпляре Discourse:
| Настройка сайта | Тип | Описание | Значение по умолчанию |
|---|---|---|---|
| api_key_last_used_epoch | integer | Отслеживает последнее использованное время эпохи для ключей API. Не доступно напрямую для просмотра или редактирования. | # Значение добавляется в миграции |
| revoke_api_keys_maxlife_days | integer | Количество дней до автоматической отмены ключа API, установите 0, чтобы никогда не отменять. | 0 |
Панель управления
Настройте, какие отчеты отображаются на панели управления администратора, и определите, как определяются горячие темы:
| Настройка сайта | Тип | Описание | Значение по умолчанию |
|---|---|---|---|
| verbose_user_stat_count_logging | boolean | Включает подробное логирование обновлений статистики пользователей. | FALSE |
| hot_topics_gravity | float | Управляет настройкой гравитации, используемой в расчете горячих тем. | 1.2 |
| hot_topics_recent_days | integer | Определяет количество последних дней, учитываемых при расчете баллов горячих тем. | 7 |