Ciao!
Sto configurando Discourse in un ambiente in cui ho bisogno di diversi forum distinti e in cui l’insieme dei forum deve poter cambiare nel tempo. (Sì, ho davvero bisogno di più forum; servono comunità distinte.)
La soluzione sembra essere un’installazione multi-sito e ci sono riuscito: attualmente ho una configurazione funzionante per il multi-sito, con container di dati e web separati, come descritto in Multisite configuration with Docker. (Ho due nomi di host, $hostname.$domain e discourse.$domain, che finora hanno funzionato nei miei test.)
Tuttavia, c’è un ostacolo: non ho un controllo facile del DNS, quindi non posso aggiungere facilmente più nomi di host “reali”. Tutta la documentazione che ho finora consultato suggerisce che questo è necessario per il multi-sito, e una rapida analisi del meccanismo con cui è implementato il supporto multi-sito conferma che è così.
La mia configurazione ideale sarebbe avere ogni forum nella propria sottodirectory; quindi discourse.$domain/forum1, …, discourse.$domain/forumN; e, idealmente, poter servire questi forum dallo stesso container web, come fanno i meccanismi multi-sito esistenti.
Sperimentalmente, riesco a spostare con successo il forum “principale” in una sottodirectory, portandolo in discourse.$domain/forum, seguendo Serve Discourse from a subfolder (path prefix) instead of a subdomain — ma questo sembra vincolare il container web esattamente a quella sottodirectory e, nei miei esperimenti, compromette gravemente il multi-sito.
Ho anche provato espedienti come modificare l’intestazione Host: inviata al container web in base al percorso nel server web frontale dell’host, senza successo — ottengo una strana mescolanza di più forum.
Quindi: esiste un modo elegante per fare questo? Posso accontentarmi di un solo container web, come nel multi-sito? Oppure dovrò usare un secondo container web? Si comporterà male dato che entrambi i container punterebbero allo stesso container di dati senza conoscenza l’uno dell’altro? O sono completamente bloccato?