---
title: "Docker Deployment"
description: "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."
stack: "Enterprise Stack (commercial) — version 0.21.0"
stack_version: "0.21.0"
stack_comparison: https://docs.walt.id/community-vs-enterprise.md
canonical_url: https://docs.walt.id/enterprise-stack/setup/deployment/docker-deployment
generated: 2026-07-20
---
# Docker Deployment

This document provides instructions for deploying the [walt.id](http://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).

**Note:**

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