Environment variables
To configure Weaviate in a Docker or a Kubernetes deployment, set these environment variables
Boolean environment variables
For Boolean environment variables, "on"
, "enabled"
, "1"
, and "true"
are interpreted as true
.
All other values are interpreted as false
.
General
Variable | Description | Type | Example Value |
---|---|---|---|
ASYNC_INDEXING | (Experimental, added in v1.22 .) If set, Weaviate creates vector indexes asynchronously to the object creation process. This can be useful for importing large amounts of data. (default: false ) | boolean | false |
AUTOSCHEMA_ENABLED | Whether to infer the schema where necessary with the autoschema (default: true ) | boolean | true |
RAFT_ENABLE_ONE_NODE_RECOVERY | Enable running the single node recovery routine on restart. This is useful if the | ||
default hostname has changed and a single node cluster believes there are supposed to be two nodes. | boolean | false | |
DEFAULT_VECTORIZER_MODULE | Default vectorizer module - will be overridden by any class-level value defined in the schema | string | text2vec-contextionary |
DISABLE_LAZY_LOAD_SHARDS | New in v1.23. When false , enable lazy shard loading to improve mean time to recovery in multi-tenant deployments. | string | false |
DISABLE_TELEMETRY | Disable telemetry data collection | boolean | false |
DISK_USE_READONLY_PERCENTAGE | If disk usage is higher than the given percentage all shards on the affected node will be marked as READONLY , meaning all future write requests will fail. See Disk Pressure Warnings and Limits for details. | string - number | 90 |
DISK_USE_WARNING_PERCENTAGE | If disk usage is higher than the given percentage a warning will be logged by all shards on the affected node's disk. See Disk Pressure Warnings and Limits for details. | string - number | 80 |
ENABLE_API_BASED_MODULES | Enable all API-based modules. (Experimental as of v1.26.0 ) | boolean | true |
ENABLE_MODULES | Specify Weaviate modules to enable | string - comma separated names | text2vec-openai,generative-openai |
ENABLE_TOKENIZER_GSE | Enable the GSE tokenizer for use | boolean | true |
ENABLE_TOKENIZER_KAGOME_JA | Enable the Kagome tokenizer for Japanese for use (Experimental as of v1.28.0 ) | boolean | true |
ENABLE_TOKENIZER_KAGOME_KR | Enable the Kagome tokenizer for Korean for use (Experimental as of v1.25.7 ) | boolean | true |
GODEBUG | Controls debugging variables within the runtime. See official Go docs. | string - comma-separated list of name=val pairs | gctrace=1 |
GOMAXPROCS | Set the maximum number of threads that can be executing simultaneously. If this value is set, it be respected by LIMIT_RESOURCES . | string - number | NUMBER_OF_CPU_CORES |
GOMEMLIMIT | Set the memory limit for the Go runtime. A suggested value is between 90-80% of your total memory for Weaviate. The Go runtime tries to make sure that long-lived and temporary memory allocations do not exceed this value by making the garbage collector more aggressive as the memory usage approaches the limit. Learn more about GOMEMLIMIT. | string - memory limit in SI units | 4096MiB |
GO_PROFILING_DISABLE | If true , disables Go profiling. Default: false . | boolean | false |
GO_PROFILING_PORT | Sets the port for the Go profiler. Default: 6060 | integer | 6060 |
GRPC_MAX_MESSAGE_SIZE | Maximum gRPC message size in bytes. (Added in v1.27.1 ) Default: 10MB | string - number | 2000000000 |
LIMIT_RESOURCES | If true , Weaviate will automatically attempt to auto-detect and limit the amount of resources (memory & threads) it uses to (0.8 * total memory) and (number of cores-1). It will override any GOMEMLIMIT values, however it will respect GOMAXPROCS values. | boolean | false |
LOG_FORMAT | Set the Weaviate logging format Default: Outputs log data to json. e.g.: {"action":"startup","level":"debug","msg":"finished initializing modules","time":"2023-04-12T05:07:43Z"} text : Outputs log data to a string. e.g. time="2023-04-12T04:54:23Z" level=debug msg="finished initializing modules" action=startup | string | |
LOG_LEVEL | Sets the Weaviate logging level. Default: info panic : Panic entries only. (new in v1.24 ) fatal : Fatal entries only. (new in v1.24 ) error : Error entries only. (new in v1.24 ) warning : Warning entries only. (new in v1.24 ) info : General operational entries. debug : Very verbose logging. trace : Even finer-grained informational events than debug . | string | |
MEMORY_READONLY_PERCENTAGE | If memory usage is higher than the given percentage all shards on the affected node will be marked as READONLY , meaning all future write requests will fail. (Default: 80 ) | string - number | 75 |
MEMORY_WARNING_PERCENTAGE | If memory usage is higher than the given percentage a warning will be logged by all shards on the affected node's disk. (Default: 0 - i.e. no limit) | string - number | 85 |
MODULES_CLIENT_TIMEOUT | Timeout for requests to Weaviate modules. Default: 50s | string - duration | 5s , 10m , 1h |
ORIGIN | Set the http(s) origin for Weaviate | string - HTTP origin | https://my-weaviate-deployment.com |
PERSISTENCE_DATA_PATH | Path to the Weaviate data store | string - file path | /var/lib/weaviate Starting in v1.24, defaults to ./data |
PERSISTENCE_HNSW_MAX_LOG_SIZE | Maximum size of the HNSW write-ahead-log. Increase this to improve log compaction efficiency, or decrease to reduce memory requirements. Default: 500MiB | string | 4GiB (IEC units), 4GB (SI units), 4000000000 (bytes) |
PERSISTENCE_LSM_ACCESS_STRATEGY | Function used to access disk data in virtual memory. Default: mmap | string | mmap or pread |
PERSISTENCE_LSM_MAX_SEGMENT_SIZE | Maximum size of a segment in the LSM store. Set this to limit disk usage spikes during compaction to ~2x the segment size. Default: no limit | string | 4GiB (IEC units), 4GB (SI units), 4000000000 (bytes) |
PROMETHEUS_MONITORING_ENABLED | If set, Weaviate collects metrics in a Prometheus-compatible format | boolean | false |
PROMETHEUS_MONITORING_GROUP | If set, Weaviate groups metrics for the same class across all shards. | boolean | true |
QUERY_CROSS_REFERENCE_DEPTH_LIMIT | Sets the maximum depth of cross-references to be resolved in a query. Defaults to 5. Added in v1.24.25 , v1.25.18 , v1.26.5 . | string - number | 3 |
QUERY_DEFAULTS_LIMIT | Sets the default number of objects to be returned in a query. | string - number | 25 Starting in v1.24, defaults to 10 |
QUERY_MAXIMUM_RESULTS | Sets the maximum total number of objects that can be retrieved. | string - number | 10000 |
QUERY_SLOW_LOG_ENABLED | Log slow queries for debugging. Requires a restart to update. (New in 1.24.16, 1.25.3) | boolean | False |
QUERY_SLOW_LOG_THRESHOLD | Set a threshold time for slow query logging. Requires a restart to update. (New in 1.24.16, 1.25.3) | string | 2s Values are times: 3h , 2s , 100ms |
REINDEX_SET_TO_ROARINGSET_AT_STARTUP | Allow Weaviate to perform a one-off re-indexing to use Roaring Bitmaps. Available in versions 1.18 and higher. | boolean | true |
TOMBSTONE_DELETION_CONCURRENCY | The maximum number of cores to use for tombstone deletion. Set this to limit the number of cores used for cleanup. Default: Half of the available cores. (New in v1.24.0 ) | string - int | 4 |
TOMBSTONE_DELETION_MAX_PER_CYCLE | Maximum number of tombstones to delete per cleanup cycle. Set this to limit cleanup cycles, as they are resource-intensive. As an example, set a maximum of 10000000 (10M) for a cluster with 300 million-object shards. Default: none | string - int (New in v1.24.15 / v1.25.2 ) | 10000000 |
TOMBSTONE_DELETION_MIN_PER_CYCLE | Minimum number of tombstones to delete per cleanup cycle. Set this to prevent triggering unnecessary cleanup cycles below a threshold. As an example, set a minimum of 1000000 (1M) for a cluster with 300 million-object shards. Default: 0 (New in v1.24.15 , v1.25.2 ) | string - int | 100000 |
USE_GSE | Enable the GSE tokenizer for use. (The same as ENABLE_TOKENIZER_GSE . We recommend using ENABLE_TOKENIZER_GSE for consistency in naming with other optional tokenizers.) | boolean | true |
USE_INVERTED_SEARCHABLE | (Experimental) Store searchable properties using a more efficient in-disk format, designed for the BlockMax WAND algorithm. Set as true together with USE_BLOCKMAX_WAND to enable BlockMax WAND at query time. Added in v1.28 . (Default: false )
| boolean | true |
USE_BLOCKMAX_WAND | (Experimental) Use BlockMax WAND algorithm for BM25 and hybrid searches. Recommend enabling together with USE_INVERTED_SEARCHABLE to get the full performance benefits. Added in v1.28 . (Default: false )
| boolean | true |
Module-specific
Variable | Description | Type | Example Value |
---|---|---|---|
BACKUP_* | Various configuration variables for backup provider modules. They are outlined in detail on the Backups page. | ||
CLIP_INFERENCE_API | The endpoint where to reach the clip module if enabled | string | http://multi2vec-clip:8000 |
CONTEXTIONARY_URL | Service-Discovery for the contextionary container | string - URL | http://contextionary |
IMAGE_INFERENCE_API | The endpoint where to reach the img2vec-neural module if enabled | string | http://localhost:8000 |
LOWERCASE_VECTORIZATION_INPUT | If true , Weaviate lowercases all input text before vectorization. Added in v1.27 (default: false ) For text2vec-contextionary , set this to true | boolean | true |
OFFLOAD_S3_BUCKET | The S3 bucket to use for offloading (default: weaviate-offload ) | string | my-custom-offload-bucket |
OFFLOAD_S3_BUCKET_AUTO_CREATE | Whether to automatically create the S3 bucket for offloading if it does not exist (default: false ) | boolean | true |
OFFLOAD_S3_CONCURRENCY | The maximum number of parts that will be uploaded/downloaded in parallel during offloading operations (default: 25 ) | string - number | 10 |
OFFLOAD_TIMEOUT | The request timeout value, in seconds (default: 120 ) | string - number | 60 |
TRANSFORMERS_INFERENCE_API | The endpoint where to reach the transformers module if enabled | string | http://t2v-transformers:8080 |
USE_GOOGLE_AUTH | Automatically look for Google Cloud credentials, and generate Vertex AI access tokens for Weaviate to use as needed (read more). (default: false ) | boolean | true |
USE_SENTENCE_TRANSFORMERS_VECTORIZER | (EXPERIMENTAL) Use the sentence-transformer vectorizer instead of the default vectorizer (from the transformers library). Applies to custom images only. | boolean | true |
CLIP_WAIT_FOR_STARTUP | If true , Weaviate waits for the multi2vec-clip module to start up before starting (default: true ). | boolean | true |
NER_WAIT_FOR_STARTUP | If true , Weaviate waits for the ner-transformers module to start up before starting (default: true ). (Available from v1.25.27 , v1.26.12 , v1.27.7 ) | boolean | true |
QNA_WAIT_FOR_STARTUP | If true , Weaviate waits for the qna-transformers module to start up before starting (default: true ). (Available from v1.25.27 , v1.26.12 , v1.27.7 ) | boolean | true |
RERANKER_WAIT_FOR_STARTUP | If true , Weaviate waits for the reranker-transformers module to start up before starting (default: true ). (Available from v1.25.27 , v1.26.12 , v1.27.7 ) | boolean | true |
SUM_WAIT_FOR_STARTUP | If true , Weaviate waits for the sum-transformers module to start up before starting (default: true ). (Available from v1.25.27 , v1.26.12 , v1.27.7 ) | boolean | true |
GPT4ALL_WAIT_FOR_STARTUP | If true , Weaviate waits for the text2vec-gpt4all module to start up before starting (default: true ). (Available from v1.25.27 , v1.26.12 , v1.27.7 ) | boolean | true |
TRANSFORMERS_WAIT_FOR_STARTUP | If true , Weaviate waits for the text2vec-transformers module to start up before starting (default: true ). (Available from v1.25.27 , v1.26.12 , v1.27.7 ) | boolean | true |
Authentication and authorization
Authentication & Authorization documentation
For more information on authentication and authorization, see the Authentication and Authorization pages.
Variable | Description | Type | Example Value |
---|---|---|---|
AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED | Allow users to interact with weaviate without auth | boolean | true Starting in v1.24, defaults to true |
AUTHENTICATION_APIKEY_ALLOWED_KEYS | Allowed API keys. Each key corresponds to a specific user identity below. | string - comma-separated list | jane-secret-key,ian-secret-key |
AUTHENTICATION_APIKEY_ENABLED | Enable API key-based authentication | boolean | false |
AUTHENTICATION_APIKEY_USERS | API key-based identities. Each identity corresponds to a specific key above. | string - comma-separated list | jane@doe.com,ian-smith |
AUTHENTICATION_OIDC_CLIENT_ID | OIDC Client ID | string | my-client-id |
AUTHENTICATION_OIDC_ENABLED | Enable OIDC-based authentication | boolean | false |
AUTHENTICATION_OIDC_GROUPS_CLAIM | OIDC Groups Claim | string | groups |
AUTHENTICATION_OIDC_ISSUER | OIDC Token Issuer | string - URL | https://myissuer.com |
AUTHENTICATION_OIDC_USERNAME_CLAIM | OIDC Username Claim | string | email |
AUTHORIZATION_ADMINLIST_ENABLED | Enable AdminList authorization scheme (mutually exclusive with AUTHORIZATION_RBAC_ENABLED ) | boolean | true |
AUTHORIZATION_ADMINLIST_USERS | Users with admin permission when AdminList scheme used | string - comma-separated list | jane@example.com,john@example.com |
AUTHORIZATION_ADMINLIST_READONLY_USERS | Users with read-only permission when AdminList scheme used | string - comma-separated list | alice@example.com,dave@example.com |
RBAC Authorization
RBAC technical preview
Role-based access control (RBAC) is added v1.28
as a technical preview. This means that the feature is still under development and may change in future releases, including potential breaking changes. We do not recommend using this feature in production environments at this time.
Variable | Description | Type | Example Value |
---|---|---|---|
AUTHORIZATION_RBAC_ENABLED | Enable RBAC authorization scheme (mutually exclusive with AUTHORIZATION_ADMINLIST_ENABLED ). Introduced in v1.28.3 . Previously called AUTHORIZATION_ENABLE_RBAC | boolean | true |
AUTHORIZATION_ADMIN_USERS | Users with the built-in administrator role when RBAC scheme used. At least one admin user must be defined with RBAC. | string - comma-separated list | admin-user,another-admin-user |
AUTHORIZATION_VIEWER_USERS | Users with the built-in viewer role when RBAC scheme used. | string - comma-separated list | viewer-user,another-viewer-user |
Multi-node instances
Variable | Description | Type | Example Value |
---|---|---|---|
CLUSTER_DATA_BIND_PORT | Port for exchanging data. | string - number | 7103 |
CLUSTER_GOSSIP_BIND_PORT | Port for exchanging network state information. | string - number | 7102 |
CLUSTER_HOSTNAME | Hostname of a node. Always set this value if the default OS hostname might change over time. | string | node1 |
CLUSTER_JOIN | The service name of the "founding" member node in a cluster setup | string | weaviate-node-1:7100 |
HNSW_STARTUP_WAIT_FOR_VECTOR_CACHE | If true , vector cache prefill is synchronous when a node starts. The node reports ready to serve when the cache is hot. Defaults to false . Added in 1.24.20 and 1.25.5. | boolean | false |
RAFT_ENABLE_FQDN_RESOLVER | If true , use DNS lookup instead of memberlist lookup for Raft. Added in v1.25.15 . (Read more) | boolean | true |
RAFT_FQDN_RESOLVER_TLD | The top-level domain to use for DNS lookup, in [node-id].[tld] format. Added in v1.25.15 . (Read more) | string | example.com |
RAFT_BOOTSTRAP_EXPECT | The number of voter notes at bootstrapping time | string - number | 1 |
RAFT_BOOTSTRAP_TIMEOUT | The time in seconds to wait for the cluster to bootstrap | string - number | 90 |
RAFT_GRPC_MESSAGE_MAX_SIZE | The maximum internal raft gRPC message size in bytes. Defaults to 1073741824 | string - number | 1073741824 |
RAFT_JOIN | Manually set Raft voter nodes. If set, RAFT_BOOTSTRAP_EXPECT needs to be adjusted manually to match the number of Raft voters. | string | weaviate-0,weaviate-1 |
RAFT_METADATA_ONLY_VOTERS | If true , voter nodes only handle the schema. They do not accept any data. | boolean | false |
REPLICATION_MINIMUM_FACTOR | The minimum replication factor for all collections in the cluster. | string - number | 3 |
Questions and feedback
If you have any questions or feedback, let us know in the user forum.