Concord: Discourse用のDiscord代替テーマ

:information_source: 概要 セルフホスト可能なオープンソースのDiscord代替ツール:Discourseをテキスト、ボイス、フォーラムチャンネルを持つチャネルベースのコミュニティに変えます。
:hammer_and_wrench: リポジトリ github.com/awesomerobot/concord
:question: インストールガイド テーマまたはテーマコンポーネントのインストール方法
:open_book: Discourseテーマ初心者ですか? Discourseテーマの使用に関するビギナーズガイド

このテーマをインストール

Discourseを使用して独自の独立したサイトを運営する場合、ポリシーを選択し、サイトが公開表示可能になるように設定したり、検索エンジンやクローラーによってインデックス付けされるようコンテンツを公開したりできます。さらに、お好みに応じて拡張やスタイルの変更も可能です!

Concordはすべてをチャネルとして扱い、カスタムサイドバーにすべてのチャネルを表示します:

  • カテゴリ はフォーラムチャネルです
  • チャットチャネル はテキストチャネルです
  • ボイスルーム(ボイスプラグインから)はボイスチャネルです
  • タグ もオプションでタグチャネルとして機能します

カスタムヘッダーには、サイト全体のページ(概要、グループ、バッジ、管理など)を含むドロップダウンメニューが含まれており、現在のチャネル名、説明、アクションの隣に配置されます。ダイレクトメッセージは独自のビューにあり、オンラインユーザーを表示するメンバーリストが右側のサイドバーにあります。

:warning: これはDiscourseのレイアウトを劇的に変更するため、すべてのプラグインやテーマコンポーネントとは互換性がありません。また、コアの非常に最近の変更にも依存しているため、インストール前にDiscourseを更新してください(2026年10月15日以降のビルドが必要です)。

セットアップ

Concordにはいくつかのサイト設定の変更が必要となるため、インストール後にDiscourseのサイト設定で確認すべき項目を以下に示します。

管理者として、以下のURL末尾に貼り付けることで、これらの設定を同時に閲覧できます:

/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

:information_source: 関連する設定を確認するには、/admin/config/upcoming-changes からボイスを有効にする必要があります。

サイト設定 設定値
navigation menu sidebar(必須、チャネルリストがサイドバーです)
chat enabled テキストチャネルとDMを使用する場合に enabled
chat allowed groups チャットできるべきグループ、ログアウト時の閲覧のために anonymous_users を含む
enable public channels スタッフがテキストチャネルを作成できるように enabled
live enabled Liveチャネル(音声/動画)を使用する場合に enabled
live allowed groups Liveチャネルに参加できるべきグループ
live create room allowed groups Liveチャネルを作成できるべきグループ
enable user status オプション、ステータスはユーザーパネルとヘッダーのアバターに表示されます
tagging enabled オプション、テーマの include tags 設定をオンにする場合のみ必要
default homepage オプションですが、任意のチャットチャネルを設定できます

チャネルの作成

サイト名の横にある + は「チャネル作成」モーダルを開きます。作成許可されているチャネルタイプのみが表示されます:

  • フォーラム はカテゴリを作成します(カテゴリを作成できる人)
  • テキスト はチャットチャネルを作成します(スタッフ)
  • ボイス はボイスルームを作成します(voice create room allowed groups 設定)

各タイプは特定のグループに対してプライベートに設定できます。これは後で、サイドバーのチャネルの … メニューにある プライバシー から変更できます。

Discourseでは、チャットチャネルはカテゴリから権限を取得するため、このテーマで作成する各テキストチャネルには、chat-channels 親カテゴリ内にネストされた空の「バックエンド」カテゴリが割り当てられます。これらのカテゴリはチャネルリストから非表示にされるため、意識する必要はありません…ただし、そこにトピックを投稿しないでください(一般ユーザーは許可されていません)! サイドバーの … メニューからテキストチャネルを削除すると、そのバックエンドカテゴリも削除されます。

サイドバーチャネルの整理

チャネルは折りたたみ可能なセクションにグループ化できます。管理者は、セクション見出しの … メニューからセクションの作成、名前変更、順序変更、削除を行い、各チャネルの … メニューからチャネルをセクション間で移動できます。セクションに含まれないものは、アルファベット順で上部にリストされます。

セクションはサイト全体に適用されるため、全員が同じレイアウトを見ます。変更は、他の人がページを再読み込みした際に反映されます。

テーマ設定

名前 説明
include tags ユーザーのサイドバータグをチャネルとしてリスト表示(既定ではオフ)
include chat channels チャットチャネルをテキストチャネルとしてリスト表示(既定ではオン)
ai conversations link AIボットの会話用のボタンをサイト名の横に表示(使用可能な人のために、Chatbotが有効なDiscourse AIが必要です)
remember last channel ユーザーがサイトに再訪問した際、最後にいたチャネルを再開する
chat container category テキストチャネルのバックエンドカテゴリを保持するカテゴリのスラッグ、既定では chat-channels
sidebar sections セクションとその中のチャネル、サイドバーから管理できます、これはデータの保存場所です
member list roles メンバーリストの上部にロールとして表示されるグループ、順序付き(既定では管理者とモデレーター)

