Concord: Discord 스타일의 Discourse 테마

:information_source: 요약 모든 것을 채널로 만들어 사이트를 Discord 스타일 채팅 서버처럼 변형하는 Discourse 테마입니다
:hammer_and_wrench: 저장소 github.com/awesomerobot/concord
:question: 설치 가이드 테마 또는 테마 컴포넌트 설치 방법
:open_book: Discourse 테마 초보입니까? Discourse 테마 사용 입문가 가이드

이 테마 설치하기

이 테마는 Discourse 사이트가 자체 호스팅 가능한 Discord 대안처럼 느껴지도록 해줍니다!

Discourse를 사용하여 독립적인 사이트를 운영하면 자신의 정책을 선택하고 사이트를 공개적으로 사용할 수 있으며, 검색 엔진과 크롤러에 인덱싱되도록 콘텐츠를 게시할 수 있습니다.

Concord는 모든 것을 채널로 만들고 모든 채널을 사용자 정의 사이드바에 표시합니다:

  • 카테고리는 포럼 채널입니다
  • 채팅 채널은 텍스트 채널입니다
  • 음성 룸(voice 플러그인에서 가져옴)은 음성 채널입니다
  • 태그도 선택적으로 태그 채널로 사용할 수 있습니다

헤더는 현재 채널의 이름, 설명 및 작업을 포함하는 채널 헤더가 되고, DM(다이렉트 메시지)은 전용 뷰에 위치하며, 온라인 상태인 사람을 보여주는 멤버 목록이 오른쪽 사이드바에 있고, 사이트 전체 페이지(정보, 그룹, 배지, 관리자 등)는 별도의 메뉴로 이동합니다.

:warning: 이 테마는 Discourse 레이아웃을 극적으로 변경하므로 모든 플러그인이나 테마 컴포넌트와 호환되지 않습니다. 또한 코어의 매우 최근 변경 사항에 의존하므로 설치 전에 Discourse를 업데이트했는지 확인하세요(2026년 10월 15일 이후 빌드가 필요합니다).

설정 방법

Concord는 몇 가지 사이트 설정 변경이 필요하므로, 설치 후 Discourse 사이트 설정에서 다음 사항을 확인하십시오.

관리자로 로그인한 경우, 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: 관련 설정을 보려면 예정된 변경 사항(upcoming changes)에서 voice를 활성화해야 합니다. /admin/config/upcoming-changes

사이트 설정 설정값
navigation menu sidebar (필수, 채널 목록 자체가 사이드바입니다)
chat enabled 텍스트 채널과 DM을 원한다면 enabled
chat allowed groups 채팅할 수 있어야 할 그룹, 로그아웃 상태로 보기 위해 anonymous_users 포함
enable public channels 스태프가 텍스트 채널을 생성할 수 있도록 enabled
voice enabled 음성 채널을 원한다면 enabled
voice allowed groups 음성 채널에 참여할 수 있어야 할 그룹
voice create room allowed groups 음성 채널을 생성할 수 있어야 할 그룹
enable user status 선택 사항, 상태는 사용자 패널과 헤더의 아바타에 표시됩니다
tagging enabled 선택 사항, 테마의 include tags 설정을 켜는 경우에만 필요
default homepage 선택 사항, 하지만 이제 원하는 채팅 채널로 설정할 수 있습니다

채널 생성

사이트 이름 옆의 + 버튼은 “채널 생성” 모달을 엽니다. 이는 사용자가 생성할 권한이 있는 채널 유형만 제공합니다:

  • 포럼은 카테고리를 생성합니다 (카테고리를 생성할 수 있는 모든 사람)
  • 텍스트는 채팅 채널을 생성합니다 (스태프)
  • 음성은 음성 룸을 생성합니다 (voice create room allowed groups 설정에 따라)

각 유형은 특정 그룹으로 비공개로 만들 수 있습니다. 이는 나중에 사이드바의 채널 … 메뉴에서 **개인 정보(Privacy)**를 통해 변경할 수 있습니다.

Discourse에서 채팅 채널은 카테고리로부터 권한을 받으므로, 이 테마에서 생성하는 각 텍스트 채널에는 chat-channels 부모 카테고리 안에 중첩된 빈 “백킹(backing)” 카테고리가 생성됩니다. 이러한 카테고리는 채널 목록에서 숨겨지므로 신경 쓸 필요가 없지만… 그 안에 토픽을 게시하지 마세요(일반 사용자는 게시 권한이 없음)! 사이드바의 … 메뉴에서 텍스트 채널을 삭제하면 해당 백킹 카테고리도 함께 삭제됩니다.

사이드바 채널 정리

채널은 접을 수 있는 섹션으로 그룹화할 수 있습니다. 관리자는 섹션 제목의 … 메뉴에서 섹션을 생성, 이름 변경, 순서 변경 및 삭제할 수 있고, 각 채널의 … 메뉴에서 채널을 섹션 간으로 이동시킬 수 있습니다. 섹션에 속하지 않은 항목은 알파벳 순서로 상단에 나열됩니다.

섹션은 사이트 전체에 적용되므로 모든 사람이 동일한 레이아웃을 봅니다. 변경 사항은 다른 사용자가 페이지를 다시 로드할 때 반영됩니다.

테마 설정

이름 설명
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 등을 통해 채널이 다른 방식으로 삭제되면 백킹 카테고리가 남으므로 직접 제거해야 합니다.
  • 채팅은 항상 전체 페이지로 열리며, 드로어(drawer)에서는 열리지 않습니다.
  • 멤버 목록의 "온라인"은 채팅뿐만 아니라 사이트 어디에서든 지난 몇 분 동안 활동했다는 의미입니다. 존재감을 숨긴 사람은 계속 숨겨집니다.
  • 채널 수가 매우 많은 사이트에서는 목록에 첫 500개의 텍스트 채널만 로드됩니다. 마찬가지로, 비공개 채팅 채널의 멤버 목록은 처음 250명의 멤버를 미리 로드하고 나머지는 스크롤 시 로드됩니다.
  • 음성 채널을 비공개로 만들면 선택한 그룹의 현재 멤버(최대 200명)가 추가됩니다. 나중에 해당 그룹에 가입하는 사람은 음성 룸에 그룹 권한이 없으므로 자동으로 접근 권한을 받지 못합니다. 추가 멤버를 수동으로 초대해야 합니다.
  • 나중에 Concord에서 전환해도 텍스트 채널의 백킹 카테고리는 그대로 남아있으며(/categories에서 보임), 따라서 삭제하는 것이 좋습니다.

여기서 더 할 수 있는 일이 많지만, 자체 호스팅(또는 유료 discourse.org 호스팅!) 가능한 Discord 대안을 찾는다면 견고한 기반이 될 것입니다.

항상 그렇듯, 피드백과 의견을 환영합니다!

10개의 좋아요