A container on demand web application built using Ruby on Rails, MongoDB, and Docker.
Pre-reqs:
Ensure Docker is running. You will also need to add your user to the “docker” group so that docker commands can be run as the current user (without sudo access). See help
Ensure MongoDB is running - docs.mongodb.org/manual/installation/
Ensure Ruby is installed, preferably version 2.0.0 or above. If you have issues with native extensions, maybe try Ruby 2.2.1 (the version we used for development)
Note: Application was developed/tested on Fedora 20 and Amazon Linux AMI 2015.03 - no guarantee on other platforms (but it should run on most popular Linux distros)
1) Install bash dependencies (for RPM-based)
sudo yum install -y expect
2) Install gems
bundle install
Note: If bundle install
fails and you are running on EC2, you may need to install the following:
sudo yum install rubygem20-aws-sdk
3) Run the server
rails s
4) Using a browser, start using the application at
http://localhost:3000
1) Enable mailers for password reset via email
Set the following environment variables (replace username and password with yours, domain will likely be the same if you are using a public gmail account):
export GMAIL_DOMAIN=gmail.com export GMAIL_USERNAME=<user>@gmail.com export GMAIL_PASSWORD=<yourpassword>
2) Set default url options (host or IP) to ensure correct links in password reset email
export CAAS_HOST=<hostname or IP>
Otherwise, host will default to ‘localhost’.
For more info, look at config/environments/development.rb
Note: Be sure to check your spam folder if emails are not showing up.
3) Modify Number of Async Workers
Unicorn is being used as the web server to support asynchronous request handling. The default number of workers is 3, but this can be modified in config/unicorn.rb.