Sou administrador de Linux, tenho algum conhecimento em AWS e fui convidado a ajudar uma equipe na implementação do Discourse em uma instância AWS t2.micro (elegível para o nível gratuito). Ao concluirmos, a equipe pediu que eu compartilhasse meus métodos aqui, para benefício da comunidade.
A instância t2.micro vem apenas com 8 GB de armazenamento, o que exigiu um pouco de planejamento. Após examinar uma instalação do Discourse em funcionamento, percebi que, embora /var/discourse provavelmente se tornasse o diretório mais ocupado no futuro, /var/lib/docker seria um problema durante a instalação.
Após iniciar a instância (fora do escopo deste post — consulte https://docs.aws.amazon.com/quickstarts/latest/vmlaunch/step-1-launch-instance.html para detalhes), precisei criar um volume (Elastic Block Store, ou EBS Volume) e conectá-lo à instância que havia criado. Neste caso, criei um volume EBS geral de aproximadamente 32 GB, conectei-o e o montei em /media/store (também poderia ter usado facilmente /opt ou outro local).
A partir daí, foi simples criar /media/store/discourse e /media/store/docker e colocá-los nos locais corretos no sistema de arquivos.
Usei um link simbólico para /media/store/discourse apontando para /var/discourse, o que o instalador pareceu aceitar, mas precisei usar uma montagem bind para o Docker. (Adicionei a seguinte linha ao /etc/fstab, criei /var/lib/docker e então o montei.)
/media/store/docker /var/lib/docker none bind 0 0
Ainda estamos trabalhando na configuração de e-mail (que precisará usar o AWS SES), mas é assim que conseguimos fazer o instalador funcionar em uma instância t2.micro. O volume EBS de 32 GB custará aproximadamente US$ 3/mês.