Hello Meteor community! I’m pretty new around here, but I’ve been working on a Meteor application now for a while and have had the time to learn different deployment strategies with it on AWS including Elastic Beanstalk and now OpsWorks with Docker. We had decided to move away from EBS because it was a little too restrictive and didn’t allow us to have both websockets and sticky session enabled when using the Elastic LoadBalancer.
With our new deployment strategy using OpsWorks, I’ve decided that it would be a good idea to write up how my team and I currently deploy our application. As you will find, none of us were too familiar with either Docker or Chef in the beginning, but we were able to put together a deployment that we think makes sense pieced together from various sources and a little bit of customization and inference on our part. The tutorial is a little verbose, but I hope it will be useful to others who are trying to get setup in a similar fashion.
We can now use all websockets, sticky sessions, meteorhacks:cluster, and serve SSL using nginx reverse proxy fairly painlessly with this deployment as well as have the nice scaling facilities that AWS OpsWorks has to offer. Without further ado, here is the link to the guide: Meteor, Docker, OpsWorks. If anyone has feedback or issues, just reach out to me or @khamoud and we will try to be of assistance.