Je suis administrateur Linux, assez familier avec AWS, et j’ai été sollicité pour aider une équipe à déployer Discourse sur une instance t2.micro (éligible au niveau gratuit) d’AWS. Une fois le travail terminé, l’équipe m’a demandé de publier ma méthode ici pour le bénéfice de la communauté.
La t2.micro ne dispose que de 8 Go de stockage, ce qui a nécessité un peu de réflexion. Après avoir examiné une installation Discourse fonctionnelle, j’ai constaté que, bien que /var/discourse finirait probablement par devenir le plus volumineux, /var/lib/docker poserait problème pendant l’installation.
Après avoir lancé l’instance (hors du cadre de cet article — consultez https://docs.aws.amazon.com/quickstarts/latest/vmlaunch/step-1-launch-instance.html pour les détails), j’ai dû créer un volume (un volume de stockage par blocs élastique, ou EBS Volume) et le rattacher à l’instance que j’avais créée. Dans ce cas, j’ai créé un volume EBS général d’environ 32 Go, je l’ai attaché, puis monté sur /media/store (j’aurais tout aussi bien pu utiliser /opt ou autre chose).
Ensuite, il a suffi de créer les répertoires /media/store/discourse et /media/store/docker, puis de les placer aux bons endroits dans le système de fichiers.
J’ai utilisé un lien symbolique pour /media/store/discourse vers /var/discourse, ce qui semblait convenir à l’installateur, mais j’ai dû utiliser un montage bind pour Docker. (J’ai ajouté cela à /etc/fstab, créé /var/lib/docker, puis effectué le montage.)
/media/store/docker /var/lib/docker none bind 0 0
Nous travaillons encore sur la configuration de la messagerie (qui devra utiliser AWS SES), mais c’est ainsi que nous avons réussi à faire fonctionner l’installateur sur une instance t2.micro. Le volume EBS de 32 Go coûtera environ 3 $ par mois.