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
- Start —
docker compose up -d - Test — Tests create ChromaDB collections, ingest documents
- Reset —
docker compose down -vdestroys volumes - Repeat — Start again with a clean state
Reset Commands¶
Full Reset (Recommended)¶
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¶
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¶
- Teardown — Full cleanup including images
- Quick Start — The reset→test workflow
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.
- Teardown — Destroying the lab entirely
- Quick Start — The restore→test workflow