Chroma's on-disk format is a SQLite + parquet pair
The chroma_store/ directory contains a SQLite metadata DB and per-collection parquet files. "Backup" means "copy this directory while the writer is paused." "Restore" means "point a fresh PersistentClient at the copied directory."
The backup recipe that survives in production
- Pause writes (or accept that writes during backup may be lost).
tar -cf chroma-$(date +%F).tar chroma_store/orrsyncto a sibling directory.- Verify by opening the copy with a fresh client and counting documents.
- Push the archive to off-host storage (S3, NAS, another Mac).
Recovery drill
Once a quarter, restore last week's backup into chroma_store_recovery/, point a script at it, and confirm that retrieval still works. A backup you have never restored from is not a backup.