Контейнер в хосте никогда не запускает install-nginx, как было сказано выше.
Не уверен, что эта тема особенно полезна.
Вы не одобряете архитектуру Discourse, не принимаете слова разработчиков о том, как оптимизирован продукт, не знакомы с Docker и, как вы сами признали, лжёте в своих вопросах, что коллективно тратит наше время.
Эта тема уже помечена тегом unsupported-install, поскольку вы сильно отклоняетесь от сферы бесплатной поддержки, предоставляемой сообществу. Если это действительно важно для вас, почему бы не создать тему в разделе Marketplace? Тогда вы сможете инвестировать свои деньги в оплату услуг консультанта для обучения, а не тратить наше время.
Я нет, извините. Значит, мне нужно поместить вышеуказанные команды sed в раздел хуков app.yml? Есть ли где-нибудь пример того, как это сделать для изменения файла в репозитории docker_discourse на этапе загрузки? В настоящее время в этом разделе есть только команда git clone для плагинов.
Я, наверное, мог бы добавить эти команды sed в раздел cmd, как и git clone, но я не знаю, в какой директории будет находиться скрипт install-nginx.
Также, где находится app.yml? Я не мог сослаться на раздел hooks выше, так как директория containers пуста в репозитории ![]()
Вся документация по выполнению этих действий доступна здесь, на Meta. Мы все любим пропускать чтение инструкций, но в данном случае вам действительно стоит вернуться к основам.
Честно говоря, вы подходите ко всему этому с конца.
Я снова отсылаю вас к тегу unsupported-install — подразумевается, что если вы решите отклониться от стандартной установки, то возьмете на себя дополнительную техническую нагрузку.
Как вы установили этот экземпляр?
Извините, но я действительно стараюсь искать документацию перед публикацией. Мне бы очень хотелось получить руководство по Discourse, и я уже прочитал множество тем с тегом #howo. К сожалению, похоже, что руководства по Discourse не существует..
Я очень ценю вашу помощь в этом вопросе и уверен, что она пригодится другим в будущем, кто будет искать документацию о том, как выполнять эти действия…
Сначала выполнил discourse-setup, что в итоге привело к неработоспособной установке. Затем вручную отредактировал app.yml и выполнил ./launcher rebuild app
Я считаю, что это интересная дискуссия, чтобы лучше познакомиться с Discourse.
Я бы выбрал nginx, возможно, немного изменил бы app.yml, чтобы добавить модуль mod_security в процесс компиляции, и собрал бы собственное базовое изображение.
Discourse — это сложное программное обеспечение, работающее на Rails, которое ещё сложнее развёртывать легко и последовательно. Именно поэтому команда разработчиков приложила дополнительные усилия для создания Docker-образа.
В этом образе происходит множество «магических» вещей: огромное количество оптимизаций, чтобы всё работало как можно лучше в поддерживаемой конфигурации установки.
Учитывая это и понимая, как собрать все части пазла (например, 2–3 репозитория, необходимые для запуска Discourse), получить то, что вы хотите, не так уж и невозможно.
Теперь, зная, что ваша схема выглядит как nginx -> varnish -> apache, почему бы вам не использовать nginx -> varnish -> Discourse, добавив mod_security в базовое изображение и настроив его с помощью хуков?
Вероятность того, что mod_security повысит вашу безопасность, крайне мала. Разработчики Discourse уделяют безопасности большое внимание, поэтому проблемы, которые должен решать mod_security, скорее всего, уже устранены. Более того, вероятность того, что добавление mod_security в ваш образ сделает Discourse неработоспособным, значительно выше нуля. Если вы установите mod_security и обнаружите, что Discourse перестал работать, вам придётся самостоятельно модифицировать Discourse для совместимости с mod_security, либо убедить разработчиков Discourse в том, что вы выявили реальную проблему безопасности, либо продолжать поддерживать собственный форк.
От этого не будет никакой пользы. Крайне маловероятно, что от этого может быть какая-либо польза.
Согласен, другой WAF граничит с безопасностью через неясность.
Реальные упреждающие усилия по обеспечению безопасности дискуссии предпринимаются:
Эта тема отошла от первоначального вопроса о запуске Discourse на Apache (в отличие от прокси-обратного соединения к nginx).
Однако я считаю, что обсуждение размещения WAF (mod_security или другого) перед Discourse будет полезно для сообщества, поэтому я создал отдельную тему, чтобы конкретно обсудить Discourse + WAF здесь: