Elastic Beanstalk + Docker

(Hunter Owens) #1

Amazon Elastic Beanstalk just released the availability to run Docker on Elastic Beanstalk, which is an autoscaling PAAS similar to Heroku or Google App Engine.

This might be a good way to recommend a infinitely scalable Discourse install, since it shouldn’t be too big of a modification from current DigitalOcean+Docker setup.

I’m traveling and swamped for the next couple weeks, so I wanted to put this out there to see if anybody wanted produce a guide. If not, I’ll try and do it, but it will be a while before I can get to it.

(Jeff Atwood) #2

Interesting! Next couple weeks seems fine as we trudge onward to 1.0.

(Evan Brown) #3

Hey folks, Evan here from the Elastic Beanstalk team. Would be happy to provide any technical assistance if you’d find it helpful!

(Dan Chao) #4

Hey @evandbrown ,

I’m poking around with Elastic Beanstalk, and am trying to wrap my head around how to deploy Discourse on an EB docker app.

It seems to me that EB is looking for a Dockerfile in the root folder of the app, whereas the official docker image is asking us to SSH in and use the launcher bash script to execute commands. How do I remedy the two of these?

(Kane York) #5

I’ve been reading a bit, and it seems that what happens is that the launcher script runs several commands inside the host, using docker run, which include running scripts set up for ‘pups’, which is here: GitHub - discourse/pups: Simple yaml based bootstrapper for Linux machines.

I’m not really sure how to replicate this for Amazon…

(Ricardo Amaro) #6

Hello everyone!

I’m trying to install Discourse + Docker on Beanstalk

Any success stories on this?

(Nilesh Trivedi) #7

Same here. Elastic Beanstalk expects a standard Dockerfile whereas Discourse has its own launcher scripts which use templates and other features. I’m interested in running DIscourse on Elastic Beanstalk but I’m stuck because there is no documentation on how to achieve this.

(Sylvain Kalache) #8

I would be interested to use this, anyone managed to get a working setup since then?

(Ricky Brown) #9

Anyone? Id really like to see this done!

(Dave McClure) #10

This discussion with more recent activity is probably relevant:

(Travis) #11

Anyone have success with this yet? I’m looking to move over since the rest of our stuff is on AWS.

(Marica Odagaki) #12

Here’s a set of configuration files and scripts I’ve built up while setting up Discourse on Elastic Beanstalk as a pet project: GitHub - ento/discourse_aws: Discourse on AWS: Elastic Beanstalk + RDS + S3 + SES + Lambda + Terraform

Feedbacks welcome, as there will be rough edges I haven’t been able to smooth out with a forum population of just one.

(Travis) #13

SSL: Let's Encrypt + nginx on the EC2 instance managed by Elastic Beanstalk

FWIW, Amazon has a really simple SSL certificate issuing service and manager (also free).

(Marica Odagaki) #14

Ah, good call. Reasonable choice for an Elastic Load Balancing based deployment: looks like AWS Certificate Manager only supports ELB and CloudFront right now.

I decided to use single-instance deployment initially but might move to ELB + ACM. Supporting Let’s Encrypt comes with its own complexity.