Bonjour !
Je configure Discourse dans un environnement où j’ai besoin de plusieurs forums distincts, et où l’ensemble des forums doit pouvoir évoluer au fil du temps. (Oui, j’ai bel et bien besoin de plusieurs forums ; ils servent des communautés différentes.)
La réponse semble être une installation multi-sites, et j’ai réussi à la faire fonctionner : j’ai actuellement une configuration fonctionnelle pour le multi-sites, avec des conteneurs de données et de web séparés, conformément à Multisite configuration with Docker. (J’ai deux noms d’hôte, $hostname.$domain et discourse.$domain, ce qui a fonctionné lors de mes tests jusqu’à présent.)
Cependant, il y a un problème : je n’ai pas un contrôle facile sur le DNS, je ne peux donc pas ajouter facilement plusieurs noms d’hôte « réels ». Toute la documentation que j’ai consultée jusqu’ici suggère que cela est nécessaire pour le multi-sites, et une rapide exploration du mécanisme par lequel la prise en charge du multi-sites est implémentée semble confirmer ce point.
Ma configuration idéale consisterait à placer chaque forum dans son propre sous-répertoire : discourse.$domain/forum1, …, discourse.$domain/forumN ; et, dans l’idéal, à pouvoir servir ces forums depuis un seul et même conteneur web, comme le font les mécanismes de multi-sites existants.
Empiriquement, je parviens à déplacer le forum « principal » dans un sous-répertoire, en le plaçant dans discourse.$domain/forum, conformément à Serve Discourse from a subfolder (path prefix) instead of a subdomain — mais cela semble lier le conteneur web à ce sous-répertoire précis et, selon mes expériences, perturbe gravement le multi-sites.
J’ai également tenté des astuces comme la manipulation de l’en-tête Host: entrant dans le conteneur web, en fonction du chemin au niveau du serveur web frontal de l’hôte, sans succès — j’obtiens un étrange mélange de plusieurs forums.
Donc : existe-t-il une méthode élégante pour y parvenir ? Puis-je me contenter d’un seul conteneur web, comme dans le cas du multi-sites ? Ou devrai-je utiliser un deuxième conteneur web ? Cela se comportera-t-il mal étant donné que ces deux conteneurs seraient tous deux pointés vers le même conteneur de données sans connaissance l’un de l’autre ? Ou suis-je complètement dans une impasse ?