その他の注意点

  • 全員がアクセス権限のあるすべてのチャネルを見ます。個人が自分のリストから個別のチャネルを非表示にする方法は(まだ)ありません。チャネルのミュートは通常通り通知用に機能します。
  • テキストチャネルを開くと参加します、Discordと同じです。誰かがチャネルを離れてもリストに残るため、静かにしたい場合はミュートの方が良い選択肢です。
  • サブカテゴリはチャネルリストに専用のスペースを持ちません。代わりに、親フォーラムチャネルの上部にボックスとして表示されます。テーマは一般的にフラットな構造を推奨しますが、フォーラムチャネルを作成後に編集することで親カテゴリを選択できます。
  • チャット自身の設定ページからのテキストチャネルの削除は、バックエンドカテゴリを持つチャネルに対して非表示にされるため、常にチャネルの … メニューから削除されます(これによりカテゴリもクリーンアップされます)。APIなど他の方法でチャネルが削除された場合、バックエンドカテゴリが残りますので、自分で削除する必要があります。
  • チャットは常に全ページで開き、ドロワー内では開きません。
  • メンバーリストの「オンライン」は、チャットだけでなくサイトのどこかで直近数分間アクティブであることを意味します。存在を隠すユーザーは引き続き非表示のままです。
  • チャネル数が非常に多いサイトでは、最初の500個のテキストチャネルのみがリストに読み込まれます。同様に、プライベートチャットチャネルのメンバーリストは最初に250人のメンバーを読み込み、残りはスクロールに応じて読み込まれます。
  • ボイスチャネルをプライベートにすると、選択したグループの現在のメンバー(最大200人)が追加されます。後でそれらのグループに参加した人は自動的にアクセス権を得ません。ボイスルームにはグループ権限がないためです。追加のメンバーを手動で招待する必要があります。
  • 後でConcordから切り替えた場合、テキストチャネルのバックエンドカテゴリはまだそこに残ります(/categories で表示され)、削除することを検討してもよいでしょう。

ここで行えることはまだたくさんありますが、セルフホストできる(または当社の有料 discourse.org ホスティングで使用できる)Discord代替を探している方にとっては、堅牢な基盤となります。

いつも通り、フィードバックやご意見をお待ちしています!

「いいね!」 31

素晴らしいですね、@awesomerobot さん。これは他のユーザーにもリーチできる良い取り組みだと思います。ただ、チャットには投票機能や装飾的なアイテム(グーディーズ)などのオプションがかなり不足しているように感じます。Discordは好きではないので、それは全く問題ありません :rofl: ただし、Discourseは大好きです :smiling_face_with_three_hearts:

「いいね!」 4

はい、これはまだナビゲーション用の別のラッパーに包まれたDiscourseチャットです。もし皆さんがDiscordのようなチャット機能をさらに求めているのであれば、それは常に Contribute > Feature に適したトピックです(ちなみに、投票機能についてはすでに提案されているのに気づきました! Sondage pour le chat)

「いいね!」 5

本当に興味深く、ユーザーがDiscordを希望しているのに管理者はDiscourseを使いたいという状況で悩んでいる方々にはぴったりです。かなり惹かれています!

「いいね!」 4

@awesomerobot テーマについていくつかフィードバックです。今日は少しテストしてみました。

また、

  • ホームに戻る方法がないのが不便です。特に管理画面にいるときなどには。
  • サイト名をロゴとして表示することは可能ですか?コミュニティからはおそらくこの要望が出るでしょう。
  • 翻訳ドロップダウンなどのために、アウトレットを右上のヘッダーアイコンの横にレンダリングできると良いと思います(そうしないと表示されません)。
「いいね!」 2

Discord のスタイルどおり、本当の意味での「ホームページ」はありません。初回ログイン時は紹介チャンネルや設定したホームページに移動しますが、それ以外の場合は、前回いた場所にそのまま戻ります。

ただ、ホームボタンを追加するのは簡単です!

管理画面から抜けるためのサポートされている経路は「すべてのチャンネルに戻る」ですが、その部分を簡素化して使いやすくできます。

良い指摘ですね。これらは簡単に追加できます!

必要に応じて無効化できるように、ホームリンクとロゴを設定項目の後ろに配置します。

「いいね!」 3

今必要なのは、Discord から Discourse への優れた移行ツールだけだ。そうすれば、あの厄介な Discord サーバーもスムーズに移行できる!

これは良い出発点になりそうだ:

「いいね!」 2

Roberts のプラグインもあります

「いいね!」 5

素晴らしい取り組みですが、Discordと比べるとチャット機能のオプションがかなり不足しています。Discourse Chatの無料版として、すぐに使えるプリセット版を、既存のDiscourseプランに加えて提供すると良いかもしれません。将来的には、一部のサービスプロバイダーやベンダーでDiscordではなくDiscourse Chatに切り替える様子が見られるようになれば面白いと思います。