Skip to main content
Weaviate Docs (migrated from docs.weaviate.io) Docs

Search documentation

Type to search this documentation.

On this pageOverview

Environment variables reference

To configure Weaviate in a Docker or a Kubernetes deployment, you can set these environment variables.

mdx-code-block
<APITable>
Variable Description Type Example Value
ASYNC_INDEXING 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
BANNER_INTERVAL How often the banner is logged again after its first appearance. The banner draws its art, and a ► News: line when there is one, from https://weaviate.io/banner/v1.json when it can be fetched. Banner and fetch happen only when telemetry is enabled. Default: 24h. Values under 1h are raised to 1h.
Added in v1.40
string - duration 12h
CORS_ALLOW_HEADERS Value of the Access-Control-Allow-Headers response header on the REST API, which controls the request headers a browser may send cross-origin. The default is the long list of headers Weaviate itself reads, including Content-Type, Authorization and the per-provider API-key headers. Default: the built-in header list string - comma separated names Content-Type, Authorization
CORS_ALLOW_METHODS Value of the Access-Control-Allow-Methods response header on the REST API, which controls the HTTP methods a browser may use cross-origin. Default: * string - comma separated names GET, POST, OPTIONS
CORS_ALLOW_ORIGIN Value of the Access-Control-Allow-Origin response header on the REST API, which controls the origins a browser may call Weaviate from. Set this to reach Weaviate directly from browser code on a specific site. Default: * string https://example.com
DEFAULT_QUANTIZATION Default quantization technique - can be overridden by the quantization method specified in the collection definition. Available values: rq-8, rq-4, rq-1, pq, bq, sq and none. Default: none.

Note: If the selected quantization method isn't supported for the index type of a collection (for example PQ & SQ aren't supported for the flat index, and rq-4 is supported for the HNSW index only), the quantization won't be applied to that collection.

