Docker Deployment

This document provides instructions for deploying the walt.id Enterprise API in a Docker environment. It includes configuration details and deployment steps using deployment.yaml.

Prerequisites

A Docker environment including Docker Daemon, Client and access to Docker Hub is available. Furthermore, the config-folder with the corresponding config-file must be available to be mounted as volume as shown in the following commands:

Running the Docker Container

The Docker container can be started by the following command:

docker run -p 3000:3000 -it -v $(pwd)/config:/config -t waltid/waltid-enterprise-api

The environment variable JAVA_TOOL_OPTIONS can be set to pass custom Java options to the application. The following example shows how to add some JVM option as well has how to override some properties from the database configuration.

docker run -p 3000:3000 -it -v $(pwd)/config:/config -e "JAVA_TOOL_OPTIONS=-Xms1024M -XX:+PrintFlagsFinal -Dconfig.override.mongodb.ssl.enable=true -Dconfig.override.mongodb.ssl.trustStoreLocation=config/aws-truststore.jks -Dconfig.override.mongodb.ssl.trustStorePassword=123456 -Dconfig.override.mongodb.ssl.invalidHostNameAllowed=true" -t waltid/waltid-enterprise-api

In order to connect to a MongoDB instance running on the same host then the application, it might be useful to add the parameter "--network=host" (if supported by the environment).

Please ensure that all openid/* endpoints of the Enterprise Stack API are publicly accessible. This is necessary for successful credential exchanges with external systems.