Skip to content

Development Guide

Jeremy Echols edited this page Oct 9, 2018 · 4 revisions

Development in RAIS

It is assumed developers will use the docker-compose setup for development to avoid complications which arise when multiple people have differing dependencies (such as openjpeg 2.1 vs. 2.3).

Requirements / Setup

Setup is much the same as described in Setup. The main difference is that you probably want to make docker's setup a little more dev-friendly. Copy the docker-compose override and adjust it to meet your needs:

cp docker-compose.override.yml-example docker-compose.override.yml

The override file specifies useful things like automatically mounting your local binaries to speed up the edit+compile+test loop and exposing RAIS's local port (12415) for testing it directly. You can also add in plugins you find useful (see Using Datadog for a good example)

Compile

For compilation, the easiest option is to simply build all the images locally via make docker. This generates both the "build box" as well as the production image. From here, running ./scripts/buildrun.sh will compile the latest code.

Assuming the docker-compose overrides mount the RAIS binary into the container, you should be able to just use standard docker commands to run the newly-compiled RAIS server binary, e.g., docker-compose restart rais

Start the stack

Run docker-compose up, and the application demo will be available at your configured URL.