Added in v1.33. rq-4 added in v1.39 as a preview.
string rq-8
DEFAULT_SHARDING_COUNT Default desiredCount for new single-tenant collections, used when the collection definition does not specify one. An explicit desiredCount in the class creation request still takes precedence. A value of 0 (default) uses the cluster node count. Multi-tenant collections are unaffected. Must be <= 512. Runtime-configurable. Default: 0
Added in v1.37
string - number 12
DEFAULT_VECTOR_INDEX Default vector index type for new collections (and named vectors), used when the collection definition does not specify one. An explicit vectorIndexType in the collection definition still takes precedence. Available values: hnsw, flat, dynamic, and hfresh. Runtime-configurable. Default: hnsw
Added in v1.37.3
string flat
DEFAULT_VECTORIZER_MODULE Default vectorizer module - can be overridden by the vectorizer in the collection definition. string text2vec-contextionary
API_BASED_MODULES_DISABLED Weaviate automatically enables the usage of all API-based modules. Set this variable to true in order to limit access and only allow specific modules through the ENABLE_MODULES variable. Default: false
Added in v1.33
boolean true
DISABLE_GRAPHQL Disable the GraphQL API (default: false). When true, the /v1/graphql endpoint is not served. New Weaviate Cloud clusters are created with this set to true. boolean true
DISABLE_LAZY_LOAD_SHARDS When false, enable lazy shard loading to improve mean time to recovery in multi-tenant deployments. Deprecated in v1.36.6. Use LAZY_LOAD_SHARD_COUNT_THRESHOLD and LAZY_LOAD_SHARD_SIZE_THRESHOLD_GB instead. Weaviate now auto-detects when lazy loading is needed per collection. string false
DISABLE_STARTUP_BANNER Disable the banner Weaviate logs shortly after startup (action=banner, with the version, the link to Improve your cluster, and this node's /v1/meta URL), and its repeat every BANNER_INTERVAL. The banner runs only while telemetry is enabled, because it fetches its art from weaviate.io, so a cluster with DISABLE_TELEMETRY=true never logs one. It is an info entry, so LOG_LEVEL=warning or stricter hides it as well. Default: false
Added in v1.40
boolean true
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. Removed as of v1.33 boolean true
ENABLE_MODULES Specify which modules are enabled and can be used. 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 boolean true
ENABLE_TOKENIZER_KAGOME_KR Enable the Kagome tokenizer for Korean for use boolean true
EXPERIMENTAL_REST_SEARCH_ENABLED (EXPERIMENTAL) Enable the REST Search API: the POST /v1/search/{collection}/near-text, /bm25, /hybrid and /near-object endpoints, and the sibling POST /v1/aggregate/{collection} endpoint. While disabled, these endpoints reject requests with a 422 status. Default: false boolean true
EXPORT_DEFAULT_BUCKET Storage bucket name for collection exports. Required for S3, GCS, and Azure backends.
Added in v1.37
string my-export-bucket
EXPORT_DEFAULT_PATH Optional base path prefix for exported files within the bucket for collection exports. Defaults to "" (no prefix). Changed in v1.37.1: previously required to be explicitly set.
Added in v1.37
string exports/my-cluster
EXPORT_ENABLED Enable the collection export API. Default: false
Added in v1.37
boolean true
EXPORT_PARALLELISM Number of concurrent scan workers for collection exports. 0 uses GOMAXPROCS. Default: 0
Added in v1.37
string - number 4
EXPORT_SKIP_ACCESS_CHECK Skip the write-and-delete access check that runs when the collection export backend initializes. Set to true for immutable (write-once / WORM) buckets or least-privilege credentials that cannot delete objects. Applied at startup. Default: false
Added in v1.37.8
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 80-90% 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
INVERTED_SORTER_DISABLED Forces the "objects bucket" strategy and doesn't consider inverted sorting. Most users should never set this flag; it exists for benchmarking and as a safety net. Default: false boolean false
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
DEBUG_ENDPOINTS_ENABLED Gate for the debug HTTP listener (the profiling port set by GO_PROFILING_PORT, default 6060), which serves Weaviate's unauthenticated internal debug and profiling endpoints: /debug/config, Go profiling (/debug/pprof/*, /debug/fgprof), and various maintenance and diagnostic routes. Runtime-configurable via the debug_endpoints_enabled override. Default: false. GO_PROFILING_DISABLE still controls whether the listener binds at all.
Added in v1.37.9
boolean true
GRPC_MAX_MESSAGE_SIZE Maximum gRPC message size in bytes. Requests larger than this limit (e.g. a large insert_many call) are rejected. Default: 104858000 (approximately 100 MB) string - number 2000000000
GRPC_PORT The port on which Weaviate's gRPC server listens for incoming requests. Default: 50051 string - number 50052
HNSW_GEO_INDEX_EF Balance geo index search speed and recall. This value controls the search depth for geo-based queries. Default: 800
Added in v1.31.22
string - number 1000
LAZY_LOAD_SHARD_COUNT_THRESHOLD Number of shards (tenants) in a collection before lazy shard loading activates. Set to 0 to force lazy loading for all collections. Default: 1000. See dynamic lazy shard loading.
Added in v1.36.6
string - number 1000
LAZY_LOAD_SHARD_SIZE_THRESHOLD_GB Total shard size (in GB) for a collection before lazy shard loading activates. Default: 100. See dynamic lazy shard loading.
Added in v1.36.6
string - number 100
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

json (default): Outputs log data in 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.
fatal: Fatal entries only.
error: Error entries only.
warning: Warning entries only.
info: General operational entries.
debug: Very verbose logging.
trace: Even finer-grained informational events than debug.
string
MAXIMUM_ALLOWED_COLLECTIONS_COUNT Maximum allowed number of collections in a Weaviate node. A value of -1 removes the limit. Default: -1 (unlimited)

Instead of raising the collections count limit, consider rethinking your architecture.
Added in v1.30
string - number 20
MAXIMUM_CONCURRENT_BUCKET_LOADS Maximum number of buckets that can be loaded concurrently during startup. This is a safeguard to prevent overwhelming the operating system when loading large numbers of collections. Default: 100
Added in v1.31.22
string - number 50
MAXIMUM_CONCURRENT_SHARD_LOADS Maximum number of shards that can be loaded concurrently during startup. This is a safeguard to prevent overwhelming the operating system when loading large numbers of collections. Default: 100 string - number 50
MCP_SERVER_CONFIG_PATH Path to a YAML file for customizing MCP tool descriptions. Useful for prompt engineering the LLM's understanding of your specific data. If not provided or file malformed, the default descriptions will be used. Default: "" (default tool descriptions from the source code will be used)
Added in v1.37.1
string /etc/weaviate/mcp-config.yaml
MCP_SERVER_ENABLED Enable the built-in MCP server. When enabled, the MCP endpoint is available at /v1/mcp on the REST API port. Default: false
Added in v1.37.1. Runtime-configurable from v1.38.
boolean true
MCP_SERVER_WRITE_ACCESS_ENABLED Enable write tools (weaviate-objects-upsert) on the MCP server. When false, only read and query tools are available. Default: false
Added in v1.37.1. Runtime-configurable from v1.38.
boolean true
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: 0 - i.e. no limit) 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
OBJECTS_TTL_BATCH_SIZE Number of objects deleted per batch during TTL cleanup. With the default pause settings, a pause occurs every OBJECTS_TTL_BATCH_SIZE * OBJECTS_TTL_PAUSE_EVERY_NO_BATCHES objects (100,000 by default). Can be modified at runtime. Default: 10000
Added in v1.36
string - number 10000
OBJECTS_TTL_CONCURRENCY_FACTOR Controls the concurrency of the TTL deletion process as a multiplier. Higher values use more resources but delete faster. Must be greater than 0. Can be modified at runtime. Default: 1
Added in v1.36
string - number 1
OBJECTS_TTL_DELETE_SCHEDULE Schedule for deleting expired objects. Accepts standard 5-field cron format, 6-field (with seconds), 7-field (with seconds and year), descriptors (@yearly, @monthly, @weekly, @daily, @hourly), or hash expressions. Default: "" (disabled)
Added in v1.36
string - cron format 0 */6 * * * (every 6 hours)
OBJECTS_TTL_PAUSE_DURATION How long to pause the TTL deletion process between batches. Longer pauses reduce resource pressure but slow down cleanup. If 0 there is no pause. Can be modified at runtime. Default: 1m
Added in v1.36
string - duration 20s, 2m
OBJECTS_TTL_PAUSE_EVERY_NO_BATCHES Number of batch deletions to process before pausing. With the default batch size of 10,000, a pause occurs every 100,000 deleted objects. If 0 there is no pause. Can be modified at runtime. Default: 10
Added in v1.36
string - number 3
OPERATIONAL_MODE Sets the mode of operation for the instance, limiting the available operations based on the mode selected. Options: ReadWrite (default), ReadOnly, WriteOnly, ScaleOut. These values are case-sensitive and matched exactly. An unrecognized value (such as READ_ONLY) silently falls back to the default ReadWrite, without a warning or an error, so a node you intended to restrict stays fully writable. string ReadWrite
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.
Note about file systems and performance.
string - file path /var/lib/weaviate
Defaults to ./data
PERSISTENCE_HNSW_DISABLE_SNAPSHOTS Deprecated in v1.39. Ignored, and logs a startup warning. In v1.31 through v1.38: if set, HNSW snapshotting is disabled. Default: false (enabled) as of v1.36; true (disabled) in v1.31 through v1.35. See snapshot configuration before v1.39.
Added in v1.31
boolean false
PERSISTENCE_HNSW_SNAPSHOT_INTERVAL_SECONDS Deprecated in v1.39. Ignored, and logs a startup warning. In v1.31 through v1.38: the minimum time in seconds that must pass before the next snapshot is created. Default: 21600 seconds (6 hours). See snapshot configuration before v1.39.
Added in v1.31
string - number 3600
PERSISTENCE_HNSW_SNAPSHOT_MIN_DELTA_COMMITLOGS_NUMBER Deprecated in v1.39. Ignored, and logs a startup warning. In v1.31 through v1.38: the minimum number of new commit log files created since the last snapshot. Default: 1. See snapshot configuration before v1.39.
Added in v1.31
string - number 100
PERSISTENCE_HNSW_SNAPSHOT_MIN_DELTA_COMMITLOGS_SIZE_PERCENTAGE Deprecated in v1.39. Ignored, and logs a startup warning. In v1.31 through v1.38: the minimum total size of new commit logs (as a percentage of the previous snapshot's size) required to trigger a new snapshot. Default: 5 (meaning 5% of the previous snapshot's size in new commit logs). See snapshot configuration before v1.39.
Added in v1.31
string - number 15
PERSISTENCE_HNSW_SNAPSHOT_ON_STARTUP Deprecated in v1.39. Ignored, and logs a startup warning. In v1.31 through v1.38: if set, Weaviate tries to create a new snapshot during startup when enough new commit log data has accumulated since the last snapshot. Otherwise, it loads the existing snapshot. Default: true. See snapshot configuration before v1.39.
Added in v1.31
boolean false
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_BOOST_DEFAULT_DEPTH Default candidate-pool size used when a Boost query does not set its own depth. The primary search retrieves this many candidates before the boost rescorer runs. Must be a positive integer and is hard-capped by QUERY_MAXIMUM_RESULTS. Default: 100
Added in v1.38
string - number 200
QUERY_CROSS_REFERENCE_DEPTH_LIMIT Sets the maximum depth of cross-references to be resolved in a query. Defaults to 5. string - number 3
QUERY_DEFAULTS_LIMIT Sets the default number of objects to be returned in a query. string - number 25
Defaults to 10
QUERY_HYBRID_MAXIMUM_RESULTS Minimum size of the candidate pool that each leg of a hybrid search retrieves before fusion. Each of the keyword and vector sub-searches fetches at least offset plus this many candidates, so that paging deeper into a hybrid result set stays consistent. Raise it if hybrid results shift between pages; higher values cost more work per query. Default: 100
Added in v1.32, and backported to v1.30.12 and v1.31.6
string - number 200
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. boolean False
QUERY_SLOW_LOG_THRESHOLD Set a threshold time for slow query logging. Requires a restart to update. 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. boolean true
REVECTORIZE_CHECK_DISABLED Disables the optimization that reuses an object's existing vector when it is updated and none of its vectorized properties changed. By default (false) this check runs and skips unnecessary re-vectorization; set to true to re-vectorize on every update. Disabling removes a read-before-write. That can raise write throughput, and it guarantees a fresh vector on every update, at the cost of one extra embedding call per update (and the associated API cost, for remote vectorizers). Default: false boolean false
TENANT_ACTIVITY_READ_LOG_LEVEL Sets the log level for tenant read activity. Useful for analysis or debugging purposes. Default: debug string info
TENANT_ACTIVITY_WRITE_LOG_LEVEL Sets the log level for tenant write activity. Useful for analysis or debugging purposes. Default: debug string info
TOKENIZER_CONCURRENCY_COUNT Limit the combined number of GSE and Kagome tokenizers running at the same time. Default: GOMAXPROCS string - number NUMBER_OF_CPU_CORES
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. 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 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 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 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. Default: false
From v1.30 default: true
Read more
boolean true
USE_BLOCKMAX_WAND Use BlockMax WAND algorithm for BM25 and hybrid searches. Enable it together with USE_INVERTED_SEARCHABLE to get the performance benefits.
From v1.30 Default: true
Read more
boolean true
mdx-code-block
</APITable>
mdx-code-block
<APITable>
Variable Description Type Example Value
BACKUP_* Various configuration variables for backup provider modules. They are outlined in detail on the Backups page.
AZURE_BLOCK_SIZE The block size for Azure Blob Storage for backups. Default: 41943040 (40MB) int - bytes 10000000
AZURE_CONCURRENCY The maximum number of parts that will be concurrently uploaded/downloaded during backup operations. Default: 1 int 3
CLIP_INFERENCE_API The endpoint where to reach the clip module if enabled string http://multi2vec-clip:8080
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.
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://text2vec-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). boolean true
QNA_WAIT_FOR_STARTUP If true, Weaviate waits for the qna-transformers module to start up before starting (default: true). boolean true
RERANKER_WAIT_FOR_STARTUP If true, Weaviate waits for the reranker-transformers module to start up before starting (default: true). boolean true
SUM_WAIT_FOR_STARTUP If true, Weaviate waits for the sum-transformers module to start up before starting (default: true). boolean true
GPT4ALL_WAIT_FOR_STARTUP If true, Weaviate waits for the text2vec-gpt4all module to start up before starting (default: true). boolean true
TRANSFORMERS_WAIT_FOR_STARTUP If true, Weaviate waits for the text2vec-transformers module to start up before starting (default: true). boolean true
USAGE_GCS_BUCKET GCS bucket name (required if using GCS) string my-weaviate-usage-bucket
USAGE_GCS_PREFIX Optional object prefix for GCS reports string usage-reports
USAGE_S3_BUCKET S3 bucket name (required if using S3) string my-weaviate-usage-bucket
USAGE_S3_PREFIX Optional object prefix for S3 reports string usage-reports
RUNTIME_OVERRIDES_ENABLED Enable runtime override configuration boolean true
RUNTIME_OVERRIDES_PATH Path to the runtime override config file string ${PWD}/tools/dev/config.runtime-overrides.yaml
RUNTIME_OVERRIDES_LOAD_INTERVAL Reload interval for runtime override config. Default: 2m duration 2m
USAGE_SCRAPE_INTERVAL Interval for scraping usage metrics. Default: 1h duration 1h
USAGE_SHARD_JITTER_INTERVAL Jitter interval for shard-level operations to avoid overwhelming the filesystem when there are thousands of shards. Default: 100ms duration 100ms
USAGE_POLICY_VERSION Policy version for usage tracking string 2025-06-01
USAGE_VERIFY_PERMISSIONS Verify bucket permissions on start. Default: false boolean true
mdx-code-block
</APITable>
mdx-code-block
<APITable>
Variable Description Type Example Value
AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED Allow users to interact with weaviate without auth boolean true
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_DB_USERS_ENABLED Allow runtime user management. Default: false boolean true
AUTHENTICATION_OIDC_CERTIFICATE OIDC Certificate (PEM format) string - PEM -----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----
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_INSECURE_SKIP_TLS_VERIFY Not recommended for production. When true, skips TLS certificate verification for the OIDC issuer endpoint. Only use when the OIDC issuer uses a self-signed or untrusted certificate in development or testing environments. Default: false
Added in v1.37
boolean true
AUTHENTICATION_OIDC_ISSUER OIDC Token Issuer string - URL https://myissuer.com
AUTHENTICATION_OIDC_JWKS_URL OIDC JWKS URL string - URL https://myissuer.com/.well-known/jwks.json
AUTHENTICATION_OIDC_SCOPES OIDC scopes to request string - comma-separated list openid,email
AUTHENTICATION_OIDC_SKIP_CLIENT_ID_CHECK Skip OIDC Client ID check boolean false
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
mdx-code-block
</APITable>
mdx-code-block
<APITable>
Variable Description Type Example Value
AUTHORIZATION_RBAC_ENABLED Enable RBAC authorization scheme (mutually exclusive with AUTHORIZATION_ADMINLIST_ENABLED). boolean true
AUTHORIZATION_RBAC_ROOT_USERS Users with the built-in root/administrator role when RBAC scheme used. At least one root user must be defined with RBAC. string - comma-separated list admin-user,another-admin-user
mdx-code-block
</APITable>
mdx-code-block
<APITable>
Variable Description Type Example Value
CLUSTER_ADVERTISE_ADDR Manually sets the address used to advertise the node to the cluster. Useful if the system hostname cannot be resolved via DNS (e.g., lookup errors). string 127.0.0.1
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. Default changed to true in v1.36.6. Deprecated in v1.36.6. Setting it still overrides auto-detection, but Weaviate logs a deprecation warning at startup and the variable will be removed in a future version. When it is unset, prefill behavior is governed by dynamic lazy shard loading. For collections where dynamic lazy shard loading is active, this is always overridden to false regardless of the configured value. The configured value only applies to eagerly-loaded collections. boolean true
COLLECTION_RETRIEVAL_STRATEGY Set collection definition retrieval behavior for a data request.

