Discourse headless?

Ist es möglich, Discourse im Headless-Modus zu betreiben, also ohne das Ember-Frontend?

Umkategorisierung zu #installation, da dies definitiv keine häufig gestellte Frage ist.

Könntest du deinen Anwendungsfall näher erläutern?

Wir haben ein React-Frontend, das die Discourse-API nutzt. Zusätzlich haben wir ein eigenes Plugin entwickelt, das Discourse-Funktionen für bestimmte Anwendungsfälle erweitert.

Wenn Nutzer unsere ‘API’-URL aufrufen, sehen sie derzeit das unmarkierte Discourse-Ember-Frontend. Idealerweise möchten wir dies deaktivieren.

Ich würde meine benutzerdefinierte App veranlassen, beim Aufrufen der Discourse-API einen benutzerdefinierten Header zu setzen und eine kleine Regel im internen Discourse-nginx einzufügen, um alle Anfragen ohne den speziellen Header mit 403 abzulehnen.

Danke für den Vorschlag, @Falco. Wie wäre es am besten umzusetzen, während man weiterhin die offiziellen Discourse-Docker-Images verwendet?

Sie können die erforderlichen Änderungen an Ihrer app.yml-Datei vornehmen.

Ihre aktuelle app.yml-Datei sollte etwa so enden:

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

Sie können Ersetzungen in der nginx-Datei vornehmen, sodass sie so aussieht:

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"

Mehrere Beispiele finden Sie unter discourse_docker/templates at master · discourse/discourse_docker · GitHub