# Configuration file reference

```yaml
# installer_config.yaml

version: "v2.3.0"
host: "127.0.0.1"
network: "doltlab" # Replaces deprecated `docker_network`
metrics_disabled: false
whitelist_all_users: true
use_env: false
runtime: docker
services:
  doltlabenvoy:
    replicas: 1
    placement:
      constraints: ["node.labels.doltlabenvoy == true"]
      preferences:
        - spread: "nodes.labels.doltlabenvoy"
    cors_allowed_origins:
      # Wildcard: set to "*" or ".*" to allow all origins.
      # - "*"
      - "https://example.com"
      - "http://localhost:3000"
  doltlabdb:
    host: "127.0.0.1"
    port: 3306
    admin_password: "*****"
    dolthubapi_password: "*****"
    tls_skip_verify: true
    auto_gc_enabled: true
    server_config: "/local/path/to/server/config.yaml"
    volume_paths:
      data_volume_path: "/local/path/to/store/database/data"
      root_volume_path: "/local/path/to/store/database/root"
      backups_volume_path: "/local/path/to/store/database/file/backups"
      configs_volume_path: "/local/path/to/store/database/configs" # Removed in DoltLab >= v2.3.12
    replicas: 1
    placement:
      constraints: ["node.labels.doltlabdb == true"]
      preferences:
        - spread: "nodes.labels.doltlabdb"
  doltlabapi:
    host: "127.0.0.1"
    port: 9443
    csv_port: 9444
    cloud_storage:
      aws_region: "us-west-2"
      user_import_uploads_aws_bucket: "uploads-bucket"
      query_job_aws_bucket: "query-job-bucket"
      asyncworker_aws_sqs_queue: "async-queue"
    replicas: 1
    placement:
      constraints: ["node.labels.doltlabapi == true"]
      preferences:
        - spread: "nodes.labels.doltlabapi"
  doltlabremoteapi:
    host: "127.0.0.1"
    port: 50051
    file_server_port: 100
    cloud_storage:
      aws_region: "us-west-2"
      aws_bucket: "data-bucket"
      aws_dynamodb_table: "manifest-db"
    volume_paths:
      data_volume_path: "/local/path/to/store/remote/data"
    replicas: 1
    placement:
      constraints: ["node.labels.doltlabremoteapi == true"]
      preferences:
        - spread: "nodes.labels.doltlabremoteapi"
  doltlabfileserviceapi:
    host: "127.0.0.1"
    port: 4321
    volume_paths:
      uploads_volume_path: "/local/path/to/store/uploads"
    replicas: 1
    placement:
      constraints: ["node.labels.doltlabfileserviceapi == true"]
      preferences:
        - spread: "nodes.labels.doltlabfileserviceapi"
  doltlabgraphql:
    host: "127.0.0.1"
    port: 9000
    replicas: 1
    placement:
      constraints: ["node.labels.doltlabgraphql == true"]
      preferences:
        - spread: "nodes.labels.doltlabgraphql"
  doltlabui:
    host: "127.0.0.1"
    port: 80
    replicas: 1
    placement:
      constraints: ["node.labels.doltlabui == true"]
      preferences:
        - spread: "nodes.labels.doltlabui"
default_user:
  name: "admin"
  email: "admin@localhost"
  password: "*****"
query_limits:
  row_limit: 1000
  column_limit: 20
jobs:
  concurrency_limit: 10
  concurrency_loop_seconds: 30
  max_retries: 5
enterprise:
  online_product_code: "*****"
  online_shared_key: "*****"
  online_api_key: "*****"
  online_license_key: "*****"
  offline_product_code: "*****"
  offline_shared_key: "*****"
  offline_api_key: "*****"
  offline_license_key: "*****"
  request_offline_activation: false
  offline_license_file: "/local/path/to/license/file"
  multihost_deployment: true
  no_multihost_default_placement_constraints: false
  no_multihost_default_placement_preferences_spreads: false
  scheme: "http"
  tls:
    cert_chain: "/path/to/cert.pem" # Deprecated: use `full_chain_cert` instead.
    full_chain_cert: "/path/to/cert.pem"
    private_key: "/path/to/key.pem"
  smtp:
    host: "smtp.email.com"
    port: 587
    auth_method: "plain"
    no_reply_email: "user@email.com"
    username: "user@email.com"
    password: "*****"
    oauth_token: "*****"
    identity: "doltlab"
    trace: "doltlab"
    client_hostname: "doltlab"
    implicit_tls: false
    insecure_tls: false
  saml:
    metadata_descriptor_file: "/path/to/metadata/descriptor"
    cert_common_name: "doltlab"
  oidc:
    issuer_url: "https://myidp.com/oidc"
    client_id: "my-oidc-client-id"
    client_secret: "my-oidc-client-secret"
  customize:
    logo: "/path/to/custom/logo"
    email_templates: true
    color_overrides:
      rgb_accent_1: "10, 10, 10"
      rgb_background_accent_1: "10, 10, 10"
      rgb_background_gradient_start: "10, 10, 10"
      rgb_button_1: "10, 10, 10"
      rgb_button_2: "10, 10, 10"
      rgb_link_1: "10, 10, 10"
      rgb_link_2: "10, 10, 10"
      rgb_link_light: "10, 10, 10"
  automated_backups:
    remote_url: "{aws,gs,oci}://remotebackupurl"
    aws_region: "us-west-2"
    aws_profile: "backup_profile"
    aws_shared_credentials_file: "/path/to/aws/shared/credentials/file"
    aws_config_file: "/path/to/aws/config/file"
    google_credentials_file: "/path/to/gcloud/credentials/file"
    oci_config_file: "/path/to/oci/config/file"
    oci_key_file: "/path/to/oci/key/file"
  super_admins: ["admin1@localhost", "admin2@localhost"]
```

The following are top-level `installer_config.yaml` options:

* [version](#version)
* [host](#host)
* [network](#network)
* [metrics\_disabled](#metrics_disabled)
* [whitelist\_all\_users](#whitelist_all_users)
* [use\_env](#use_env)
* [runtime](#runtime)
* [services](#services)
* [default\_user](#default_user)
* [query\_limits](#query_limits)
* [jobs](#jobs)
* [enterprise](#enterprise)

## version

*String*. The version of the configuration file and DoltLab. *Required*.

```yaml
# installer_config.yaml
version: v2.1.4
```

## host

*String*. The hostname or IP address of the host running DoltLab. *Required*.

```yaml
# example installer_config.yaml
host: mydoltlab.mycompany.com
```

```yaml
# example installer_config.yaml
host: 123.456.78.90
```

Command line equivalent [host](/reference/installer/cli.md#host).

## network

*String*. The name of the Docker network (docker/podman) or the Kubernetes namespace (k8s) used by DoltLab. Defaults to `doltlab`. *Optional*.

```yaml
# example installer_config.yaml
network: doltlab
```

Command line equivalent [network](/reference/installer/cli.md#network). Deprecated alias: [docker-network](/reference/installer/cli.md#docker-network).

### Deprecated: docker\_network

`docker_network` is deprecated in favor of `network`. Existing configs continue to work; the installer promotes `docker_network` to `network` internally.

## metrics\_disabled

*Boolean*. If true, disables first party usage metrics for a DoltLab instance, defaults to `false`. *Optional*.

```yaml
# example installer_config.yaml
metrics_disabled: false
```

Command line equivalent [disable-usage-metrics](/reference/installer/cli.md#disable-usage-metrics).

## whitelist\_all\_users

*Boolean*. If true, allows any user to create an account on a DoltLab instance, defaults to `true`. *Optional*

```yaml
# example installer_config.yaml
whitelist_all_users: true
```

See [prevent unauthorized user account creation](/administrator-guides/basic.md#prevent-unauthorized-user-account-creation) for more information.

Command line equivalent [whitelist-all-users](/reference/installer/cli.md#whitelist-all-users).

## use\_env

*Boolean*. If true, sensitive values will not be written to generated assets and environment variables will be expected instead.

```yaml
# example installer_config.yaml
use_env: true
```

Command line equivalent [use-env](/reference/installer/cli.md#use-env).

## runtime

*String*. Selects the runtime used by generated assets. Allowed values: `docker` (default), `podman`, or `k8s`.

When `runtime: podman` is set, the installer adjusts generated files to be compatible with Podman, including:

* Removing service `depends_on` entries (not supported by podman-compose)
* Setting `doltlabapi` service `user: "${UID}:${GID}"` and exporting `UID`/`GID` in `start.sh`
* Mapping the rootless Podman socket at `/run/user/${UID}/podman/podman.sock:/var/run/docker.sock`
* Setting `ENVOY_UID=0` for the `doltlabenvoy` service

```yaml
# example installer_config.yaml
runtime: podman
```

Command line equivalent [runtime](/reference/installer/cli.md#runtime).

When `runtime: k8s` is set, the installer generates Kubernetes manifests under `k8s/`. Apply them with `kubectl apply -f ./k8s/all.yaml`. The value of `network` is used as the Kubernetes namespace. Kubernetes deployments are single-host logical deployments in DoltLab Enterprise; multi-host Kubernetes topologies are not supported.

```yaml
# example installer_config.yaml
runtime: k8s
network: doltlab   # becomes the K8s namespace
enterprise:
  scheme: https
  tls:
    full_chain_cert: /path/to/fullchain.pem
    private_key: /path/to/privkey.pem
```

## services

*Dictionary*. Configuration options for DoltLab's various services. `doltlabdb` passwords are *Required* in single host deployments, other service definitions are *Required* for multi-host deployments.

* [doltlabdb](#doltlabdb)
* [doltlabapi](#doltlabapi)
* [doltlabremoteapi](#doltlabremoteapi)
* [doltlabfileserviceapi](#doltlabfileserviceapi)
* [doltlabgraphql](#doltlabgraphql)
* [doltlabui](#doltlabui)
* [doltlabenvoy](#doltlabenvoy)

### doltlabdb

*Dictionary*. Configuration options for `doltlabdb`.

* [host](#doltlabdb-host)
* [port](#doltlabdb-port)
* [admin\_password](#admin_password)
* [dolthubapi\_password](#dolthubapi_password)
* [tls\_skip\_verify](#tls_skip_verify)
* [server\_config](#server_config)
* [auto\_gc\_enabled](#auto_gc_enabled)
* [volume\_paths](#doltlabdb-volume-paths)
* [replicas](#doltlabdb-replicas)
* [placement](#doltlabdb-placement)

#### host <a href="#doltlabdb-host" id="doltlabdb-host"></a>

*String*. The host name or IP address of the host running `doltlabdb`. *Required* for [configuring an external application database](/administrator-guides/basic.md#use-external-database) and for multi-host deployments.

```yaml
# example installer_config.yaml
services:
  doltlabdb:
    host: "127.0.0.1"
```

Command line equivalent [doltlabdb-host](/reference/installer/cli.md#doltlabdb-host).

#### port <a href="#doltlabdb-port" id="doltlabdb-port"></a>

*Number*. The port for `doltlabdb`. *Required* for [configuring an external application database](/administrator-guides/basic.md#use-external-database) and for [configuring multi-host deployments](/administrator-guides/basic.md#deploy-doltlab-across-multiple-hosts).

```yaml
# example installer_config.yaml
services:
  doltlabdb:
    port: 3306
```

Command line equivalent [doltlabdb-port](/reference/installer/cli.md#doltlabdb-port).

#### admin\_password

*String*. The password used to for creating user `dolthubadmin` in DoltLab's application database. *Required*.

```yaml
# example installer_config.yaml
services:
  doltlabdb:
    admin_password: "mypassword"
```

Command line equivalent [doltlabdb-admin-password](/reference/installer/cli.md#doltlabdb-admin-password).

#### dolthubapi\_password

*String*. The password used to for creating user `dolthubapi` in DoltLab's application database. *Required*.

```yaml
# example installer_config.yaml
services:
  doltlabdb:
    dolthubapi_password: mypassword
```

Command line equivalent [doltlabdb-dolthubapi-password](/reference/installer/cli.md#doltlabdb-dolthubapi-password).

#### tls\_skip\_verify

*String*. If true, skips TLS verification during connection to `doltlabdb`. *Optional*.

```yaml
# example installer_config.yaml
services:
  doltlabdb:
    tls_skip_verify: false
```

Command line equivalent [doltlabdb-tls-skip-verify](/reference/installer/cli.md#doltlabdb-tls-skip-verify).

#### server\_config

*String*. Absolute path to the `doltlabdb` server configuration file. *Optional*. If set, all other server specific settings will be ignored, and this specified config file will be used in `doltlabdb`.

```yaml
# example installer_config.yaml
services:
  doltlabdb:
    server_config: /path/to/server/config.yaml
```

Command line equivalent [doltlabdb-server-config-file](/reference/installer/cli.md#doltlabdb-server-config-file).

#### auto\_gc\_enabled

*Boolean*. If true, [auto GC](https://docs.dolthub.com/sql-reference/server/garbage-collection#automated-gc) will be enabled on `doltlabdb`. *Optional*. This will not be active if `server_config` is provided. In this case, enable auto GC on the config being supplied in `server_config`.

```yaml
# example installer_config.yaml
services:
  doltlabdb:
    auto_gc_enabled: true
```

Command line equivalent [doltlabdb-autogc-enabled](/reference/installer/cli.md#doltlabdb-autogc-enabled).

#### volume\_paths <a href="#doltlabdb-volume-paths" id="doltlabdb-volume-paths"></a>

*Dictionary*. Local paths used for persisting `doltlabdb` Docker volumes.

* [data\_volume\_path](#doltlabdb-data-volume-path)
* [root\_volume\_path](#root_volume_path)
* [backups\_volume\_path](#backups_volume_path)
* [configs\_volume\_path](#configs_volume_path)

#### data\_volume\_path <a href="#doltlabdb-data-volume-path" id="doltlabdb-data-volume-path"></a>

*String*. The path to an existing directory on the DoltLab host used for persisting the 'doltlabdb-dolt-data' Docker volume.

```yaml
# example installer_config.yaml
services:
  doltlabdb:
    volume_paths:
      data_volume_path: "/local/path/for/persisting/data"
```

Command line equivalent [doltlabdb-data-volume-host-path](/reference/installer/cli.md#doltlabdb-data-volume-host-path).

#### root\_volume\_path

*String*. The path to an existing directory on the DoltLab host used for persisting the 'doltlabdb-dolt-root' Docker volume.

```yaml
# example installer_config.yaml
services:
  doltlabdb:
    volume_paths:
      root_volume_path: "/local/path/for/persisting/doltlabdb/root"
```

Command line equivalent [doltlabdb-root-volume-host-path](/reference/installer/cli.md#doltlabdb-root-volume-host-path).

#### backups\_volume\_path

*String*. The path to an existing directory on the DoltLab host used for persisting the 'doltlabdb-dolt-backups' Docker volume.

```yaml
# example installer_config.yaml
services:
  doltlabdb:
    volume_paths:
      backups_volume_path: "/local/path/for/persisting/file/backups"
```

Command line equivalent [doltlabdb-backups-volume-host-path](/reference/installer/cli.md#doltlabdb-backups-volume-host-path).

#### configs\_volume\_path

*String*. The path to an existing directory on the DoltLab host used for persisting the 'doltlabdb-dolt-configs' Docker volume. The field volume has been removed in DoltLab >= v2.3.12 in favor of the [server\_config](#server_config) field.

```yaml
# example installer_config.yaml
services:
  doltlabdb:
    volume_paths:
      configs_volume_path: "/local/path/for/persisting/doltlabdb/configs"
```

Command line equivalent [doltlabdb-configs-volume-host-path](/reference/installer/cli.md#doltlabdb-configs-volume-host-path).

#### replicas <a href="#doltlabdb-replicas" id="doltlabdb-replicas"></a>

*Number*. Specifies the number of doltlabdb service replicas to run. NOTE: only a single replica of `doltlabdb` is currently supported. *Optional*, used for multi-host deployments.

```yaml
# example installer_config.yaml
services:
  doltlabdb:
    replicas: 1 
```

Command line equivalent [doltlabdb-replicas](/reference/installer/cli.md#doltlabdb-replicas).

#### placement <a href="#doltlabdb-placement" id="doltlabdb-placement"></a>

*Dictionary*. Configuration options for `placement`.

* [constraints](#doltlabdb-placement-constraints)
* [preferences](#doltlabdb-placement-preferences)

**constraints**

*String* *Array*. The placement constraints to add to the `doltlabdb` service. By default, DoltLab will add the `node.labels.doltlabdb == true` constraint to a multihost deployment. DoltLab Enterprise only. *Optional*, used for multi-host deployments.

```yaml
# example installer_config.yaml
services:
  doltlabdb:
    placement:
      constraints: ["node.labels.doltlabdb == true"]
```

Command line equivalent [doltlabdb-placement-constraint](/reference/installer/cli.md#doltlabdb-placement-constraint).

**preferences**

*Dictionary*. Configuration options for `preferences`.

* [spread](#doltlabdb-placement-preferences-spread)

**spread**

*Dictionary* *Array*. The spread preferences to add to the `doltlabdb` service. By default, DoltLab will add the `node.labels.doltlabdb` spread preference to a multihost deployment. DoltLab Enterprise only. *Optional*, used for multi-host deployments.

```yaml
# example installer_config.yaml
services:
  doltlabdb:
    placement:
      preferences:
        - spread: "node.labels.doltlabdb"
```

Command line equivalent [doltlabdb-placement-preferences-spread](/reference/installer/cli.md#doltlabdb-placement-preferences-spread).

### doltlabapi

*Dictionary*. Configuration options for `doltlabapi`.

* [csv\_port](#csv_port)
* [cloud\_storage](#doltlabapi-cloud-storage)
* [replicas](#doltlabapi-replicas)
* [placement](#doltlabapi-placement)

#### csv\_port

*Number*. The port for `doltlabapi`'s csv service. *Required* for [configuring multi-host deployments](/administrator-guides/enterprise.md#deploy-doltlab-across-multiple-hosts).

```yaml
# example installer_config.yaml
services:
  doltlabapi:
    csv_port: 3306
```

Command line equivalent [doltlabapi-csv-port](/reference/installer/cli.md#doltlabapi-csv-port).

#### cloud\_storage <a href="#doltlabapi-cloud-storage" id="doltlabapi-cloud-storage"></a>

*Dictionary*. Configuration options for persisting `doltlabapi` data to cloud resources.

* [aws\_region](#doltlabapi-aws-region)
* [user\_import\_uploads\_aws\_bucket](#user_import_uploads_aws_bucket)
* [query\_job\_aws\_bucket](#query_job_aws_bucket)
* [asyncworker\_aws\_sqs\_queue](#asyncworker_aws_sqs_queue)

**aws\_region**

*String*. The AWS region for 'doltlabapi' cloud storage AWS resources, DoltLab Enterprise only.

```yaml
# example installer_config.yaml
services:
  doltlabapi:
    cloud_storage:
      aws_region: "us-east-2"
```

Command line equivalent [doltlabapi-aws-region](/reference/installer/cli.md#doltlabapi-aws-region).

**user\_import\_uploads\_aws\_bucket**

*String*. The name of the S3 bucket used to store user uploaded files, DoltLab Enterprise only.

```yaml
# example installer_config.yaml
services:
  doltlabapi:
    cloud_storage:
      user_import_uploads_aws_bucket: "uploads-bucket"
```

Command line equivalent [doltlabapi-user-import-uploads-aws-s3-bucket](/reference/installer/cli.md#doltlabapi-user-import-uploads-aws-s3-bucket).

**asyncworker\_aws\_sqs\_queue**

*String*. The name of the SQS queue used for processing asynchronous tasks, DoltLab Enterprise only.

```yaml
# example installer_config.yaml
services:
  doltlabapi:
    cloud_storage:
      asyncworker_aws_sqs_queue: "async-queue"
```

Command line equivalent [doltlabapi-asyncworker-aws-sqs-queue](/reference/installer/cli.md#doltlabapi-asyncworker-aws-sqs-queue).

#### replicas <a href="#doltlabapi-replicas" id="doltlabapi-replicas"></a>

*Number*. Specifies the number of doltlabapi service replicas to run. *Optional*, used for multi-host deployments.

```yaml
# example installer_config.yaml
services:
  doltlabapi:
    replicas: 1 
```

Command line equivalent [doltlabapi-replicas](/reference/installer/cli.md#doltlabapi-replicas).

#### placement <a href="#doltlabapi-placement" id="doltlabapi-placement"></a>

*Dictionary*. Configuration options for `placement`.

* [constraints](#doltlabapi-placement-constraints)
* [preferences](#doltlabapi-placement-preferences)

**constraints**

*String* *Array*. The placement constraints to add to the `doltlabapi` service. By default, DoltLab will add the `node.labels.doltlabapi == true` constraint to a multihost deployment. DoltLab Enterprise only. *Optional*, used for multi-host deployments.

```yaml
# example installer_config.yaml
services:
  doltlabapi:
    placement:
      constraints: ["node.labels.doltlabapi == true"]
```

Command line equivalent [doltlabapi-placement-constraint](/reference/installer/cli.md#doltlabapi-placement-constraint).

**preferences**

*Dictionary*. Configuration options for `preferences`.

* [spread](#doltlabapi-placement-preferences-spread)

**spread**

*Dictionary* *Array*. The spread preferences to add to the `doltlabapi` service. By default, DoltLab will add the `node.labels.doltlabapi` spread preference to a multihost deployment. DoltLab Enterprise only. *Optional*, used for multi-host deployments.

```yaml
# example installer_config.yaml
services:
  doltlabapi:
    placement:
      preferences:
        - spread: "node.labels.doltlabapi"
```

Command line equivalent [doltlabapi-placement-preferences-spread](/reference/installer/cli.md#doltlabapi-placement-preferences-spread).

### doltlabremoteapi

*Dictionary*. Configuration options for `doltlabremoteapi`.

* [volume\_paths](#doltlabremoteapi-volume-paths)
* [cloud\_storage](#doltlabremoteapi-cloud-storage)
* [replicas](#doltlabremoteapi-replicas)
* [placement](#doltlabremoteapi-placement)

#### volume\_paths <a href="#doltlabremoteapi-volume-paths" id="doltlabremoteapi-volume-paths"></a>

*Dictionary*. Local paths used for persisting `doltlabremoteapi` Docker volumes.

* [data\_volume\_path](#doltlabremoteapi-data-volume-path)

#### data\_volume\_path <a href="#doltlabremoteapi-data-volume-path" id="doltlabremoteapi-data-volume-path"></a>

*String*. The path to an existing directory on the DoltLab host used for persisting the 'doltlab-remote-storage' Docker volume.

```yaml
# example installer_config.yaml
services:
  doltlabremoteapi:
    volume_paths:
      data_volume_path: "/path/for/persisting/remote/data"
```

Command line equivalent [doltlabremoteapi-data-volume-host-path](/reference/installer/cli.md#doltlabremoteapi-data-volume-host-path).

#### cloud\_storage <a href="#doltlabremoteapi-cloud-storage" id="doltlabremoteapi-cloud-storage"></a>

*Dictionary*. Configuration options for persisting `doltlabremoteapi` data to cloud resources.

* [aws\_region](#doltlabremoteapi-aws-region)
* [aws\_bucket](#doltlabremoteapi-aws-bucket)
* [aws\_dynamodb\_table](#aws_dynamodb_table)

**aws\_region**

*String*. The AWS region where the DynamoDb table is located. DoltLab Enterprise only.

```yaml
# example installer_config.yaml
services:
  doltlabremoteapi:
    cloud_storage:
      aws_region: "us-west-2"
```

Command line equivalent [doltlabremoteapi-storage-aws-region](/reference/installer/cli.md#doltlabremoteapi-storage-aws-region).

**aws\_bucket**

*String*. The AWS S3 bucket used for storing remote data files. DoltLab Enterprise only.

```yaml
# example installer_config.yaml
services:
  doltlabremoteapi:
    cloud_storage:
      aws_bucket: "remote-bucket"
```

Command line equivalent [doltlabremoteapi-storage-aws-bucket](/reference/installer/cli.md#doltlabremoteapi-storage-aws-bucket).

**aws\_dynamodb\_table**

*String*. The AWS DynamoDb table name used for storing the manifest of remote databases. DoltLab Enterprise only.

```yaml
# example installer_config.yaml
services:
  doltlabremoteapi:
    cloud_storage:
      aws_dynamodb_table: "manifest-db"
```

Command line equivalent [doltlabremoteapi-storage-aws-dynamodb-table](/reference/installer/cli.md#doltlabremoteapi-storage-aws-dynamodb-table).

#### replicas <a href="#doltlabremoteapi-replicas" id="doltlabremoteapi-replicas"></a>

*Number*. Specifies the number of doltlabremoteapi service replicas to run. NOTE: only a single replica of `doltlabremoteapi` is supported when cloud-backed storage is NOT configured. Use cloud-backed storage to remove this scaling limitation. DoltLab Enterprise only. *Optional*, used for multi-host deployments.

```yaml
# example installer_config.yaml
services:
  doltlabremoteapi:
    replicas: 1 
```

Command line equivalent [doltlabremoteapi-replicas](/reference/installer/cli.md#doltlabremoteapi-replicas).

#### placement <a href="#doltlabremoteapi-placement" id="doltlabremoteapi-placement"></a>

*Dictionary*. Configuration options for `placement`.

* [constraints](#doltlabremoteapi-placement-constraints)
* [preferences](#doltlabremoteapi-placement-preferences)

**constraints**

*String* *Array*. The placement constraints to add to the `doltlabremoteapi` service. By default, DoltLab will add the `node.labels.doltlabremoteapi == true` constraint to a multihost deployment. DoltLab Enterprise only. *Optional*, used for multi-host deployments.

```yaml
# example installer_config.yaml
services:
  doltlabremoteapi:
    placement:
      constraints: ["node.labels.doltlabremoteapi == true"]
```

Command line equivalent [doltlabremoteapi-placement-constraint](/reference/installer/cli.md#doltlabremoteapi-placement-constraint).

**preferences**

*Dictionary*. Configuration options for `preferences`.

* [spread](#doltlabremoteapi-placement-preferences-spread)

**spread**

*Dictionary* *Array*. The spread preferences to add to the `doltlabremoteapi` service. By default, DoltLab will add the `node.labels.doltlabremoteapi` spread preference to a multihost deployment. DoltLab Enterprise only. *Optional*, used for multi-host deployments.

```yaml
# example installer_config.yaml
services:
  doltlabremoteapi:
    placement:
      preferences:
        - spread: "node.labels.doltlabremoteapi"
```

Command line equivalent [doltlabremoteapi-placement-preferences-spread](/reference/installer/cli.md#doltlabremoteapi-placement-preferences-spread).

### doltlabfileserviceapi

*Dictionary*. Configuration options for `doltlabapifileserviceapi`.

* [volume\_paths](#doltlabfileserviceapi-volume-paths)
* [replicas](#doltlabfileserviceapi-replicas)
* [placement](#doltlabfileserviceapi-placement)

#### volume\_paths <a href="#doltlabfileserviceapi-volume-paths" id="doltlabfileserviceapi-volume-paths"></a>

*Dictionary*. Local paths used for persisting `doltlabfileserviceapi` Docker volumes.

* [uploads\_volume\_path](#uploads_volume_path)

#### uploads\_volume\_path <a href="#doltlabfileserviceapi-uploads-volume-path" id="doltlabfileserviceapi-uploads-volume-path"></a>

*String*. The path to an existing directory on the DoltLab host for persisting the 'doltlab-user-uploads' Docker volume.

```yaml
# example installer_config.yaml
services:
  doltlabfileserviceapi:
    volume_paths:
      uploads_volume_path: "/path/for/persisting/user/uploads"
```

Command line equivalent [doltlabfileserviceapi-uploads-volume-host-path](/reference/installer/cli.md#doltlabfileserviceapi-uploads-volume-host-path).

#### replicas <a href="#doltlabfileserviceapi-replicas" id="doltlabfileserviceapi-replicas"></a>

*Number*. Specifies the number of doltlabfileserviceapi service replicas to run. NOTE: only a single replica of `doltlabfileserviceapi` is currently supported. Use cloud-backed storage to remove this scaling limitation. DoltLab Enterprise only. *Optional*, used for multi-host deployments.

```yaml
# example installer_config.yaml
services:
  doltlabfileserviceapi:
    replicas: 1 
```

Command line equivalent [doltlabfileserviceapi-replicas](/reference/installer/cli.md#doltlabfileserviceapi-replicas).

#### placement <a href="#doltlabfileserviceapi-placement" id="doltlabfileserviceapi-placement"></a>

*Dictionary*. Configuration options for `placement`.

* [constraints](#doltlabfileserviceapi-placement-constraints)
* [preferences](#doltlabfileserviceapi-placement-preferences)

**constraints**

*String* *Array*. The placement constraints to add to the `doltlabfileserviceapi` service. By default, DoltLab will add the `node.labels.doltlabfileserviceapi == true` constraint to a multihost deployment. DoltLab Enterprise only. *Optional*, used for multi-host deployments.

```yaml
# example installer_config.yaml
services:
  doltlabfileserviceapi:
    placement:
      constraints: ["node.labels.doltlabfileserviceapi == true"]
```

Command line equivalent [doltlabfileserviceapi-placement-constraint](/reference/installer/cli.md#doltlabfileserviceapi-placement-constraint).

**preferences**

*Dictionary*. Configuration options for `preferences`.

* [spread](#doltlabfileserviceapi-placement-preferences-spread)

**spread**

*Dictionary* *Array*. The spread preferences to add to the `doltlabfileserviceapi` service. By default, DoltLab will add the `node.labels.doltlabfileserviceapi` spread preference to a multihost deployment. DoltLab Enterprise only. *Optional*, used for multi-host deployments.

```yaml
# example installer_config.yaml
services:
  doltlabfileserviceapi:
    placement:
      preferences:
        - spread: "node.labels.doltlabfileserviceapi"
```

Command line equivalent [doltlabfileserviceapi-placement-preferences-spread](/reference/installer/cli.md#doltlabfileserviceapi-placement-preferences-spread).

### doltlabgraphql

*Dictionary*. Configuration options for `doltlabgraphql`.

* [replicas](#doltlabgraphql-replicas)
* [placement](#doltlabgraphql-placement)

#### replicas <a href="#doltlabgraphql-replicas" id="doltlabgraphql-replicas"></a>

*Number*. Specifies the number of doltlabgraphql replicas to run. DoltLab Enterprise only. *Optional*, used for multi-host deployments.

```yaml
# example installer_config.yaml
services:
  doltlabgraphql:
    replicas: 1 
```

Command line equivalent [doltlabgraphql-replicas](/reference/installer/cli.md#doltlabgraphql-replicas).

#### placement <a href="#doltlabgraphql-placement" id="doltlabgraphql-placement"></a>

*Dictionary*. Configuration options for `placement`.

* [constraints](#doltlabgraphql-placement-constraints)
* [preferences](#doltlabgraphql-placement-preferences)

**constraints**

*String* *Array*. The placement constraints to add to the `doltlabgraphql` service. By default, DoltLab will add the `node.labels.doltlabgraphql == true` constraint to a multihost deployment. DoltLab Enterprise only. *Optional*, used for multi-host deployments.

```yaml
# example installer_config.yaml
services:
  doltlabgraphql:
    placement:
      constraints: ["node.labels.doltlabgraphql == true"]
```

Command line equivalent [doltlabgraphql-placement-constraint](/reference/installer/cli.md#doltlabgraphql-placement-constraint).

**preferences**

*Dictionary*. Configuration options for `preferences`.

* [spread](#doltlabgraphql-placement-preferences-spread)

**spread**

*Dictionary* *Array*. The spread preferences to add to the `doltlabgraphql` service. By default, DoltLab will add the `node.labels.doltlabgraphql` spread preference to a multihost deployment. DoltLab Enterprise only. *Optional*, used for multi-host deployments.

```yaml
# example installer_config.yaml
services:
  doltlabgraphql:
    placement:
      preferences:
        - spread: "node.labels.doltlabgraphql"
```

Command line equivalent [doltlabgraphql-placement-preferences-spread](/reference/installer/cli.md#doltlabgraphql-placement-preferences-spread).

### doltlabui

*Dictionary*. Configuration options for `doltlabui`.

* [replicas](#doltlabui-replicas)
* [placement](#doltlabui-placement)

#### replicas <a href="#doltlabui-replicas" id="doltlabui-replicas"></a>

*Number*. Specifies the number of doltlabui replicas to run. DoltLab Enterprise only. *Optional*, used for multi-host deployments.

```yaml
# example installer_config.yaml
services:
  doltlabui:
    replicas: 1 
```

Command line equivalent [doltlabui-replicas](/reference/installer/cli.md#doltlabui-replicas).

#### placement <a href="#doltlabui-placement" id="doltlabui-placement"></a>

*Dictionary*. Configuration options for `placement`.

* [constraints](#doltlabui-placement-constraints)
* [preferences](#doltlabui-placement-preferences)

**constraints**

*String* *Array*. The placement constraints to add to the `doltlabui` service. By default, DoltLab will add the `node.labels.doltlabui == true` constraint to a multihost deployment. DoltLab Enterprise only. *Optional*, used for multi-host deployments.

```yaml
# example installer_config.yaml
services:
  doltlabui:
    placement:
      constraints: ["node.labels.doltlabui == true"]
```

Command line equivalent [doltlabui-placement-constraint](/reference/installer/cli.md#doltlabui-placement-constraint).

**preferences**

*Dictionary*. Configuration options for `preferences`.

* [spread](#doltlabui-placement-preferences-spread)

**spread**

*Dictionary* *Array*. The spread preferences to add to the `doltlabui` service. By default, DoltLab will add the `node.labels.doltlabui` spread preference to a multihost deployment. DoltLab Enterprise only. *Optional*, used for multi-host deployments.

```yaml
# example installer_config.yaml
services:
  doltlabui:
    placement:
      preferences:
        - spread: "node.labels.doltlabui"
```

Command line equivalent [doltlabui-placement-preferences-spread](/reference/installer/cli.md#doltlabui-placement-preferences-spread).

### doltlabenvoy

*Dictionary*. Configuration options for `doltlabenvoy`.

* [replicas](#doltlabenvoy-replicas)
* [placement](#doltlabenvoy-placement)
* [cors\_allowed\_origins](#doltlabenvoy-cors-allowed-origins)

#### replicas <a href="#doltlabenvoy-replicas" id="doltlabenvoy-replicas"></a>

*Number*. Specifies the number of doltlabenvoy replicas to run. DoltLab Enterprise only. *Optional*, used for multi-host deployments.

```yaml
# example installer_config.yaml
services:
  doltlabenvoy:
    replicas: 1 
```

Command line equivalent [doltlabenvoy-replicas](/reference/installer/cli.md#doltlabenvoy-replicas).

#### placement <a href="#doltlabenvoy-placement" id="doltlabenvoy-placement"></a>

*Dictionary*. Configuration options for `placement`.

* [constraints](#doltlabenvoy-placement-constraints)
* [preferences](#doltlabenvoy-placement-preferences)

**constraints**

*String* *Array*. The placement constraints to add to the `doltlabenvoy` service. By default, DoltLab will add the `node.labels.doltlabenvoy == true` constraint to a multihost deployment. DoltLab Enterprise only. *Optional*, used for multi-host deployments.

```yaml
# example installer_config.yaml
services:
  doltlabenvoy:
    placement:
      constraints: ["node.labels.doltlabenvoy == true"]
```

Command line equivalent [doltlabenvoy-placement-constraint](/reference/installer/cli.md#doltlabenvoy-placement-constraint).

**preferences**

*Dictionary*. Configuration options for `preferences`.

* [spread](#doltlabenvoy-placement-preferences-spread)

**spread**

*Dictionary* *Array*. The spread preferences to add to the `doltlabenvoy` service. By default, DoltLab will add the `node.labels.doltlabenvoy` spread preference to a multihost deployment. DoltLab Enterprise only. *Optional*, used for multi-host deployments.

```yaml
# example installer_config.yaml
services:
  doltlabenvoy:
    placement:
      preferences:
        - spread: "node.labels.doltlabenvoy"
```

Command line equivalent [doltlabenvoy-placement-preferences-spread](/reference/installer/cli.md#doltlabenvoy-placement-preferences-spread).

#### cors\_allowed\_origins <a href="#doltlabenvoy-cors-allowed-origins" id="doltlabenvoy-cors-allowed-origins"></a>

*String* *Array*. Additional CORS allowed origins to include in DoltLab's Envoy-generated CORS policies. *Optional*.

These origins are **added** to the defaults for the configured DoltLab host (`http://<host>` and `https://<host>`), and apply to DoltLab HTTP APIs such as `/api/v1alpha1`.

To allow **all** origins, set this list to include `"*"` or `".*"`. When the wildcard is present, the installer enables an allow-all CORS policy and ignores any other entries.

Each entry must be a full origin (scheme + host, optional port) and **must not** include a path, query, or fragment. Trailing `/` is ignored.

```yaml
# example installer_config.yaml
services:
  doltlabenvoy:
    cors_allowed_origins:
      - "*" # allow all origins
      - "https://example.com"
      - "http://localhost:3000"
```

Command line equivalent [cors-origin](/reference/installer/cli.md#cors-origin).

## default\_user

*Dictionary*. Configuration options for DoltLab's default user. *Required*.

* [name](#name)
* [password](#default-user-password)
* [email](#email)

### name

*String*. The username of the default user. *Required*.

```yaml
# example installer_config.yaml
default_user:
  name: admin
```

Command line equivalent [default-user](/reference/installer/cli.md#default-user).

### password <a href="#default-user-password" id="default-user-password"></a>

*String*. The password of the default user. *Required*.

```yaml
# example installer_config.yaml
default_user:
  password: mypassword
```

Command line equivalent [default-user-password](/reference/installer/cli.md#default-user-password).

### email

*String*. The email address of the default user. *Required*.

```yaml
# example installer_config.yaml
default_user:
  email: admin@localhost
```

Command line equivalent [default-user-email](/reference/installer/cli.md#default-user-email).

## jobs

*Dictionary*. Job configuration options. *Optional*. See [improving DoltLab performance](/administrator-guides/basic.md#improve-doltlab-performance) for more information.

* [concurrency\_limit](#concurrency_limit)
* [concurrency\_loop\_seconds](#concurrency_loop_seconds)
* [max\_retries](#max_retries)

### concurrency\_limit

*Number*. The maximum number of concurrent Jobs. *Optional*.

```yaml
# example installer_config.yaml
jobs:
  concurrency_limit: 10
```

Command line equivalent [job-concurrency-limit](/reference/installer/cli.md#job-concurrency-limit).

### concurrency\_loop\_seconds

*Number*. The wait time in seconds before scheduling the next batch of jobs. *Optional*.

```yaml
# example installer_config.yaml
jobs:
  concurrency_loop_seconds: 30
```

Command line equivalent [job-concurrency-loop-seconds](#job-concurrency-loop-seconds).

### max\_retries

*Number*. The maximum number of times to retry failed Jobs. *Optional*.

```yaml
# example installer_config.yaml
jobs:
  max_retries: 5
```

Command line equivalent [job-max-retries](/reference/installer/cli.md#job-max-retries).

## query\_limits

*Dictionary*. Override the default SQL query result limits in the DoltLab UI. *Optional*.

* `0` or unset: use the default limit (1000 rows, 20 columns)
* `-1`: no limit (unlimited)
* Any positive integer: use that exact limit
* [row\_limit](#row_limit)
* [column\_limit](#column_limit)

### row\_limit

*Number*. The maximum number of rows returned by SQL queries in the UI. Defaults to `1000`. Set to `-1` for no limit. *Optional*.

```yaml
# example installer_config.yaml
query_limits:
  row_limit: 500
```

Command line equivalent [query-row-limit](/reference/installer/cli.md#query-row-limit).

### column\_limit

*Number*. The maximum number of columns returned by SQL queries in the UI. Defaults to `20`. Set to `-1` for no limit. *Optional*.

```yaml
# example installer_config.yaml
query_limits:
  column_limit: 50
```

Command line equivalent [query-column-limit](/reference/installer/cli.md#query-column-limit).

## enterprise

*Dictionary*. Enterprise configuration options. *Optional*.

* [online\_product\_code](#online_product_code)
* [online\_shared\_key](#online_shared_key)
* [online\_api\_key](#online_api_key)
* [online\_license\_key](#online_license_key)
* [offline\_product\_code](#offline_product_code)
* [offline\_shared\_key](#offline_shared_key)
* [offline\_api\_key](#offline_api_key)
* [offline\_license\_key](#offline_license_key)
* [request\_offline\_activation](#request_offline_activation)
* [offline\_license\_file](#offline_license_file)
* [multihost\_deployment](#multihost_deployment)
* [no\_multihost\_default\_placement\_constraints](#no_multihost_default_placement_constraints)
* [no\_multihost\_default\_placement\_preferences\_spreads](#no_multihost_default_placement_preferences_spreads)
* [scheme](#scheme)
* [tls](#tls)
* [smtp](#smtp)
* [customize](#customize)
* [automated\_backups](#automated_backups)
* [super\_admins](#super_admins)
* [saml](#saml)
* [oidc](#oidc)

### online\_product\_code

*String*. The online product code for your Enterprise account. *Required*.

```yaml
# example installer_config.yaml
enterprise:
  online_product_code: "myproductcode"
```

Command line equivalent [enterprise-online-product-code](/reference/installer/cli.md#enterprise-online-product-code).

### online\_shared\_key

*String*. The online shared key for your Enterprise account. *Required*.

```yaml
# example installer_config.yaml
enterprise:
  online_shared_key: "mysharedkey"
```

Command line equivalent [enterprise-online-shared-key](/reference/installer/cli.md#enterprise-online-shared-key).

### online\_api\_key

*String*. The online api key for your Enterprise account. *Required*.

```yaml
# example installer_config.yaml
enterprise:
  online_api_key: "myapikey"
```

Command line equivalent [enterprise-online-api-key](/reference/installer/cli.md#enterprise-online-api-key).

### online\_license\_key

*String*. The online license key for your Enterprise account. *Required*.

```yaml
# example installer_config.yaml
enterprise:
  online_license_key: "mylicensekey"
```

### offline\_product\_code

*String*. The offline product code for your Enterprise account. *Required* for offline Enterprise.

```yaml
# example installer_config.yaml
enterprise:
  offline_product_code: "myproductcode"
```

Command line equivalent [enterprise-offline-product-code](/reference/installer/cli.md#enterprise-offline-product-code).

### offline\_shared\_key

*String*. The offline shared key for your Enterprise account. *Required* for offline Enterprise.

```yaml
# example installer_config.yaml
enterprise:
  offline_shared_key: "mysharedkey"
```

Command line equivalent [enterprise-offline-shared-key](/reference/installer/cli.md#enterprise-offline-shared-key).

### offline\_api\_key

*String*. The offline api key for your Enterprise account. *Required* for offline Enterprise.

```yaml
# example installer_config.yaml
enterprise:
  offline_api_key: "myapikey"
```

Command line equivalent [enterprise-offline-api-key](/reference/installer/cli.md#enterprise-offline-api-key).

### offline\_license\_key

*String*. The offline license key for your Enterprise account. *Required* for offline Enterprise.

```yaml
# example installer_config.yaml
enterprise:
  offline_license_key: "mylicensekey"
```

Command line equivalent [enterprise-offline-license-key](/reference/installer/cli.md#enterprise-offline-license-key).

### request\_offline\_activation

*Boolean*. If true, will generate an activation file that must be provided to the DoltLab team.. *Optional*.

```yaml
# example installer_config.yaml
enterprise:
  request_offline_activation: true
```

Command line equivalent [enterprise-offline-license-key](/reference/installer/cli.md#enterprise-offline-license-key).

### offline\_license\_file

*String*. The offline license file for your Enterprise account, provided by the DoltHub team. *Required* for offline Enterprise.

```yaml
# example installer_config.yaml
enterprise:
  offline_license_file: "/path/to/license/file"
```

Command line equivalent [enterprise-offline-license-file](/reference/installer/cli.md#enterprise-offline-license-file).

### multihost\_deployment

*Boolean*. If true, generates DoltLab Enterprise assets that will run via Docker Swarm. DoltLab Enterprise only. *Optional*.

```yaml
# example installer_config.yaml
enterprise:
  multihost_deployment: true
```

Command line equivalent [multihost-deployment](/reference/installer/cli.md#multihost-deployment).

### no\_multihost\_default\_placement\_constraints

*Boolean*. If true, will not add the default placement contraints to services when running in multihost deployment mode. DoltLab Enterprise only.. *Optional*.

```yaml
# example installer_config.yaml
enterprise:
  no_multihost_default_placement_constraints: true
```

Command line equivalent [no-default-placement-constraints](/reference/installer/cli.md#no-default-placement-constraints).

### no\_multihost\_default\_placement\_preferences\_spreads

*Boolean*. If true, will not add the default placement preferences spread to services when running in multihost deployment mode. DoltLab Enterprise only. *Optional*.

```yaml
# example installer_config.yaml
enterprise:
  no_multihost_default_placement_preferences_spreads: true
```

Command line equivalent [no-default-placement-preferences-spreads](/reference/installer/cli.md#no-default-placement-preferences-spreads).

## scheme

*String*. The HTTP scheme of the DoltLab deployment, defaults to `http`. DoltLab Enterprise only. *Optional*.

```yaml
# example installer_config.yaml
enterprise:
  scheme: http
```

See [how to serve DoltLab over HTTPS](/administrator-guides/enterprise.md#doltlab-https-natively) for more information.

Command line equivalent [scheme](/reference/installer/cli.md#scheme).

## tls

*Dictionary*. TLS configuration options. DoltLab Enterprise only. *Optional*. See [serving DoltLab natively over HTTPS](/administrator-guides/enterprise.md#serve-doltlab-over-https-natively) for more information.

* [cert\_chain](#cert_chain) Deprecated, use `full_chain_cert` instead.
* [full\_chain\_cert](#full_chain_cert)
* [private\_key](#private_key)

### cert\_chain

*String*. Deprecated, use `full_chain_cert` instead. The absolute path to a TLS full chain certificate with `.pem` extension. *Required*.

```yaml
# example installer_config.yaml
enterprise:
  tls:
    cert_chain: /path/to/tls/cert/chain.pem
```

Command line equivalent [tls-cert-chain](/reference/installer/cli.md#tls-cert-chain).

### full\_chain\_cert

*String*. The absolute path to a TLS full chain certificate with `.pem` extension. *Required*.

```yaml
# example installer_config.yaml
enterprise:
  tls:
    full_chain_cert: /path/to/tls/cert/chain.pem
```

Command line equivalent [tls-full-chain-cert](/reference/installer/cli.md#tls-full-chain-cert).

### private\_key

*String*. The absolute path to a TLS private key with `.pem` extension. *Required*.

```yaml
# example installer_config.yaml
enterprise:
  tls:
    private_key: /path/to/tls/private/key.pem
```

Command line equivalent [tls-private-key](/reference/installer/cli.md#tls-private-key).

## smtp

*Dictionary*. The configuration options for an external SMTP server. DoltLab Enterprise only. *Optional*. See [connecting DoltLab to an SMTP server](/administrator-guides/enterprise.md#connect-doltlab-to-an-smtp-server) for more information.

* [auth\_method](#auth_method)
* [host](#smtp-host)
* [port](#smtp-port)
* [no\_reply\_email](#no_reply_email)
* [username](#username)
* [password](#smtp-password)
* [oauth\_token](#oauth-token)
* [identity](#identity)
* [trace](#trace)
* [implicit\_tls](#implicit-tls)
* [insecure\_tls](#insecure-tls)

### auth\_method

*String*. The authentication method used by the SMTP server. *Required*. One of `plain`, `login`, `oauthbearer`, `anonymous`, `external`, and `disable`.

```yaml
# example installer_config.yaml
enterprise:
  smtp:
    auth_method: plain
```

Command line equivalent [smtp-auth-method](/reference/installer/cli.md#smtp-auth-method).

### host <a href="#smtp-host" id="smtp-host"></a>

*String*. The host name of the SMTP server. *Required*.

```yaml
# example installer_config.yaml
enterprise:
  smtp:
    host: smtp.gmail.com
```

Command line equivalent [smtp-host](/reference/installer/cli.md#smtp-host).

### port <a href="#smtp-port" id="smtp-port"></a>

*Number*. The port of the SMTP server. *Required*.

```yaml
# example installer_config.yaml
enterprise:
  smtp:
    port: 587
```

Command line equivalent [smtp-port](/reference/installer/cli.md#smtp-port).

### no\_reply\_email

*String*. The email address used to send emails from DoltLab. *Required*.

```yaml
# example installer_config.yaml
enterprise:
  smtp:
    no_reply_email: admin@localhost
```

Command line equivalent [no-reply-email](/reference/installer/cli.md#no-reply-email).

### username

*String*. The username used for connecting to the SMTP server. *Required* for `auth_method` `login` and `plain`.

```yaml
# example installer_config.yaml
enterprise:
  smtp:
    username: mysmtpusername
```

Command line equivalent [smtp-username](/reference/installer/cli.md#smtp-username).

### password <a href="#smtp-password" id="smtp-password"></a>

*String*. The password used for connecting to the SMTP server. *Required* for `auth_method` `login` and `plain`.

```yaml
# example installer_config.yaml
enterprise:
  smtp:
    password: mypassword
```

Command line equivalent [smtp-password](/reference/installer/cli.md#smtp-password).

### oauth\_token

*String*. The oauth token used for connecting to the SMTP server. *Required* for `auth_method` `oauthbearer`.

```yaml
# example installer_config.yaml
enterprise:
  smtp:
    oauth_token: myoauthtoken
```

Command line equivalent [smtp-oauth-token](/reference/installer/cli.md#smtp-oauth-token).

### identity

*String*. The SMTP server identity. *Optional*.

```yaml
# example installer_config.yaml
enterprise:
  smtp:
    identity: mysmtpidentity
```

Command line equivalent [smtp-identity](/reference/installer/cli.md#smtp-identity).

### trace

*String*. The SMTP server trace. *Optional*.

```yaml
# example installer_config.yaml
enterprise:
  smtp:
    trace: mysmtptrace
```

Command line equivalent [smtp-trace](/reference/installer/cli.md#smtp-trace).

### implicit\_tls

*Boolean*. If true, uses implicit TLS to connect to the SMTP server. *Optional*.

```yaml
# example installer_config.yaml
enterprise:
  smtp:
    implicit_tls: false
```

Command line equivalent [smtp-implicit-tls](/reference/installer/cli.md#smtp-implicit-tls).

### insecure\_tls

*Boolean*. If true, uses insecure TLS to connect to the SMTP server. *Optional*.

```yaml
# example installer_config.yaml
enterprise:
  smtp:
    insecure_tls: false
```

Command line equivalent [smtp-insecure-tls](/reference/installer/cli.md#smtp-insecure-tls).

### customize

*Dictionary*. Customizable option configuration. *Optional*.

* [email\_templates](#email_templates)
* [logo](#logo)
* [color\_overrides](#color_overrides)

#### email\_templates

*Boolean*. If true, generates email templates that can be customized. DoltLab Enterprise only. *Optional*. See [customizing DoltLab emails](/administrator-guides/enterprise.md#customize-automated-emails) for more information.

```yaml
# example installer_config.yaml
enterprise:
  email_templates: true
```

Command line equivalent [custom-email-templates](/reference/installer/cli.md#custom-email-templates).

#### logo

*String*. Absolute path to custom logo file. *Optional*. See [customizing DoltLab's logo](/administrator-guides/enterprise.md#use-custom-logo-on-doltlab-instance) for more information.

```yaml
# example installer_config.yaml
enterprise:
  logo: "/path/to/custom/logo.png"
```

Command line equivalent [custom-logo](/reference/installer/cli.md#custom-logo).

#### color\_overrides

*Dictionary*. Color override options. *Optional*. See [customizing DoltLab colors](/administrator-guides/enterprise.md#customize-doltlab-colors) for more information.

* [rgb\_accent\_1](#rgb_accent_1)
* [rgb\_background\_accent\_1](#rgb_background_accent_1)
* [rgb\_background\_gradient\_start](#rgb_background_gradient_start)
* [rgb\_button\_1](#rgb_button_1)
* [rgb\_button\_2](#rgb_button_2)
* [rgb\_link\_1](#rgb_link_1)
* [rgb\_link\_2](#rgb_link_2)
* [rgb\_link\_light](#rgb_link_light)
* [rgb\_primary](#rgb_primary)
* [rgb\_code\_background](#rgb_code_background)

**rgb\_accent\_1**

*String*. Comma separated RGB color used to replace accent 1. *Optional*.

```yaml
# example installer_config.yaml
enterprise:
  customize:
    color_overrides:
      rgb_accent_1: "5, 117, 245"
```

Command line equivalent \[custom-color-rgb-accent-1]./cli.md(#custom-color-rgb-accent-1).

**rgb\_background\_accent\_1**

*String*. Comma separated RGB color used to replace background accent 1. *Optional*.

```yaml
# example installer_config.yaml
enterprise:
  customize:
    color_overrides:
      rgb_background_accent_1: "5, 117, 245"
```

Command line equivalent [custom-color-rgb-background-accent-1](/reference/installer/cli.md#custom-color-rgb-background-accent-1).

**rgb\_background\_gradient\_start**

*String*. Comma separated RGB color used to replace background gradient start. *Optional*.

```yaml
# example installer_config.yaml
enterprise:
  customize:
    color_overrides:
      rgb_background_gradient_start: "5, 117, 245"
```

Command line equivalent [custom-color-rgb-background-gradient-start](/reference/installer/cli.md#custom-color-rgb-background-gradient-start).

**rgb\_button\_1**

*String*. Comma separated RGB color used to replace button 1. *Optional*.

```yaml
# example installer_config.yaml
enterprise:
  customize:
    color_overrides:
      rgb_button_1: "5, 117, 245"
```

Command line equivalent [custom-color-rgb-button-1](/reference/installer/cli.md#custom-color-rgb-button-1).

**rgb\_button\_2**

*String*. Comma separated RGB color used to replace button 2. *Optional*.

```yaml
# example installer_config.yaml
enterprise:
  customize:
    color_overrides:
      rgb_button_2: "5, 117, 245"
```

Command line equivalent [custom-color-rgb-button-2](/reference/installer/cli.md#custom-color-rgb-button-2).

**rgb\_link\_1**

*String*. Comma separated RGB color used to replace link 1. *Optional*.

```yaml
# example installer_config.yaml
enterprise:
  customize:
    color_overrides:
      rgb_link_1: "5, 117, 245"
```

Command line equivalent [custom-color-rgb-link-1](/reference/installer/cli.md#custom-color-rgb-link-1).

**rgb\_link\_2**

*String*. Comma separated RGB color used to replace link 2. *Optional*.

```yaml
# example installer_config.yaml
enterprise:
  customize:
    color_overrides:
      rgb_link_2: "5, 117, 245"
```

Command line equivalent [custom-color-rgb-link-2](/reference/installer/cli.md#custom-color-rgb-link-2).

**rgb\_link\_light**

*String*. Comma separated RGB color used to replace link light. *Optional*.

```yaml
# example installer_config.yaml
enterprise:
  customize:
    color_overrides:
      rgb_link_light: "5, 117, 245"
```

Command line equivalent [custom-color-rgb-link-light](/reference/installer/cli.md#custom-color-rgb-link-light).

**rgb\_primary**

*String*. Comma separated RGB color used to replace primary. *Optional*.

```yaml
# example installer_config.yaml
enterprise:
  customize:
    color_overrides:
      rgb_primary: "5, 117, 245"
```

Command line equivalent [custom-color-rgb-primary](/reference/installer/cli.md#custom-color-rgb-primary).

**rgb\_code\_background**

*String*. Comma separated RGB color used to replace code background. *Optional*.

```yaml
# example installer_config.yaml
enterprise:
  customize:
    color_overrides:
      rgb_code_background: "5, 117, 245"
```

Command line equivalent [custom-color-rgb-code-background](/reference/installer/cli.md#custom-color-rgb-code-background).

### automated\_backups

*Dictionary*. Automated backups options. *Optional*. See [automated backups](/administrator-guides/enterprise.md#automated-remote-backups) for more information.

* [remote\_url](#remote_url)
* [cron\_schedule](#cron_schedule)
* [backup\_on\_boot](#backup_on_boot)
* [aws\_region](#aws_region)
* [aws\_profile](#aws_profile)
* [aws\_shared\_credentials\_file](#aws_shared_credentials_file)
* [aws\_config\_file](#aws_config_file)
* [google\_credentials\_file](#google_credentials_file)
* [oci\_config\_file](#oci_config_file)
* [oci\_key\_file](#oci_key_file)

#### remote\_url

*String*. Remote url for pushing `doltlabdb` backups. *Required*.

```yaml
# example installer_config.yaml
enterprise:
  automated_backups:
    remote_url: "aws://[dolt_dynamo_table:dolt_remotes_s3_storage]/backup_name"
```

Command line equivalent [automated-dolt-backups-url](/reference/installer/cli.md#automated-dolt-backups-url).

#### cron\_schedule

*String*. Cron schedule for backup frequency. *Optional*.

```yaml
# example installer_config.yaml
enterprise:
  automated_backups:
    cron_schedule: "*/15 * * * *"
```

Command line equivalent [automated-dolt-backups-cron-schedule](/reference/installer/cli.md#automated-dolt-backups-cron-schedule).

#### backup\_on\_boot

*Boolean*. If true, creates first backup when DoltLab is started. *Optional*.

```yaml
# example installer_config.yaml
enterprise:
  automated_backups:
    backup_on_boot: true
```

Command line equivalent [automated-dolt-backups-backup-on-boot](/reference/installer/cli.md#automated-dolt-backups-backup-on-boot).

#### aws\_region

*String*. AWS region. *Required* if `remote_url` has scheme `aws://`.

```yaml
# example installer_config.yaml
enterprise:
  automated_backups:
    aws_region: "us-west-2"
```

Command line equivalent [aws-region](/reference/installer/cli.md#aws-region).

#### aws\_profile

*String*. AWS profile name. *Required* if `remote_url` has scheme `aws://`.

```yaml
# example installer_config.yaml
enterprise:
  automated_backups:
    aws_profile: "doltlab_backuper"
```

Command line equivalent [aws-profile](/reference/installer/cli.md#aws-profile).

#### aws\_shared\_credentials\_file

*String*. Absolute path to AWS shared credentials file. *Required* if `remote_url` has scheme `aws://`.

```yaml
# example installer_config.yaml
enterprise:
  automated_backups:
    aws_shared_credentials_file: "/absolute/path/to/aws/credentials"
```

Command line equivalent [aws-shared-credentials-file](/reference/installer/cli.md#aws-shared-credentials-file).

#### aws\_config\_file

*String*. Absolute path to AWS config file. *Required* if `remote_url` has scheme `aws://`.

```yaml
# example installer_config.yaml
enterprise:
  automated_backups:
    aws_config_file: "/absolute/path/to/aws/config"
```

Command line equivalent [aws-config-file](/reference/installer/cli.md#aws-config-file).

#### google\_credentials\_file

*String*. Absolute path to Google cloud application credentials file. *Required* if `remote_url` has scheme `gs://`.

```yaml
# example installer_config.yaml
enterprise:
  automated_backups:
    google_credentials_file: "/absolute/path/to/gcloud/credentials"
```

Command line equivalent [google-creds-file](/reference/installer/cli.md#google-creds-file).

#### oci\_config\_file

*String*. Absolute path to Oracle cloud configuration file. *Required* if `remote_url` has scheme `oci://`.

```yaml
# example installer_config.yaml
enterprise:
  automated_backups:
    oci_config_file: "/absolute/path/to/oci/config"
```

Command line equivalent [oci-config-file](/reference/installer/cli.md#oci-config-file).

#### oci\_key\_file

*String*. Absolute path to Oracle cloud key file. *Required* if `remote_url` has scheme `oci://`.

```yaml
# example installer_config.yaml
enterprise:
  automated_backups:
    oci_key_file: "/absolute/path/to/oci/key"
```

Command line equivalent [oci-key-file](/reference/installer/cli.md#oci-key-file).

#### super\_admins

*String* *Array*. Email addresses for users granted "super admin" privileges.

```yaml
# example installer_config.yaml
enterprise:
  super_admins: ["admin1@email.com", "admin2@gmail.com"]
```

Command line equivalent [super-admin-email](/reference/installer/cli.md#super-admin-email).

## saml

*Dictionary*. SAML single-sign-on options. *Optional*. See [saml configuration](/administrator-guides/enterprise.md#configure-saml-single-sign-on) for more information.

* [metadata\_descriptor\_file](#metadata_descriptor_file)
* [cert\_common\_name](#cert_common_name)
* [service\_provider\_issuer](#service_provider_issuer)

### metadata\_descriptor\_file

*String*. Absolute path to metadata descriptor file. *Required*.

```yaml
# example installer_config.yaml
enterprise:
  saml:
    metadata_descriptor_file: "/absolute/path/to/metadata/descriptor/file"
```

Command line equivalent [sso-saml-metadata-descriptor](/reference/installer/cli.md#sso-saml-metadata-descriptor).

### cert\_common\_name

*String*. Common name to use in generated SAML certificate. *Required*.

```yaml
# example installer_config.yaml
enterprise:
  saml:
    cert_common_name: "mydoltlabcommonname"
```

Command line equivalent [sso-saml-cert-common-name](/reference/installer/cli.md#sso-saml-cert-common-name).

### service\_provider\_issuer

*String*. Optional override for the SAML service provider issuer/entityID (Audience URI). If unset, defaults to `<website_url>/sso`. Most deployments should not need to set this unless their identity provider requires a specific issuer value.

This value is rendered into the `doltlabapi` service command as `-samlServiceProviderIssuer`.

```yaml
# example installer_config.yaml
enterprise:
  saml:
    service_provider_issuer: "urn:example:mycompany:doltlab:sso"
```

Command line equivalent [sso-saml-service-provider-issuer](/reference/installer/cli.md#sso-saml-service-provider-issuer).

## oidc

*Dictionary*. OIDC single-sign-on options. *Optional*. See [oidc configuration](/administrator-guides/enterprise.md#configure-oidc-single-sign-on) for more information.

* [issuer\_url](#issuer_url)
* [client\_id](#client_id)
* [client\_secret](#client_secret)

### issuer\_url

*String*. The url of the OIDC identity provider. *Required*.

```yaml
# example installer_config.yaml
enterprise:
  oidc:
    issuer_url: "https://myidp.com/oidc"
```

### client\_id

*String*. The OIDC client id. *Required*.

```yaml
# example installer_config.yaml
enterprise:
  oidc:
    client_id: "my-oidc-client-id"
```

### client\_secret

*String*. The OIDC client secret. *Required*.

```yaml
# example installer_config.yaml
enterprise:
  oidc:
    client_secret: "my-oidc-client-secret"
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.doltlab.com/reference/installer/configuration-file.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
