Discourse é um software de fórum de código aberto que permite que você execute um fórum com o mínimo de esforço — se souber como hospedá-lo. O guia oficial detalha a instalação no DigitalOcean, mas são necessárias algumas adaptações para fazê-lo funcionar na AWS EC2. A comunidade solicitou um guia oficial para instalação na AWS EC2, mas a equipe do Discourse não tinha experiência, pois eles hospedam em servidores Linux bare metal.
Este post visa preencher essa lacuna, mostrando como hospedar o Discourse na AWS EC2. Felizmente, a única diferença entre hospedar na AWS EC2 e hospedar no DigitalOcean está na primeira parte “Criar Novo Servidor na Nuvem”, então vou cobrir apenas isso.
Assumo que você saiba como iniciar uma instância da AWS EC2; caso contrário, consulte alguns vídeos incríveis no YouTube. Além do fluxo normal, há algumas coisas a observar.
IP Elástico
Configure um IP elástico, pois ele é mais estático do que os IPs públicos da EC2. Este último muda toda vez que você para e reinicia a instância. Um IP estático torna a resolução de DNS menos propensa a erros.
Espaço em disco
O contêiner Docker precisa de bastante espaço em disco, pois executa Redis e PostgreSQL. O bloco EBS (Elastic Block Store) padrão de 8 GiB não é suficiente. Eu configurei um bloco de 30 GiB.
Se você já configurou o bloco padrão de 8 GiB, não se preocupe; basta alterá-lo no console da AWS e depois parar e reiniciar a instância. Agora você sabe por que precisamos do IP elástico — ele não muda após a reinicialização e a resolução de DNS não é afetada!
Regras de entrada
Certifique-se de abrir as portas 80 e 443 para a origem 0.0.0.0/0 nas regras de entrada. Deixo-as totalmente abertas por simplicidade, mas sinta-se à vontade para restringi-las adequadamente.
Conclusão
Se ainda tiver alguma dúvida sobre como hospedar o Discourse na AWS EC2, sinta-se à vontade para me marcar @yiksanchan em https://meta.discourse.org/ e eu ajudarei se puder.
Boa discussão!