- LeaderOnly (default): Always requests the definition from the leader node. - LocalOnly: Always use the local definition - LeaderOnMismatch: Requests the definition if outdated. (Read more)
string LeaderOnly
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_DRAIN_SLEEP Grace period before shutdown to allow ongoing operations to complete. (Default: 200ms) string - number 2s
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
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
RAFT_TIMEOUTS_MULTIPLIER Multiplier for Raft consensus timeouts and memberlist TCP timeouts. (Default: 5) string - number 10
REPLICA_MOVEMENT_ENABLED Enable replica movement and replication operations. When enabled, the replication engine starts and REST API endpoints for replica operations become available. Default: false
Added in v1.32
boolean true
REPLICA_MOVEMENT_MINIMUM_ASYNC_WAIT How long replica movement waits after file copy but before finalizing the move in order for in progress writes to finish. Default: 60 seconds
Added in v1.32
string - number 90
REPLICATED_INDICES_REQUEST_QUEUE_ENABLED Enable/disable the request queue buffer for replicated indices in multi-node clusters. Can be modified at runtime. Default: false boolean true
REPLICATION_ENGINE_MAX_WORKERS The number of workers to process replica movements in parallel. Default: 10
Added in v1.32
string - number 5
REPLICATION_MINIMUM_FACTOR The minimum replication factor for all collections in the cluster. string - number 3
mdx-code-block
</APITable>
mdx-code-block
<APITable>
Variable Description Type Example Value
ASYNC_REPLICATION_DISABLED Disable async replication cluster-wide. When false (default), async replication runs automatically for any collection with a replication factor greater than 1. Default: false boolean false
ASYNC_REPLICATION_SCHEDULER_WORKERS Number of workers in the cluster-wide pool that run async replication work across all shards and tenants. Added in v1.38, replacing ASYNC_REPLICATION_CLUSTER_MAX_WORKERS. Default: 10, Max: 100
Read more.
string - number 10
ASYNC_REPLICATION_HASHTREE_INIT_CONCURRENCY Number of shards that may build their hash tree concurrently when async replication starts up. Added in v1.38. Default: 100
Read more.
string - number 100
ASYNC_REPLICATION_CLUSTER_MAX_WORKERS Removed in v1.38. Previously set the maximum number of concurrent async replication workers across the cluster. Replaced by ASYNC_REPLICATION_SCHEDULER_WORKERS. string - number 30
ASYNC_REPLICATION_HASHTREE_HEIGHT Height of the hash tree used for data comparison between nodes. If the height is 0 each node will store just one digest per shard. Default: 16 (single-tenant) / 10 (multi-tenant), Min: 0, Max: 20
Read more about potentially increased memory consumption.
string - number 10
ASYNC_REPLICATION_FREQUENCY Frequency of periodic data comparison between nodes. Default: 30s string - duration 60s
ASYNC_REPLICATION_FREQUENCY_WHILE_PROPAGATING Frequency of data comparison between nodes while propagation is active. Default: 3s string - duration 5s
ASYNC_REPLICATION_ALIVE_NODES_CHECKING_FREQUENCY Removed in v1.38. Previously set how often the background process checked for changes in node availability. No longer used by the async replication scheduler. string - duration 5s
ASYNC_REPLICATION_LOGGING_FREQUENCY Frequency of how often the background process logs any events. Default: 60s string - duration 7s
ASYNC_REPLICATION_DIFF_BATCH_SIZE Specifies the batch size for comparing digest information between nodes. Default: 1000, Min: 1, Max: 10000 string - number 2000
ASYNC_REPLICATION_DIFF_PER_NODE_TIMEOUT Defines the time limit a node has to provide a comparison response. Default: 10s string - duration 30s
ASYNC_REPLICATION_PRE_PROPAGATION_TIMEOUT Sets a delay before propagation begins to allow in-progress write operations to complete across nodes. Default: 5m string - duration 10m
ASYNC_REPLICATION_PROPAGATION_TIMEOUT Defines the time limit a node has to provide a propagation response. Default: 1m string - duration 2m
ASYNC_REPLICATION_PROPAGATION_LIMIT Limits the number of out-of-sync objects that can be propagated in one asynchronous replication iteration. Default: 10000, Min: 1, Max: 1000000 string - number 5000
ASYNC_REPLICATION_PROPAGATION_DELAY Sets a delay period to allow asynchronous write operations to reach all nodes in a shard/tenant before propagating new or updated objects. Default: 30s string - duration 40s
ASYNC_REPLICATION_PROPAGATION_CONCURRENCY Defines the number of workers which will concurrently propagate a batch of objects. Default: 5, Min: 1, Max: 20 string - number 10
ASYNC_REPLICATION_PROPAGATION_BATCH_SIZE Sets the maximum number of objects to propagate in a single batch. Default: 100, Min: 1, Max: 1000 string - number 200
mdx-code-block
</APITable>

Have a question or feedback? Here's how to reach us.

Suggest an edit

Propose a replacement for this page. The site team reviews it before applying any changes.

Export
Documentation menu