Configuration Options

[Edit this page](https://github.com/ClickHouse/clickhouse-docs/blob/main/docs/use-cases/observability/clickstack/config.md)

The following configuration options are available for each component of ClickStack:

## Settings for open source distributions[​](#modifying-settings "Direct link to Settings for open source distributions")

### Docker[​](#docker "Direct link to Docker")

If using the [All in One](/docs/use-cases/observability/clickstack/deployment/all-in-one), [HyperDX Only](/docs/use-cases/observability/clickstack/deployment/hyperdx-only) or [Local Mode](/docs/use-cases/observability/clickstack/deployment/local-mode-only) simply pass the desired setting via an environment variable e.g.

```
docker run  -e HYPERDX_LOG_LEVEL='debug' -p 8080:8080 -p 4317:4317 -p 4318:4318 clickhouse/clickstack-all-in-one:latest
```

### Docker Compose[​](#docker-compose "Direct link to Docker Compose")

If using the [Docker Compose](/docs/use-cases/observability/clickstack/deployment/docker-compose) deployment guide, the [`.env`](https://github.com/hyperdxio/hyperdx/blob/main/.env) file can be used to modify settings.

Alternatively, explicitly overwrite settings in the [`docker-compose.yaml`](https://github.com/hyperdxio/hyperdx/blob/main/docker-compose.yml) file e.g.

Example:

```
services:
  app:
    environment:
      HYPERDX_API_KEY: ${HYPERDX_API_KEY}
      HYPERDX_LOG_LEVEL: ${HYPERDX_LOG_LEVEL}
      # ... other settings
```

### Helm[​](#helm "Direct link to Helm")

#### Customizing values (optional)[​](#customizing-values "Direct link to Customizing values (optional)")

You can customize settings by using `--set` flags e.g.

```
helm install my-hyperdx hyperdx/hdx-oss-v2 \
  --set replicaCount=2 \
  --set resources.limits.cpu=500m \
  --set resources.limits.memory=512Mi \
  --set resources.requests.cpu=250m \
  --set resources.requests.memory=256Mi \
  --set ingress.enabled=true \
  --set ingress.annotations."kubernetes\.io/ingress\.class"=nginx \
  --set ingress.hosts[0].host=hyperdx.example.com \
  --set ingress.hosts[0].paths[0].path=/ \
  --set ingress.hosts[0].paths[0].pathType=ImplementationSpecific \
  --set env[0].name=CLICKHOUSE_USER \
  --set env[0].value=abc
```

Alternatively edit the `values.yaml`. To retrieve the default values:

```
helm show values hyperdx/hdx-oss-v2 > values.yaml
```

Example config:

```
replicaCount: 2
resources:
  limits:
    cpu: 500m
    memory: 512Mi
  requests:
    cpu: 250m
    memory: 256Mi
ingress:
  enabled: true
  annotations:
    kubernetes.io/ingress.class: nginx
  hosts:
    - host: hyperdx.example.com
      paths:
        - path: /
          pathType: ImplementationSpecific
  env:
    - name: CLICKHOUSE_USER
      value: abc
```

## ClickStack UI (HyperDX) application[​](#hyperdx "Direct link to ClickStack UI (HyperDX) application")

### Data source settings[​](#datasource-settings "Direct link to Data source settings")

The ClickStack UI relies on the user defining a source for each of the Observability data types/pillars:

- `Logs`
- `Traces`
- `Metrics`
- `Sessions`

This configuration can be performed inside the application from `Team Settings -> Sources`, as shown below for logs:

Each of these sources require at least one table specified on creation and a set of columns which allow HyperDX to query the data.

If using the [default OpenTelemetry (OTel) schema](/docs/observability/integrating-opentelemetry#out-of-the-box-schema) distributed with ClickStack, these columns can be automatically inferred for each of the sources. If [modifying the schema](#clickhouse) or using a custom schema, users are required to specify and update these mappings.

Note

The default schema for ClickHouse distributed with ClickStack is the schema created by the [ClickHouse exporter for the OTel collector](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/exporter/clickhouseexporter). These column names correlate with the OTel official specification documented [here](https://opentelemetry.io/docs/specs/otel/logs/data-model/).

The following settings are available for each source:

#### Logs[​](#logs "Direct link to Logs")