I’m setting up Discourse in an environment where I need several distinct forums, and where the set of forums needs to be flexible to change over time. (Yes, I do need multiple forums; they serve distinct communities.)
The answer seems to be a multi-site installation, and I’ve made that work: I currently have a working configuration for multi-site, with split data and web containers, per Multisite configuration with Docker. (I have two hostnames,
discourse.$domain, which has worked in my testing so far.)
However, there’s a catch: I don’t have easy DNS control, so I cannot readily add multiple “real” hostnames. All the documentation I’ve thus far seen suggests I require this for multi-site, and a quick dig through the mechanism by which multi-site support is implemented suggests this is the case.
My ideal layout would be to have each forum sit within its own subdirectory; so
discourse.$domain/forumN; and equally ideally, being able to serve those fora from the one web container, as existing multisite mechanisms do.
Empirically, I can successfully lift the “primary” forum into a subdirectory, moving it to
discourse.$domain/forum, according to Subfolder support with Docker — but this seems to tie the web container to exactly that subdirectory and, in my experiments, badly upsets multi-site.
I’ve also tried shenanigans like massaging the
Host: header going into the web container, based on the path at the host’s frontend web server, to no avail — I get a weird blend of multiple forums.
So: is there a neat way to do this? Can I get away with only one web container, a la multisite? Or will I have to wear a second web container? Will that behave badly given those containers would both be pointed at the same data container with no knowledge of the other? Or am I completely up the tree?