Docker Configuration
When running Chronicle in Docker, you can configure it using either mounted configuration files or environment variables.
Example configuration
{
"managementPort": 8080,
"port": 35000,
"storage": {
"type": "MongoDB",
"connectionDetails": "mongodb://mongo:27017"
}
}
| Property | Type | Description |
|---|---|---|
| managementPort | number | Management API port exposed by the container |
| port | number | gRPC service port exposed by the container |
| storage.type | string | Storage provider type |
| storage.connectionDetails | string | MongoDB connection string used in the container network |
Using Configuration File
Mount the chronicle.json file as a read-only volume:
docker run -d \
--name chronicle \
-p 8080:8080 \
-p 35000:35000 \
-v /path/to/chronicle.json:/app/chronicle.json:ro \
cratis/chronicle:latest
Using Environment Variables
Pass configuration via environment variables using the -e flag:
docker run -d \
--name chronicle \
-e Cratis__Chronicle__Port=35000 \
-e Cratis__Chronicle__ManagementPort=8080 \
-e Cratis__Chronicle__HealthCheckEndpoint=/health \
-e Cratis__Chronicle__Storage__Type=MongoDB \
-e Cratis__Chronicle__Storage__ConnectionDetails=mongodb://mongo:27017 \
-e Cratis__Chronicle__Observers__SubscriberTimeout=10 \
-p 8080:8080 \
-p 35000:35000 \
cratis/chronicle:latest
For Docker Compose setups, see Running with Docker Compose.