| Сводка | Самостоятельно хостингуемый open-source аналог Discord: превращает Discourse в канал-ориентированное сообщество с текстовыми, голосовыми и форумными каналами. | |
| Репозиторий | github.com/awesomerobot/concord | |
| Гид по установке | Как установить тему или компонент темы | |
| Новичок в темах Discourse? | Начальное руководство по использованию тем Discourse |
Установить эту тему
Когда вы используете Discourse для ведения собственного независимого сайта, вы можете выбрать свои политики, разрешить публичный доступ к вашему сайту и публиковать контент, который будет индексироваться поисковыми системами и сканерами. Кроме того, вы можете расширять его и менять стиль так, как вам угодно!
Concord делает всё каналами и отображает все каналы в пользовательском боковом меню:
- Категории — это форумные каналы
- Чат-каналы — это текстовые каналы
- Голосовые комнаты (из плагина voice) — это голосовые каналы
- Теги могут также быть теговыми каналами (по желанию)
Пользовательский заголовок содержит выпадающее меню со страницами всего сайта (о нас, группы, значки, администрирование и т.д.), которое находится рядом с названием текущего канала, его описанием и действиями. Личные сообщения находятся в собственном представлении, а справа есть список участников, показывающий, кто онлайн.
Это радикально меняет макет Discourse, поэтому он не будет совместим с каждым плагином или компонентом темы. Также он зависит от некоторых очень недавних изменений в ядре, поэтому убедитесь, что вы обновили Discourse перед установкой (вам нужна сборка от 15 октября 2026 года или новее).
Настройка
Для Concord требуется внести несколько изменений в настройки сайта, поэтому вот что нужно проверить в настройках вашего сайта Discourse после установки.
В качестве администратора вы можете просмотреть все эти настройки одновременно, вставив это в конец URL вашего Discourse:
/admin/site_settings/category/all_results?filter=any:navigation_menu|default_homepage|chat_enabled|chat_allowed_groups|enable_public_channels|voice_allowed_groups|voice_create_room_allowed_groups|enable_user_status|tagging_enabled
Обратите внимание, что для просмотра соответствующих настроек вам нужно включить voice из предстоящих изменений,
/admin/config/upcoming-changes
| Настройка сайта | Что установить |
|---|---|
navigation menu |
sidebar (обязательно, список каналов является боковым меню) |
chat enabled |
enabled, если вы хотите текстовые каналы и личные сообщения |
chat allowed groups |
те, кому должен быть доступен чат; включите anonymous_users для просмотра без входа |
enable public channels |
enabled, чтобы сотрудники могли создавать текстовые каналы |
live enabled |
enabled, если вы хотите Live-каналы (аудио/видео) |
live allowed groups |
те, кому должно быть разрешено присоединяться к Live-каналам |
live create room allowed groups |
те, кому должно быть разрешено создавать Live-каналы |
enable user status |
необязательно, статусы отображаются на аватарах в панели пользователя и в заголовке |
tagging enabled |
необязательно, требуется только если вы включаете настройку темы include tags |
default homepage |
необязательно, но теперь вы можете установить здесь любой выбранный вами чат-канал |
Создание каналов
Знак + рядом с названием вашего сайта открывает модальное окно «создать канал». Оно предлагает только типы каналов, которые вам разрешено создавать:
- Forum создает категорию (все, кто может создавать категории)
- Text создает чат-канал (сотрудники)
- Voice создает голосовую комнату (настройка
voice create room allowed groups)
Каждый тип можно сделать приватным для набора групп. Вы можете изменить это позже через Privacy в меню … канала в боковом меню.
В Discourse чат-каналы получают свои разрешения от категории, поэтому каждый текстовый канал, который вы создаете в этой теме, получает пустую «поддерживающую» категорию, вложенную внутри родительской категории chat-channels. Эти категории скрыты из списка каналов, поэтому вам не нужно о них думать… но не публикуйте темы в них (обычным пользователям это запрещено)! Когда вы удаляете текстовый канал из его меню … в боковом меню, его поддерживающая категория тоже удаляется.
Организация каналов в боковом меню
Каналы можно группировать в сворачиваемые разделы. Администраторы могут создавать, переименовывать, переставлять и удалять разделы из меню … на заголовке раздела, а также перемещать каналы между ними из меню … каждого канала. Всё, что не входит в раздел, перечисляется сверху, в алфавитном порядке.
Разделы действуют на весь сайт, поэтому все видят одинаковую структуру. Изменения появляются у других людей при следующей загрузке страницы.
Настройки темы
| Название | Описание |
|---|---|
| include tags | Перечислить теги пользователя в боковом меню как каналы (выключено по умолчанию) |
| include chat channels | Перечислить чат-каналы как текстовые каналы (включено по умолчанию) |
| ai conversations link | Показывать кнопку для разговоров с ИИ-ботом рядом с названием сайта, для тех, кто может их использовать (требуется Discourse AI с включенным Chatbot) |
| remember last channel | Повторно открыть канал, в котором человек был в последний раз, когда он возвращается на ваш сайт |
| chat container category | Slug категории, которая хранит поддерживающие категории для текстовых каналов, по умолчанию chat-channels |
| sidebar sections | Разделы и каналы в каждом из них; вы можете управлять ими из бокового меню, это просто место хранения данных |
| member list roles | Группы, отображаемые как роли вверху списка участников, в порядке (по умолчанию администраторы и модераторы) |
Другие важные моменты
- Все видят каждый канал, к которому у них есть доступ; пока нет способа для людей скрывать отдельные каналы из своего списка. Отключение уведомлений для канала работает как обычно.
- Открытие текстового канала присоединяет к нему, как в Discord. Если кто-то покидает канал, он все равно остается в списке, поэтому отключение уведомлений — лучший вариант, чтобы сделать его тихим.
- Подкатегории не имеют своего места в списке каналов; вместо этого они отображаются как блоки вверху форумного канала родителя. Тема в целом предполагает плоскую структуру, но вы можете выбрать родительскую категорию для форумного канала, отредактировав его после создания.
- Удаление текстового канала из собственной страницы настроек чата скрыто для каналов с поддерживающей категорией, поэтому они всегда удаляются из меню
…канала (что также очищает категорию). Если канал удаляется каким-то другим способом, например через API, поддерживающая категория остается, и вам придется удалить ее самостоятельно. - Чат всегда открывается на полной странице, никогда в выдвижной панели.
- «Онлайн» в списке участников означает активность где-либо на сайте в последние несколько минут, а не только в чате. Люди, скрывающие свое присутствие, остаются скрытыми.
- На сайтах с очень большим количеством каналов в список загружаются только первые 500 текстовых каналов. Аналогично, список участников приватного чат-канала загружает своих первых 250 участников сразу, а остальные — по мере прокрутки.
- Делая голосовой канал приватным, вы добавляете текущих членов выбранных вами групп (до 200). Люди, которые присоединятся к этим группам позже, не получат доступа автоматически, так как голосовые комнаты не имеют групповых разрешений. Вам придется вручную приглашать дополнительных участников.
- Если вы впоследствии перейдете с Concord, поддерживающие категории для ваших текстовых каналов останутся там (и будут видны на
/categories), поэтому, возможно, вы захотите удалить их.
Тут еще столько всего можно сделать, но это надежная основа, если вы ищете аналог Discord, который можно хостить самостоятельно (или использовать на нашем платном хостинге discourse.org!).
Как всегда, отзывы и мысли приветствуются!






