È possibile eseguire Discourse in modalità headless, ovvero senza il frontend Ember?
Ricategorizzo in #installazione poiché questa non è assolutamente una domanda frequente.
Potresti spiegare meglio il tuo caso d’uso?
Abbiamo un frontend React che consuma l’API di Discourse. Abbiamo anche il nostro plugin che estende le funzionalità di Discourse per alcuni casi d’uso specifici.
Se gli utenti visitano il nostro URL ‘API’, attualmente vedono il frontend Ember di Discourse senza branding. Idealmente, vorremmo disabilitarlo.
Imposterei la mia app personalizzata per inviare un header personalizzato quando chiama l’API di Discourse, e aggiungerei una piccola regola sul nginx interno di Discourse per restituire un errore 403 a tutte le richieste prive di quell’header speciale.
Grazie per il suggerimento, @Falco. Qual è il modo migliore per farlo continuando a utilizzare le immagini Docker ufficiali di Discourse?
Puoi apportare le necessarie modifiche al tuo file app.yml.
Il file app.yml che hai ora dovrebbe terminare in questo modo:
run:
- exec: echo "Beginning of custom commands"
## blablabla
- exec: echo "End of custom commands"
Puoi eseguire sostituzioni nel file nginx in modo che appaia così:
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"
Ci sono diversi esempi disponibili su discourse_docker/templates at master · discourse/discourse_docker · GitHub