Install Discourse on Amazon Web Services (AWS) with Lightsail, SES, and Route 53

:information_source: This topic covers how to install Discourse using the official install instructions using AWS services for the DNS provider (Route 53), email provider (SES), and Cloud Server provider (Lightsail).

Cloud server

Lightsail

  • The default of 1 GB RAM works fine for small Discourse communities. We recommend 2 GB RAM for larger communities.

^ $5/m you can get a server that meets the minimum Discourse requirement, I use $10/m one but thought $5/m will also work.

image

Mail server

You can’t get the secret key back, but if you lost it you can create a new one to use.

Domain

Step by step set up

  1. following the route 53 doc to purchase a domain.

If you got an ‘unable to process’ email on this step, AWS may need to review your account first, fire a support case to let them notify you when your account is reviewed and able to start purchasing.

  1. set up DNS record

Enter route 53 console

select Hosted zones → create hosted zone → fill your domain name in → scroll down, click create hosted zone

Click on the domain name, adding an A record with the value of your lightsail cloud server ip address, it can be found in your lightsail console. (Red block)

  1. set up SES

Enter SES console

select Verified identities → create identity → fill your domain name in (type domain) → scroll down, click create identity

create identity → fill an email address that you will use to register the admin account in (type email address)-> scroll down, click create identity


Since we register the domain in route 53, the verification will take like ~5 minutes, you will get an email for verifying the email address.

When they are both verified, click on the domain name, find Publish DNS records, copy paste the DNS pair to your route 53, under the hosted zone your just create in step 2

Go to SMTP settings and click create SMTP credential, follow the steps, and download a CSV file including the SMTP user name and password.
image

SMTP endpoint is also listed below on this page.

  1. Configure DIscourse

The above steps cover steps 1-3 in the official install instructions. Continue to follow steps 4-6.

Hostname for your Discourse? [discourse.example.com]: // your domain 
Email address for admin account(s)? /[me@example.com,you@example.com]: //the one you verified in SES Verified identities
SMTP server address? [smtp.example.com]:  //SMTP endpoint
SMTP port? [587]: //use default
SMTP user name? [user@example.com]: //in your downloaded CSV file
SMTP password? [pa$$word]: //in your downloaded CSV file
Let's Encrypt account email? (ENTER to skip) [me@example.com]: //use default
Optional Maxmind License key () [xxxxxxxxxxxxxxxx]: //use default

Waiting for installation, then you can register admin account with the one your provide above in settings

  1. After installation

When you are ready to introduce your community to new users, apply for SES production access.

In Use case description, explain how you plan to use Amazon SES to send email. To help us process your request, you should answer the following questions:

How do you plan to build or acquire your mailing list?

How do you plan to handle bounces and complaints?

How can recipients opt out of receiving email from you?

How did you choose the sending rate or sending quota that you specified in this request?

It’s recommended to follow the apply guide in the URL but it doesn’t guarantee approval, if you got a rejection email, try adding screenshots of the new user register list and told them the new user is waiting for the activation email.

3 Likes