저는 개발자 방식(Docker 미사용)으로 Discourse 사이트를 운영 중입니다. sidekiq, redis, discourse를 각각 별도의 서비스로 실행하고 있으며, 전체적으로 정상적으로 동작합니다.
새 플러그인을 설치할 때만 문제가 발생합니다. 플러그인을 /plugins 디렉토리에 git-clone으로 가져오고, 소유자를 www-data 또는 discourse로 변경(chmod)한 후, 앞서 언급한 서비스들을 재시작하고 서버도 재부팅했는데도 사이트의 /admin/plugins 페이지에서 해당 플러그인이 보이지 않습니다. 등록된 플러그인이 하나도 없습니다.
하지만 /admin/site_settings에서 새로 설치한 플러그인의 설정 항목을 검색하면 찾을 수 있습니다. 예를 들어 chat-integrations 플러그인의 경우 "chat"을 검색하면 “chat integration enabled” 및 관련 설정들이 나옵니다. 이 중 일부는 활성화(체크)되어 있고, 일부는 비활성화되어 있습니다. 하드 리로드(Ctrl+Shift+R)를 하면 체크된 항목들이 바뀌어, 갑자기 slack이 비활성화되고 discourse가 활성화되기도 하고, 다음 리로드 시에는 그 반대 현상이 일어나는 식입니다.
discourse-news 같은 다른 플러그인에서도 동일한 현상이 발생합니다.
어떤 플러그인도 정상적으로 동작하지 않는 것으로 보입니다.
discourse-big-header-little-header 컴포넌트는 성공적으로 설치했고, 화면에 표시되며 정상적으로 작동합니다.
그렇다면 플러그인들은 무엇이 문제일까요?