Я хочу разместить сотни экземпляров Discourse

  1. Я хочу разместить сотни инстансов Discourse. Возможно ли установить несколько инстансов Discourse на одном хостинге/VPS? С URL-адресами вида example.com/City1, example.com/City2, example.com/City3 и т. д. (то есть отдельный Discourse для каждого города).

  2. Потому что использование поддоменов в данном случае слишком дорого, так как мне нужно более 100 поддоменов.

  3. Как можно скопировать настройки форума в другой форум? Я хочу применить одни и те же настройки ко всем инстансам Discourse.

  4. Есть ли способ установить плагины сразу на несколько инстансов?

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

Вы хотите установить мультисайтовую систему. Для всех сайтов используются одни и те же плагины.

Поддомены бесплатны. Вам понадобится только одна запись DNS с подстановочным символом. Использование поддоменов будет значительно проще. Я не уверен, что код для работы с подпапками протестирован в мультисайтовой конфигурации.

Хотя многие настройки можно задать через переменные окружения (хотя они будут одинаковыми для всех сайтов, что приемлемо для таких задач, как S3, но не для других, например, для почтовых ящиков POP), лучший способ применить настройки ко всем сайтам, вероятно, — использовать плагин. Вы также можете скрыть настройки из веб-интерфейса.

Если у вас есть бюджет, я могу помочь со всеми этими вопросами.

У меня есть доменные имена Godaddy, и они предоставляют максимум 100 записей, но мне нужно около 500.
Поскольку существует 500 районов/городов.

Какой плагин?

Извините, у меня нет большого бюджета на это, так как это социальная работа. Сейчас я планирую протестировать это для одного города, а затем мне придется собрать средства за счет пожертвований.

Я уже говорил, что это звучит как дорогой способ решения задачи.

Если настройки одинаковы, зачем нужно 500 отдельных источников электронной почты, 500 отдельных очередей модерации, 500 отдельных резервных копий Discourse и так далее?

Потому что проблемы и решения в каждом районе совершенно разные (категории различаются, также отличается язык). Есть ещё несколько моментов…

Я задумался: «Могу ли я управлять всем этим из одного экземпляра?», но затем понял, что объединять все районы в один Discourse — не лучшая идея.

Для более практического понимания:
если мы поместим все 500 районов в один Discourse,
и если хотя бы один район создаёт минимум 1 тему в день, то это 500 тем в день, и это слишком много, чтобы пользователи могли нормально обсуждать, так как количество тем будет огромным. Начнётся настоящий шторм из тем.

Пока вам не потребуется масштабирование на несколько инстансов мультисайта, вам достаточно одной записи A с подстановочным символом. У других провайдеров DNS нет такого ограничения.

Вам придётся написать его самостоятельно.

Тогда вам действительно не нужно решать проблему 500 городов прямо сейчас. Я бы рекомендовал начать с одного сайта на одном дроплете. Пока у вас не будет более 5 городов, у мультисайта будет мало преимуществ.

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

В настоящее время у меня есть размещённый тестовый сайт на droplet DigitalOcean с 2 ГБ ОЗУ. Я заметил, что экземпляр не использует столько ресурсов. Это означает, что этого достаточно для одного города.
Однако я подумал: если разместить несколько экземпляров Discourse на одном droplet с большим объёмом ОЗУ, то, если в одном районе нет трафика, другой район сможет использовать эти ресурсы, и это, возможно, сэкономит мне деньги. Поправьте меня, если я ошибаюсь.

Не рекомендую запускать мультисайт с менее чем 4 ГБ оперативной памяти, но вот ссылка: Multisite configuration with Docker.

Исходя из ваших навыков и потребностей, я бы посоветовал использовать дроплеты с 1 ГБ ОЗУ для каждого города, пока их не станет хотя бы пять. Тем временем вы можете экспериментировать с мультисайтом на временных дроплетах, которые вы запускаете для тестирования, а затем удаляете.

Рекомендую подождать, пока не возникнет проблема, прежде чем приступать к её решению.

Огромное спасибо @pfaffman