Skip to content

Reset

Between test runs, you need to reset ChromaDB to a clean state. Docker Compose makes this straightforward — destroy the volume and restart.


Core Workflow

graph LR
    U["docker compose up -d"] --> T["Run tests"]
    T --> D["docker compose down -v"]
    D --> U
  1. Startdocker compose up -d
  2. Test — Tests create ChromaDB collections, ingest documents
  3. Resetdocker compose down -v destroys volumes
  4. Repeat — Start again with a clean state

Reset Commands

# Stop containers and delete all data
docker compose down -v

# Start fresh
docker compose up -d

This removes the chromadb-data volume, giving you a clean ChromaDB instance with no collections.

Partial Reset (ChromaDB Only)

If you want to keep containers running and just clear ChromaDB:

# Delete all collections via API
for coll in $(curl -sf http://localhost:8000/api/v1/collections | jq -r '.[].name'); do
  curl -sf -X DELETE "http://localhost:8000/api/v1/collections/${coll}"
  echo "Deleted: ${coll}"
done

Restart Without Data Loss

# Restart containers, keep volumes
docker compose restart

What Gets Reset

Component down -v restart
ChromaDB data Deleted Kept
Container state Removed Restarted
Pipeline images Kept Kept
Ollama models (host) Kept Kept
Reports (host) Kept Kept

When to Reset

Scenario Action
Between test runs docker compose down -v && docker compose up -d
After code changes docker compose up -d --build <service>
Something broke docker compose down -v && docker compose up -d
Change model/config Update .env, then docker compose down && docker compose up -d

Next Steps


Legacy: Proxmox Snapshots

The original Proxmox deployment used qm snapshot 260 lab-ready to capture the full VM state (disk, memory, config) and qm rollback 260 lab-ready to restore. This provided atomic point-in-time restore of all services, data, and configuration. The make snapshot / make restore targets still work for Proxmox environments.