Getting Started
Architecture
NServiceBus
Transports
Persistence
ServiceInsight
ServicePulse
ServiceControl
Monitoring
Samples

Managing ServiceControl RavenDB instances via Containers

Component: ServiceControl
Version: 5.x

When ServiceControl is hosted in containers, the particular/servicecontrol-ravendb image provides the database storage to the Error and Audit instances.

The database container extends the official RavenDB container and is provided to ensure compatibility with ServiceControl instances. In other words, for any version x.y.z version of ServiceControl, the same version x.y.z of the database container should be used to ensure data storage compatibility.

Basic usage

This minimal example creates a database container using docker run:

docker run -d --name servicecontrol-db \
    -v db-config:/opt/RavenDB/config \
    -v db-data:/opt/RavenDB/Server/RavenData \
    particular/servicecontrol-ravendb:latest

Once the database container is running, the connection string http://servicecontrol-db:8080 can be used for the RAVENDB_CONNECTIONSTRING value for an Error instance or Audit instance.

Required settings

A volume must be mounted to /opt/RavenDB/Server/RavenData to provide persistent storage for database contents between container updates. Failure to specify a path for the volume will result in loss of all data when the container is removed.

Additional settings

As the ServiceControl RavenDB container extends the official RavenDB container, additional configuration details can be found in the RavenDB Docker container documentation, according to this version map:

ServiceControl VersionsRavenDB VersionContainer Documentation
6.x6.2RavenDB 6.2 container docs
5.4 to 5.115.4RavenDB 5.4 container docs