Installazione multisito ... in sottodirectory?

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?

Al momento non offriamo supporto per multisite e sottocartelle contemporaneamente. Potremmo valutare questa opzione in futuro se un cliente lo richiedesse, ma stimiamo che richieda uno sforzo significativo.

Se sono tutti per lo stesso dominio di base, il mio workaround sarebbe utilizzare *.forum.example.com. In questo modo, una singola voce DNS sarebbe tutto ciò di cui avresti bisogno.

Grazie, entrambi! Purtroppo, non credo di poter configurare ora un sottodominio con asterisco, quindi penso di dover optare per l’assenza di multi-sito e per più container di frontend web. (Se ne fossi stato a conoscenza prima, avrei spinto per ottenere un sottodominio con asterisco.)

Mi farebbe senz’altro piacere vedere il supporto per multi-sito/sottocartelle — nel (improbabile) caso in cui mi trovi a disposizione di un po’ di tempo, potrei darci un’occhiata.