Несколько экземпляров Discourse на разных поддоменах одного домена?

Здравствуйте,

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

Например, если мой текущий Discourse работает по адресу discourse.example.com, а я пытаюсь запустить второй экземпляр по адресу discourse2.example.com, то существующий экземпляр перестает работать, и по второму URL ничего не отображается. Однако, если я просто пересоберу первый экземпляр на discourse.example.com, мой первый форум восстановится.

При настройке все параметры были такими же, как в первом случае, за исключением имени хоста Discourse. Можете ли вы объяснить, почему это происходит, и как создать новый экземпляр для discourse2.example.com?

Вы уже изучили

Setup Multisite Configuration with Let's Encrypt and no Reverse Proxy

Или, альтернативно, на

другой сайт в данном конкретном случае — Discourse

Спасибо всем за ваши предложения. Мне удалось создать второй форум Discourse, используя комбинацию этих двух сайтов:

  1. Run other websites on the same machine as Discourse (ответ @angus был особенно полезен)
  2. https://chowdri.medium.com/how-to-install-multiple-discourse-on-one-server-150db95602bb

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

В данный момент мой второй форум Discourse помечен как «небезопасный» (потому что я скопировал сертификат с предыдущего экземпляра из /var/discourse/shared/standalone/ssl, чтобы избежать ошибки «файл не найден» при запуске sudo nginx -t). Не могли бы вы подсказать, как сделать второй сайт Discourse защищённым по HTTPS (первый работает без проблем)? Заранее спасибо.

Почему бы не попробовать по туториалу @pfaffman (который @itsbhanusharma поделился выше)? Он просто работает с сертификатами. Я уже несколько раз следовал ему и до сих пор в восторге от того, как он упрощает задачу!

Если честно, есть и минус: вы становитесь жадными и запускаете дополнительный экземпляр для любой мелкой задачи… Думаю, у меня уже 7, и мне нужно ещё больше :grinning_face_with_smiling_eyes:

Спасибо за предложение. Я пробую, но у меня возникли трудности с несколькими моментами в руководстве:

  1. Мне не удаётся найти пароль базы данных (или даже понять, для чего он используется в файле).

  2. В моём файле app.yml изначально не было раздела after_postgres, поэтому я добавил его в раздел hooks, чтобы он соответствовал остальным (after_ssl, after_db_migrate и т. д.). Если это размещено в неправильном разделе, пожалуйста, дайте знать — я совершенно новичок в работе с такими вещами.

  3. Когда я проверяю синтаксис YAML-файла на http://www.yamllint.com/, я получаю ошибку (<unknown>): did not find expected key while parsing a block mapping на строке, где я разместил раздел after_postgres внутри раздела hooks.

Если бы вы могли уточнить шаги, которые вы выполнили @manuel, следуя вышеупомянутому руководству, это было бы очень ценно.

Я на самом деле всегда делал это для двухконтейнерной настройки, и она отлично работает. Вы можете легко получить это, установив Discourse с помощью ./discourse-setup --two-container, а затем отредактировав оба файла web_only.yml и data.yml.

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

Касательно синтаксической ошибки: использовали ли вы табуляцию для отступа? Она очень придирчива к форматированию.

Нет, я не использовал табы, и я почти уверен, что при копировании из руководства они не добавились (хотя я проверил это лишь бегло). Я бы хотел избежать настройки с двумя контейнерами, если это возможно, поэтому я создам пост в руководстве с просьбой о помощи. Большое спасибо за вашу помощь!