Sono un amministratore Linux, conosco un po’ AWS e mi è stato chiesto di aiutare un team nell’implementazione di Discourse su un’istanza AWS t2.micro (elegibile per il livello gratuito). Una volta terminato, il team mi ha chiesto di pubblicare qui i miei metodi per il bene della comunità.
La t2.micro offre solo 8 GB di spazio di archiviazione, quindi è stato necessario un po’ di riflessione. Dopo aver esaminato un’installazione di Discourse funzionante, ho notato che, sebbene /var/discourse sarebbe probabilmente diventato il più grande alla fine, /var/lib/docker avrebbe creato problemi durante l’installazione.
Dopo aver avviato l’istanza (fuori dall’ambito di questo post - vedere https://docs.aws.amazon.com/quickstarts/latest/vmlaunch/step-1-launch-instance.html per i dettagli), ho dovuto creare un volume (Elastic Block Store, o EBS Volume) e collegarlo all’istanza che avevo creato. In questo caso, ho creato un volume EBS generico di circa 32 GB, l’ho collegato e montato su /media/store (avrei potuto facilmente usare /opt o qualcos’altro).
Da lì è stato semplice creare /media/store/discourse e /media/store/docker e posizionarli nel punto giusto del filesystem.
Ho utilizzato un collegamento simbolico per /media/store/discourse verso /var/discourse, cosa che il programma di installazione sembrava accettare, ma ho dovuto usare un mount bind per docker. (Ho aggiunto questo a /etc/fstab, creato /var/lib/docker e poi montato.)
/media/store/docker /var/lib/docker none bind 0 0
Stiamo ancora lavorando sulla configurazione della posta (che dovrà utilizzare AWS SES), ma ecco come siamo riusciti a far eseguire l’installer su un’istanza t2.micro. Il volume EBS da 32 GB costerà circa 3 $ al mese.