# Local Install Architecture

<figure><img src="https://1440058360-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FErbSh4MmQO1ycjStau0a%2Fuploads%2Fv4ao9N0qHkpnTivKVm0W%2Fimage.png?alt=media&#x26;token=a14e6090-6bfb-463d-b941-4de3626275a8" alt="" width="375"><figcaption><p>Digma Local Install Architecture</p></figcaption></figure>

The Digma Engine is defined in a simple Docker Compose [file](https://github.com/digma-ai/digma/blob/main/docker/docker-compose.yml) that is available online and consists of four containers:

* `Digma Compound`- This container holds the Digma analytics engine for processing traces
* `Digma Persistence` - DBs and storage for processing the time series data and aggregating it
* `Jaeger` - An embedded Jaeger instance that also has additional features for linking spans with code
* `Digma DS` - All of the data science and ML logic for detecting anomalies, calculating correlations, etc

### Default Ports

The following are the default ports used by Digma:

* `5050` is used to collect observability data. This will use the OTEL standard so can accept traces from any OTLP exporter.
* `5051` is used as a backend API for the plugin. The plugin uses it to retrieve and render the insights and processed data
* `17686` is the default embedded Jaeger port. This is used to render the visualization for traces including code location data.
