# ServiceControl-DB

ServiceControl-DB is the RavenDB database that provides persistent storage for the Particular ServiceControl error and audit instances. It is open source and self-hosted, installable on Docker Hub and Unraid.

Canonical page: https://ourlocalhost.com/app/1311/servicecontrol-db

## Description

ServiceControl DB is the RavenDB database that provides persistent storage for the Particular ServiceControl error and audit instances. It records and stores message flow data so operators can trace, replay, and audit messages flowing through an NServiceBus-based distributed system. It is intended for developers and homelab administrators running distributed .NET applications who need reliable error handling and complete audit trails. Use it as the data backend for a ServiceControl deployment to gain durable, queryable visibility into every message.

## Platform availability

Available on 1 of 9 platforms: Unraid.

## Health score

56/100 (Fair), based on 4 of 4 factors.
- Maintained: 100 (last commit 16 days ago)
- Popular: 22 (11 GitHub stars)
- Easy to install: 35 (1 install platform, install notes, Docker image)
- Light to run: 20 (16 GB minimum RAM, runs on ARM)

## Links

- Docker Hub: https://hub.docker.com/r/particular/servicecontrol-ravendb
- Unraid: https://ca.unraid.net/apps/servicecontrol-db-0ialuqs047cuns?q=ServiceControl-DB
- Official website: https://docs.particular.net
- Documentation: https://docs.particular.net/servicecontrol/ravendb/containers

## Common questions

### What RavenDB license value is needed for the CI workflow and Docker Compose setup?

A RavenDB development license is required. For CI, supply it as the one-line JSON secret RAVENDB_LICENSE. For Docker Compose, set the LICENSE variable or use an .env file.

### Which environment variables point the NServiceBus.RavenDB tests at RavenDB endpoints?

Use CommaSeparatedRavenClusterUrls with comma-separated cluster URLs for cluster-wide transaction tests. Use RavenSingleNodeUrl with a single-node URL for non-cluster tests.

### Which local Docker ports expose the single-node and cluster leader RavenDB instances?

The single-node RavenDB server is reachable on localhost port 8080. The cluster leader is reachable on localhost port 8081.

### What files are required for an NGINX reverse proxy in front of ServiceControl?

Keep the nginx config and local certificate files in the .local folder and start the compose proxy. Without those files and the running proxy, HTTPS traffic through the proxy will not work.

### What authentication setting must be completed before starting ServiceControl when authentication is enabled?

Fill in required login-service settings such as the OpenID Connect authority URL before starting ServiceControl. If these values are blank, ServiceControl will not start and will report a missing authentication setting.

---
Source: Our Local Host (https://ourlocalhost.com/app/1311/servicecontrol-db), the self-hosted and open-source app directory.
