Quick Start
The fastest way to get Chroma running with Docker:Docker Compose (Recommended)
Basic Setup with Persistence
Create adocker-compose.yml file:
Production Configuration
For production deployments, use the configuration from the Chroma repository:Environment File
Create a.env file in the same directory:
Building from Source
Chroma’s official Dockerfile uses a multi-stage build process:Dockerfile Overview
The Dockerfile (Dockerfile in the repository root) creates a production-ready image:
Build Custom Image
Build Arguments
Environment Variables
Server Configuration
Persistence
Authentication
Observability
Volume Mounts and Persistence
Data Directory
The default persist directory depends on the configuration: Python-based image (ghcr.io/chroma-core/chroma):Custom Persist Directory
Backup Data
Docker Commands
Basic Operations
Maintenance
Healthcheck
The official configuration includes a healthcheck:Restart Policies
Configured restart behavior:Networking
Custom Network
Expose to External Network
Entrypoint Script
The Docker entrypoint (/docker_entrypoint.sh) handles service startup:
Troubleshooting
Container Fails to Start
Data Not Persisting
VerifyIS_PERSISTENT=TRUE is set and volume is mounted:
Performance Issues
Increase worker count for better concurrency:Next Steps
Configuration
Learn about advanced configuration options
Authentication
Set up authentication and authorization
Kubernetes
Scale to Kubernetes for production
Observability
Monitor your Chroma deployment