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. |
| 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 Chromav1.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