This is the root of the Docker image. Visit the Readme in the repo root for more information about the project in general.
In case you need to change any of the default parameters, you can use the LOWKEY_ARGS
environment variable with
all necessary arguments supported by Lowkey Vault App. Gradle example.
Shell example:
export LOWKEY_ARGS="--server.port=8444 --LOWKEY_DEBUG_REQUEST_LOG=true"
docker run --rm --name lowkey -e LOWKEY_ARGS -d -p 8444:8444 nagyesta/lowkey-vault:<version>
When you are using Docker, it might not be enough to provide the --server.port=<port>
argument
as you have a container port and host port. In this situation, you will need to either make sure to
match the two (as the example shows below), or you need to start using the logical vault URIs and the
"proxy" feature of the Lowkey Vault Client.
export LOWKEY_ARGS="--server.port=8444"
docker run --rm --name lowkey -e LOWKEY_ARGS -d -p 8444:8444 nagyesta/lowkey-vault:<version>
In case you want to rely on the built-in simulated Managed Identity token endpoint, you must make sure
to forward the relevant 8080
HTTP only port as well. The host port you are using can be anything you
would like to use in this case. This will make the /metadata/identity/oauth2/token
endpoint available.
Please check the example projects to see how you can use the provided
endpoint.
docker run --rm --name lowkey -d -p 8080:8080 -p 8444:8444 nagyesta/lowkey-vault:<version>
Since Lowkey Vault is a Spring Boot application, the default mechanism for Spring Boot external configuration can work as well. For example, if there is a ./config/application.properties file relative to the folder where the Jar is running, the contents will be picked up automatically. To utilize this, the recommended option is to attach a *.properties file to /config/application.properties (path inside the container) using a volume.
Lowkey Vault offers a multi-arch variant using Buildx. You can find the relevant project here.