Discourse headless?

É possível executar o Discourse em modo headless, ou seja, sem o frontend Ember?

Reclassificando para #instalação, pois isso definitivamente não é uma pergunta frequente.

Você poderia detalhar melhor seu caso de uso?

Temos um frontend em React consumindo a API do Discourse. Também temos nosso próprio plugin que estende recursos do Discourse para alguns casos de uso específicos.

Se os usuários visitarem nossa URL ‘API’, atualmente eles veem o frontend Ember do Discourse sem marcação. Idealmente, gostaríamos de desativar isso.

Eu configuraria meu aplicativo personalizado para definir um cabeçalho personalizado ao chamar a API do Discourse e adicionaria uma pequena regra no nginx interno do Discourse para retornar 403 para todas as requisições sem o cabeçalho especial.

Obrigado pela sugestão, @Falco. Qual seria a melhor maneira de fazer isso mantendo o uso das imagens oficiais do Docker do Discourse?

Você pode fazer a manipulação necessária no seu arquivo app.yml.

O arquivo app.yml que você tem agora deve terminar assim:

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

Você pode executar substituições no arquivo nginx, fazendo com que ele fique assim:

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"

Existem vários exemplos em discourse_docker/templates at master · discourse/discourse_docker · GitHub