Chroma Configuration ↗
noOriginal Documentation
Documentation Index#
Fetch the complete documentation index at: https://docs.trychroma.com/llms.txt Use this file to discover all available pages before exploring further.
Environment variables when self-hosting a Chroma server.
Self-hosted Chroma servers have configurations that can be used to change telemetry destinations, host and port, and other behaviors.
Chroma can be configured through YAML and environment variables.
Current Operator-Facing Env Vars#
These are the main environment variables for a current self-hosted Chroma server.
| Env var | What it controls | Default or notes |
|---|---|---|
CHROMA_PERSIST_PATH | Directory used for persisted data | Default: ./chroma in the frontend config. Container deployments typically mount /data. |
CHROMA_ALLOW_RESET | Enables destructive reset operations | Default: false. |
CHROMA_PORT | HTTP port for the frontend server | Default: 8000. |
CHROMA_LISTEN_ADDRESS | Bind address for the frontend server | Default: 0.0.0.0. |
CHROMA_MAX_PAYLOAD_SIZE_BYTES | Maximum request payload size | Default: 41943040 (40 MiB). |
CHROMA_CORS_ALLOW_ORIGINS | Allowed CORS origins | Current config key accepts a list, for example ["*"]. |
CHROMA_SQLITEDB__MIGRATION_MODE | SQLite migration mode | Allowed values: apply, validate. Default: apply. |
CHROMA_SQLITEDB__HASH_TYPE | SQLite migration hash algorithm | Allowed values: md5, sha256. Default: md5. |
CHROMA_SQLITE_FILENAME | SQLite file name under the persist path | Default: chroma.sqlite3. |
These are specifically for OpenTelemetry:
| Env var | What it controls | Default or notes |
|---|---|---|
CHROMA_OPEN_TELEMETRY__ENDPOINT | OpenTelemetry OTLP endpoint | Used for traces in current deploy docs. |
CHROMA_OPEN_TELEMETRY__SERVICE_NAME | OpenTelemetry service name | Default: chromadb. |
OTEL_EXPORTER_OTLP_HEADERS | OTLP exporter headers | Commonly used for auth headers when sending traces. |
Legacy Auth Settings#
Built-in auth changed significantly before the Rust rewrite, and Chroma v1.0.0 no
longer ships built-in authentication implementations. You may still see these variables
in older examples and migration notes:
CHROMA_SERVER_AUTHN_PROVIDERCHROMA_SERVER_AUTHN_CREDENTIALSCHROMA_SERVER_AUTHN_CREDENTIALS_FILECHROMA_SERVER_AUTHZ_PROVIDERCHROMA_SERVER_AUTHZ_CONFIGCHROMA_SERVER_AUTHZ_CONFIG_FILECHROMA_AUTH_TOKEN_TRANSPORT_HEADER
Treat these as historical unless you are intentionally working with older Python-era server configurations.
Built with Mintlify.