Soy administrador de Linux, con cierto conocimiento de AWS, y me pidieron ayudar a un equipo a implementar Discourse en una instancia t2.micro (elegible para la capa gratuita) de AWS. Una vez finalizado, el equipo me solicitó que compartiera mis métodos aquí para beneficio de la comunidad.
La instancia t2.micro solo viene con 8 GB de almacenamiento, lo que requirió un poco de planificación. Tras examinar una instalación de Discourse en funcionamiento, vi que, aunque /var/discourse probablemente terminaría siendo el directorio más grande eventualmente, /var/lib/docker sería un problema durante la instalación.
Después de lanzar la instancia (fuera del alcance de esta publicación; consulta https://docs.aws.amazon.com/quickstarts/latest/vmlaunch/step-1-launch-instance.html para más detalles), necesitaba crear un volumen (un Almacenamiento de Bloques Elástico, o EBS Volume) y adjuntarlo a la instancia que había creado. En este caso, creé un volumen EBS general de ~32 GB, lo adjunté y lo monté en /media/store (también podría haber usado fácilmente /opt u otro directorio).
A partir de ahí, fue sencillo crear /media/store/discourse y /media/store/docker y ubicarlos en el lugar correcto del sistema de archivos.
Utilicé un enlace simbólico para /media/store/discourse apuntando a /var/discourse, lo cual el instalador pareció aceptar sin problemas, pero tuve que usar un montaje bind para Docker. (Agregué esto a /etc/fstab, creé /var/lib/docker y luego lo monté.)
/media/store/docker /var/lib/docker none bind 0 0
Aún estamos trabajando en el correo (que deberá usar AWS SES), pero así es como logramos que el instalador se ejecutara en una instancia t2.micro. El volumen EBS de 32 GB costará aproximadamente 3 USD al mes.