~/.dstack/server/config.yml
May 7, 2026 ยท View on GitHub
The ~/.dstack/server/config.yml file is used
to configure backends and other server-level settings.
Root reference
#SCHEMA# dstack._internal.server.services.config.ServerConfig overrides: show_root_heading: false
projects[n] { #projects data-toc-label="projects" }
#SCHEMA# dstack._internal.server.services.config.ProjectConfig overrides: show_root_heading: false
projects[n].backends { #backends data-toc-label="backends" }
projects[n].backends[type=aws] { #aws data-toc-label="aws" }
#SCHEMA# dstack._internal.core.backends.aws.models.AWSBackendConfigWithCreds overrides: show_root_heading: false type: required: true item_id_prefix: aws-
projects[n].backends[type=aws].creds { #aws-creds data-toc-label="creds" }
=== "Access key" #SCHEMA# dstack._internal.core.backends.aws.models.AWSAccessKeyCreds overrides: show_root_heading: false type: required: true
=== "Default" #SCHEMA# dstack._internal.core.backends.aws.models.AWSDefaultCreds overrides: show_root_heading: false type: required: true
projects[n].backends[type=aws].os_images { #aws-os_images data-toc-label="os_images" }
#SCHEMA# dstack._internal.core.backends.aws.models.AWSOSImageConfig overrides: show_root_heading: false type: required: true item_id_prefix: aws-os_images-
projects[n].backends[type=aws].os_images.cpu { #aws-os_images-cpu data-toc-label="cpu" }
#SCHEMA# dstack._internal.core.backends.aws.models.AWSOSImage overrides: show_root_heading: false type: required: true
projects[n].backends[type=aws].os_images.nvidia { #aws-os_images-nvidia data-toc-label="nvidia" }
#SCHEMA# dstack._internal.core.backends.aws.models.AWSOSImage overrides: show_root_heading: false type: required: true
projects[n].backends[type=azure] { #azure data-toc-label="azure" }
#SCHEMA# dstack._internal.core.backends.azure.models.AzureBackendConfigWithCreds overrides: show_root_heading: false type: required: true item_id_prefix: azure-
projects[n].backends[type=azure].creds { #azure-creds data-toc-label="creds" }
=== "Client" #SCHEMA# dstack._internal.core.backends.azure.models.AzureClientCreds overrides: show_root_heading: false type: required: true
=== "Default" #SCHEMA# dstack._internal.core.backends.azure.models.AzureDefaultCreds overrides: show_root_heading: false type: required: true
projects[n].backends[type=gcp] { #gcp data-toc-label="gcp" }
#SCHEMA# dstack._internal.core.backends.gcp.models.GCPBackendConfigWithCreds overrides: show_root_heading: false type: required: true item_id_prefix: gcp-
projects[n].backends[type=gcp].creds { #gcp-creds data-toc-label="creds" }
=== "Service account" #SCHEMA# dstack._internal.core.backends.gcp.models.GCPServiceAccountFileCreds overrides: show_root_heading: false type: required: true
??? info "Specifying `data`"
To specify service account file contents as a string, use `jq`:
```shell
cat my-service-account-file.json | jq -c | jq -R
```
=== "Default" #SCHEMA# dstack._internal.core.backends.gcp.models.GCPDefaultCreds overrides: show_root_heading: false type: required: true
projects[n].backends[type=lambda] { #lambda data-toc-label="lambda" }
#SCHEMA# dstack._internal.core.backends.lambdalabs.models.LambdaBackendConfigWithCreds overrides: show_root_heading: false type: required: true item_id_prefix: lambda-
projects[n].backends[type=lambda].creds { #lambda-creds data-toc-label="creds" }
#SCHEMA# dstack._internal.core.backends.lambdalabs.models.LambdaAPIKeyCreds overrides: show_root_heading: false type: required: true
projects[n].backends[type=nebius] { #nebius data-toc-label="nebius" }
#SCHEMA# dstack._internal.core.backends.nebius.models.NebiusBackendFileConfigWithCreds overrides: show_root_heading: false type: required: true item_id_prefix: nebius-
projects[n].backends[type=nebius].creds { #nebius-creds data-toc-label="creds" }
#SCHEMA# dstack._internal.core.backends.nebius.models.NebiusServiceAccountFileCreds overrides: show_root_heading: false type: required: true
projects[n].backends[type=runpod] { #runpod data-toc-label="runpod" }
#SCHEMA# dstack._internal.core.backends.runpod.models.RunpodBackendConfigWithCreds overrides: show_root_heading: false type: required: true item_id_prefix: runpod-
projects[n].backends[type=runpod].creds { #runpod-creds data-toc-label="creds" }
#SCHEMA# dstack._internal.core.backends.runpod.models.RunpodAPIKeyCreds overrides: show_root_heading: false type: required: true
projects[n].backends[type=vastai] { #vastai data-toc-label="vastai" }
#SCHEMA# dstack._internal.core.backends.vastai.models.VastAIBackendConfigWithCreds overrides: show_root_heading: false type: required: true item_id_prefix: vastai-
projects[n].backends[type=vastai].creds { #vastai-creds data-toc-label="creds" }
#SCHEMA# dstack._internal.core.backends.vastai.models.VastAIAPIKeyCreds overrides: show_root_heading: false type: required: true
projects[n].backends[type=oci] { #oci data-toc-label="oci" }
#SCHEMA# dstack._internal.core.backends.oci.models.OCIBackendConfigWithCreds overrides: show_root_heading: false type: required: true item_id_prefix: oci-
projects[n].backends[type=oci].creds { #oci-creds data-toc-label="creds" }
=== "Client" #SCHEMA# dstack._internal.core.backends.oci.models.OCIClientCreds overrides: show_root_heading: false type: required: true
=== "Default" #SCHEMA# dstack._internal.core.backends.oci.models.OCIDefaultCreds overrides: show_root_heading: false type: required: true
projects[n].backends[type=verda] { #verda data-toc-label="verda" }
#SCHEMA# dstack._internal.core.backends.verda.models.VerdaBackendConfigWithCreds overrides: show_root_heading: false type: required: true item_id_prefix: verda-
projects[n].backends[type=verda].creds { #verda-creds data-toc-label="creds" }
#SCHEMA# dstack._internal.core.backends.verda.models.VerdaAPIKeyCreds overrides: show_root_heading: false type: required: true
projects[n].backends[type=kubernetes] { #kubernetes data-toc-label="kubernetes" }
#SCHEMA# dstack._internal.core.backends.kubernetes.models.KubernetesBackendConfigWithCreds overrides: show_root_heading: false type: required: true item_id_prefix: kubernetes-
projects[n].backends[type=kubernetes].kubeconfig { #kubernetes-kubeconfig data-toc-label="kubeconfig" }
#SCHEMA# dstack._internal.core.backends.kubernetes.models.KubeconfigFileConfig overrides: show_root_heading: false
??? info "Specifying data"
To specify kubeconfig contents directly via data, convert it to a string:
```shell
yq -o=json ~/.kube/config | jq -c | jq -R
```
projects[n].backends[type=kubernetes].proxy_jump { #kubernetes-proxy_jump data-toc-label="proxy_jump" }
#SCHEMA# dstack._internal.core.backends.kubernetes.models.KubernetesProxyJumpConfig overrides: show_root_heading: false
projects[n].backends[type=vultr] { #vultr data-toc-label="vultr" }
#SCHEMA# dstack._internal.core.backends.vultr.models.VultrBackendConfigWithCreds overrides: show_root_heading: false type: required: true item_id_prefix: vultr-
projects[n].backends[type=vultr].creds { #vultr-creds data-toc-label="creds" }
#SCHEMA# dstack._internal.core.backends.vultr.models.VultrAPIKeyCreds overrides: show_root_heading: false type: required: true
projects[n].backends[type=amddevcloud] { #amddevcloud data-toc-label="amddevcloud" }
#SCHEMA# dstack._internal.core.backends.digitalocean_base.models.BaseDigitalOceanBackendConfigWithCreds overrides: show_root_heading: false type: required: true item_id_prefix: amddevcloud-
projects[n].backends[type=amddevcloud].creds { #amddevcloud-creds data-toc-label="creds" }
#SCHEMA# dstack._internal.core.backends.digitalocean_base.models.BaseDigitalOceanAPIKeyCreds overrides: show_root_heading: false type: required: true
projects[n].backends[type=digitalocean] { #digitalocean data-toc-label="digitalocean" }
#SCHEMA# dstack._internal.core.backends.digitalocean_base.models.BaseDigitalOceanBackendConfigWithCreds overrides: show_root_heading: false type: required: true item_id_prefix: digitalocean-
projects[n].backends[type=digitalocean].creds { #digitalocean-creds data-toc-label="creds" }
#SCHEMA# dstack._internal.core.backends.digitalocean_base.models.BaseDigitalOceanAPIKeyCreds overrides: show_root_heading: false type: required: true
projects[n].backends[type=crusoe] { #crusoe data-toc-label="crusoe" }
#SCHEMA# dstack._internal.core.backends.crusoe.models.CrusoeBackendConfigWithCreds overrides: show_root_heading: false type: required: true item_id_prefix: crusoe-
projects[n].backends[type=crusoe].creds { #crusoe-creds data-toc-label="creds" }
#SCHEMA# dstack._internal.core.backends.crusoe.models.CrusoeAccessKeyCreds overrides: show_root_heading: false type: required: true
projects[n].backends[type=hotaisle] { #hotaisle data-toc-label="hotaisle" }
#SCHEMA# dstack._internal.core.backends.hotaisle.models.HotAisleBackendConfigWithCreds overrides: show_root_heading: false type: required: true item_id_prefix: hotaisle-
projects[n].backends[type=hotaisle].creds { #hotaisle-creds data-toc-label="creds" }
#SCHEMA# dstack._internal.core.backends.hotaisle.models.HotAisleAPIKeyCreds overrides: show_root_heading: false type: required: true
projects[n].backends[type=cloudrift] { #cloudrift data-toc-label="cloudrift" }
#SCHEMA# dstack._internal.core.backends.cloudrift.models.CloudRiftBackendConfigWithCreds overrides: show_root_heading: false type: required: true item_id_prefix: cloudrift-
projects[n].backends[type=cloudrift].creds { #cloudrift-creds data-toc-label="creds" }
#SCHEMA# dstack._internal.core.backends.cloudrift.models.CloudRiftAPIKeyCreds overrides: show_root_heading: false type: required: true
encryption { #encryption data-toc-label="encryption" }
#SCHEMA# dstack._internal.server.services.config.EncryptionConfig overrides: show_root_heading: false
encryption.keys { #encryption-keys data-toc-label="keys" }
encryption.keys[n][type=identity] { #encryption-keys-identity data-toc-label="identity" }
#SCHEMA# dstack._internal.server.services.encryption.keys.identity.IdentityEncryptionKeyConfig overrides: show_root_heading: false type: required: true
encryption.keys[n][type=aes] { #encryption-keys-aes data-toc-label="aes" }
#SCHEMA# dstack._internal.server.services.encryption.keys.aes.AESEncryptionKeyConfig overrides: show_root_heading: false type: required: true
default_permissions { #default_permissions data-toc-label="default_permissions" }
#SCHEMA# dstack._internal.server.services.permissions.DefaultPermissions overrides: show_root_heading: false