O container no host nunca executa install-nginx como dito acima.
Não tenho certeza se este tópico é particularmente útil.
Você não gosta da arquitetura do Discourse, não aceita o que os desenvolvedores dizem sobre como o produto é otimizado, não parece estar familiarizado com o Docker e, por sua própria admissão, está mentindo em suas perguntas, o que está desperdiçando nosso tempo coletivamente.
Este tópico já possui a tag unsupported-install porque você está se desviando muito do escopo do suporte gratuito oferecido à comunidade. Se isso realmente importa para você, por que não criar um tópico no Marketplace? Assim, você pode investir seu próprio dinheiro contratando um consultor para te educar, em vez de desperdiçar nosso tempo.
Não, desculpe. Então preciso colocar os comandos sed acima na seção de hooks do app.yml? Existe algum exemplo de como fazer isso para modificar um arquivo no repositório docker_discourse durante o bootstrap? Atualmente, essa seção contém apenas um comando git clone para plugins.
Eu provavelmente poderia inserir esses comandos sed em uma seção cmd, como o git clone, mas não sei em qual diretório o script install-nginx estará.
Além disso, onde fica o arquivo app.yml? Não consegui vincular à seção hooks acima, pois o diretório containers está vazio no repositório ![]()
Toda a documentação para fazer essas coisas existe aqui no meta. Todos nós gostamos de pular a leitura do manual, mas neste caso você realmente deveria voltar ao básico.
Francamente, você está fazendo tudo isso ao contrário.
Vou apontar de volta para a tag unsupported-install — a expectativa é que, se você decidir se desviar da instalação padrão, assumirá o ônus técnico adicional por conta própria.
Como você instalou a instância?
Desculpe, mas eu realmente faço um esforço para pesquisar a documentação antes de postar. Eu adoraria ter um manual do Discourse e já li muitos tópicos marcados com howto. Infelizmente, parece não haver um manual do Discourse.
Agradeço muito sua ajuda com isso, e tenho certeza de que isso ajudará outras pessoas no futuro que estiverem procurando documentação sobre como fazer essas coisas…
Primeiro discourse-setup, o que acabou me dando uma instalação quebrada. Depois, editei manualmente o app.yml e executei ./launcher rebuild app.
Acho que essa é uma discussão interessante, apenas para conhecer melhor o Discourse.
Eu iria de nginx, talvez modificar o app.yml o suficiente para adicionar o módulo mod_security no processo de compilação e ter minha própria imagem base construída.
Agora, o Discourse é uma peça de software complexa, que roda em Rails, que é ainda mais complexo de implantar de forma fácil e consistente; é por isso que a equipe se esforçou ainda mais na imagem Docker que eles criam.
A imagem tem muita mágica acontecendo, com toneladas e toneladas de otimizações apenas para funcionar o melhor possível na instalação suportada.
Sabendo disso e conseguindo entender todas as peças do quebra-cabeça (como os 2-3 repositórios necessários para ter o Discourse rodando), não é impossível conseguir o que você quer rodar.
Agora, sabendo que sua configuração é nginx -> varnish -> apache, por que não rodar nginx -> varnish -> Discourse tendo o mod_security adicionado à imagem base e configurado com hooks.
A probabilidade de que o mod_security aumente sua segurança é muito, muito baixa. As pessoas que mantêm o Discourse estão muito preocupadas com a segurança, então os problemas que o mod_security supostamente corrige provavelmente já estão resolvidos. Além disso, a probabilidade de que, ao adicionar o mod_security à sua imagem, o Discourse se torne inoperante é significativamente maior que zero. Se você instalar o mod_security e descobrir que o Discourse não funciona, terá que resolver sozinho para fazer o Discourse funcionar com o mod_security, seja convencendo os mantenedores do Discourse de que você identificou uma preocupação de segurança legítima ou sendo forçado a manter seu próprio fork daqui para frente.
Nada de bom pode sair disso. É altamente improvável que algo de bom saia disso.
Concordo, outro WAF beira a segurança por obscuridade.
Esforços proativos reais para manter a segurança do Discourse estão sendo feitos:
Este tópico se desviou da pergunta original sobre executar o Discourse no Apache (em vez de usar um proxy de retorno ao Nginx).
No entanto, acho que uma discussão sobre colocar um WAF (mod_security ou outro) antes do Discourse é útil para a comunidade, então criei um tópico distinto para discutir especificamente Discourse + WAF aqui: