Установка мультисайта... в подкаталогах?

Привет!

Я настраиваю Discourse в среде, где требуется несколько отдельных форумов, причём набор форумов должен быть гибким и меняться со временем. (Да, мне действительно нужны несколько форумов; они служат разным сообществам.)

Кажется, решение — это установка с поддержкой нескольких сайтов, и мне удалось это реализовать: у меня сейчас работает конфигурация для нескольких сайтов с разделёнными контейнерами данных и веб-сервисов, согласно Multisite configuration with Docker. (У меня два имени хоста: $hostname.$domain и discourse.$domain, что пока работало в моих тестах.)

Однако есть нюанс: у меня нет простого контроля над DNS, поэтому я не могу легко добавить несколько «настоящих» имён хостов. Вся документация, которую я видел до сих пор, предполагает, что для работы нескольких сайтов это необходимо, и быстрый анализ механизма реализации поддержки нескольких сайтов подтверждает это.

Мой идеальный вариант — чтобы каждый форум располагался в отдельной подкаталоге: discourse.$domain/forum1, …, discourse.$domain/forumN; и, в идеале, чтобы все эти форумы обслуживались одним веб-контейнером, как это делают существующие механизмы для нескольких сайтов.

Эмпирически я успешно переместил «основной» форум в подкаталог, перенеся его в discourse.$domain/forum, следуя инструкции Serve Discourse from a subfolder (path prefix) instead of a subdomain — но это, похоже, привязывает веб-контейнер именно к этому подкаталогу и, в моих экспериментах, серьёзно ломает работу нескольких сайтов.

Я также пробовал различные ухищрения, например, манипуляции с заголовком Host:, поступающим в веб-контейнер, на основе пути на фронтенд-веб-сервере хоста, но безрезультатно — получается странная смесь нескольких форумов.

Итак: есть ли элегантный способ сделать это? Могу ли я обойтись одним веб-контейнером, как в случае с несколькими сайтами? Или мне придётся использовать второй веб-контейнер? Будет ли это работать корректно, учитывая, что оба контейнера будут указывать на один и тот же контейнер с данными, не зная друг о друге? Или я вообще заблудился?

На данный момент мы не поддерживаем одновременное использование мультисайта и подпапок. Мы можем рассмотреть возможность реализации этой функции в будущем, если появится соответствующий запрос от клиента, однако оценим её как требующую значительных усилий.

Если все они относятся к одному базовому домену, моим решением было бы использовать *.forum.example.com. Таким образом, вам потребуется только одна запись DNS.

Спасибо вам обоим! К сожалению, я не думаю, что смогу сейчас развернуть поддомен со звёздочкой, поэтому, вероятно, придётся обойтись без поддержки нескольких сайтов и использовать несколько контейнеров веб-фронтенда. (Если бы я знал об этом раньше, я бы настоял на получении поддомена со звёздочкой.)

Я бы с радостью увидел поддержку нескольких сайтов/подпапок — в (маловероятном) случае, если у меня появится время, я, возможно, займусь этим вопросом.