Discourse 헤드리스?

Discourse를 헤드리스 모드, 즉 Ember 프론트엔드 없이 실행할 수 있나요?

이것은 분명히 자주 묻는 질문이 아니므로 #installation 카테고리로 변경합니다.

사용 사례를 좀 더 자세히 설명해 주시겠습니까?

React 프론트엔드를 사용하여 Discourse API를 소비하고 있습니다. 또한 특정 사용 사례를 위해 Discourse 기능을 확장하는 자체 플러그인도 있습니다.

사용자가 ‘API’ URL을 방문하면 현재 브랜드가 없는 Discourse Ember 프론트엔드가 표시됩니다. 이상적으로는 이를 비활성화하고 싶습니다.

저는 커스텀 앱이 Discourse API를 호출할 때 커스텀 헤더를 설정하도록 하고, 내부 Discourse nginx에 해당 특수 헤더가 없는 모든 요청에 대해 403을 반환하는 작은 규칙을 추가하겠습니다.

@Falco, 제안해 주셔서 감사합니다. 공식 Discourse 도커 이미지를 계속 사용하면서 이 작업을 수행하는 가장 좋은 방법은 무엇일까요?

app.yml 파일에서 필요한 변형 작업을 수행할 수 있습니다.

현재 가지고 있는 app.yml 파일은 다음과 같이 끝나야 합니다:

run:
  - exec: echo "Beginning of custom commands"
  ## blablabla
  - exec: echo "End of custom commands"

nginx 파일에서 치환(replace)을 실행하여 다음과 같은 모양으로 만들 수 있습니다.

run:
  - exec: echo "Beginning of custom commands"
  ## blablabla
  - replace:
     filename: "/etc/nginx/conf.d/discourse.conf"
     from: "location @discourse {"
     to: |
       location @discourse {
       add_header AAA bbb;
  - exec: echo "End of custom commands"

discourse_docker/templates at master · discourse/discourse_docker · GitHub 에 여러 예제가 있습니다.