This is a Docker container based on the Ruby 1.9.3 container.
It is very dumb, the build installs the foreman gem, copies up the app to the container and runs bundle install. The entrypoint is a bash script which just runs foreman start.
All of the configuration is done via environment variables that are listed below.
The server depends on the following environment variables:
GOOGLE_SHORTENER_API_KEY Google shortener API key
GOOGLE_CLIENT_ID Google Drive Client Id
GOOGLE_ANALYTICS_ACCOUNT Google analytics ID to use for tracking. Don't use the production IDs in staging. Not used in dev and testing
S3_BUCKET_NAME Only the name of S3 Bucket where files are located (eg mindmup)
S3_KEY_ID AWS Access key ID that has write access for the bucket
S3_SECRET_KEY AWS Secret key corresponding to the ID above
S3_UPLOAD_FOLDER folder within the bucket where user maps are stored. (eg map). Avoid using the same folder for production and testing
S3_WEBSITE website domain name where user files are publicly accessible. Don't specify protocol or slashes (eg mindmup.s3.amazonaws.com)
SITE_URL public URL for the web site instance, used to get S3 to redirect back to us. Include protocol and slashes (eg http://localhost:5000/)
DEFAULT_MAP name or key of the map to be shown on homepage (eg default)
RACK_SESSION_SECRET hashing key for rack sessions (should be relatively random, alphanumeric)
MAX_UPLOAD_SIZE in KB, maximum size allowed for the users to upload. If not defined, 100 is the default value
NETWORK_TIMEOUT_MILLIS number of milliseconds before we start reporting to users that there is a problem, in case of a timeout. Default is 10000.
CURRENT_MAP_DATA_VERSION prefix for files signaling the data format. For now, we use a1. This is to help in the future with format versioning