Requires Docker 17.05 or later.
There are 3 docker files...
The default, which runs just SQL Server (main data store) and MongoDB (express session store)
Stand up the database containers with: docker-compose up
Runs SQL Server, MongoDB, all web applications, and the pupil and admin test suites as separate containers.
This compose file depends on docker-compose.yml
and should not be run directly.
To stand up the tests, app and db containers run either ./run-compose-admin-test-suite.sh
or ./run-compose-pupil-test-suite.sh
In order to run the admin test containers to completion, and exit with a non-zero exit code during CI, execute the run-compose-admin-test-suite.sh
bash script, which will monitor the compose containers for non-zero exit codes (typically generated by the test suites when they fail), tear down all containers and exit appropriately.
In order to run the pupil test containers to completion, and exit with a non-zero exit code during CI, execute the run-compose-pupil-test-suite.sh
bash script, which will monitor the compose containers for non-zero exit codes (typically generated by the test suites when they fail), tear down all containers and exit appropriately.
Once the full compose stack is up and running, you can browse to....
- http://localhost:3001 (Admin App)
- http://localhost:80 (Pupil App)
The MTC solution consists of the following projects...
- Pupil Check Application (
/pupil-spa/
) Angular SPA - Check Administration Application (
/admin/
) Express MVC application - Electron Container for Pupil Check Application (
/electron/
) Electron shell for Pupil Check Application (Obsolete)
See each projects readme for app specifics.
to build an individual docker image, navigate to the relevant app folder and run...
docker build -t <image name> .
where <image-name>
is a friendly name that allows you to easily identify the image.
To make the pupil-spa use the auth microservice instead of the API in admin, change the AUTH_URL environment variable in pupil-spa/Dockerfile
and the docker-compose.*.yml
files relevant for pupil-spa
In order to use the npm package amqp10
with Rabbit MQ the rabbitmq_amqp1_0
plugin must be enabled within Rabbit MQ.
This is achieved by mapping the local rabbit_enabled_plugins
file to etc/rabbitmq/
within the container.