Ensure you have the following installed:
- sbt
- Java 8
- node
- nginx
- Docker
- GD
- GraphicsMagick with
little-cms2
- ImageMagick
- pngquant
- awscli
- jq
- exiftool
- md5Sum
- dev-nginx
If you're a homebrew user, you can install these with:
brew bundle
The Grid requires AWS credentials when running locally to access the resources created by the
dev CloudFormation stack. The credentials should be stored under a
profile named
media-service
.
Developers working at the Guardian can get these credentials from Janus.
Client side dependencies can be installed by running:
cd kahuna
npm install
To run correctly in standalone mode we run each micro-service behind an nginx site.
Use nginx-mappings.yml along with dev-nginx
to generate the nginx configs.
dev-nginx setup-app nginx-mappings.yml
As the Play Framework does not yet support SNI
NGINX can't always work out which certificate to send where when there are multiple services on the same IP.
This might result in NGINX sending the incorrect certificate resulting in a HostnameVerifier Exception
.
When the correct cert to send is ambiguous, NGINX simply sends the first cert it sees in it's configuration, which is loaded from config files in alphabetical order.
To resolve this problem, prefix your grid config filename with 0-
.