The project uses Gradle as a build tool. It already contains
./gradlew wrapper script, so there's no need to install gradle.
To build the project execute the following command:
./gradlew buildCreate the image of the application by executing the following command:
./gradlew assembleCreate docker image:
docker-compose buildRun the distribution (created in build/install/opal-user-service directory)
by executing the following command:
docker-compose upThis will start the API container exposing the application's port
(set to 4555 in this template app).
The database is available on jdbc:postgresql://localhost:5433/opal-user-db with username and password opal-user.
You can run the code for testing/debugging purposes within IntelliJ, but you will still need to run
the opal-user-db database container in the background. The class to run is
uk.gov.hmcts.reform.opal.Application, and you will need to provide the following envvar:
OPAL_USER_DB_PORT=5433In order to test if the application is up, you can call its health endpoint:
curl http://localhost:4555/healthYou should get a response similar to this:
{"status":"UP","diskSpace":{"status":"UP","total":249644974080,"free":137188298752,"threshold":10485760}}
To skip all the setting up and building, just execute the following command:
./bin/run-in-docker.shFor more information:
./bin/run-in-docker.sh -hScript includes bare minimum environment variables necessary to start api instance. Whenever any variable is changed or any other script regarding docker image/container build, the suggested way to ensure all is cleaned up properly is by this command:
docker-compose rmIt clears stopped containers correctly. Might consider removing clutter of images too, especially the ones fiddled with:
docker images
docker image rm <image-id>There is no need to remove postgres and java or similar core images.
This project is licensed under the MIT License - see the LICENSE file for details