Verification¶
After starting the stack, verify all services are healthy.
Health Check Checklist¶
| # | Check | Method | Pass Criteria |
|---|---|---|---|
| 1 | Docker containers | docker compose ps |
All containers running |
| 2 | ChromaDB | curl localhost:8000/api/v2/heartbeat |
HTTP 200 |
| 3 | Ollama | curl localhost:11434/api/tags |
HTTP 200 + models listed |
| 4 | LangChain | curl localhost:8100/health |
{"status": "ok"} |
| 5 | LlamaIndex | curl localhost:8101/health |
{"status": "ok"} |
| 6 | Unstructured | curl localhost:8102/health |
{"status": "ok"} |
| 7 | Haystack | curl localhost:8103/health |
{"status": "ok"} |
| 8 | ColPALI | curl localhost:8104/health |
{"status": "ok"} |
Quick Verification Script¶
#!/bin/bash
echo "=== Container Status ==="
docker compose ps --format "table {{.Name}}\t{{.Status}}"
echo ""
echo "=== Service Health ==="
for port in 8000 8100 8101 8102 8103 8104; do
name=$(curl -sf "http://localhost:${port}/health" | jq -r '.framework // "chromadb"' 2>/dev/null)
if [[ -n "$name" ]]; then
echo "[✓] ${name} :${port}"
else
echo "[✗] :${port} — DOWN"
fi
done
echo ""
echo "=== Ollama ==="
curl -sf http://localhost:11434/api/tags | jq -r '.models[].name' 2>/dev/null || echo "[✗] Ollama unreachable"
Debugging Failures¶
Container not starting¶
# Check container logs
docker compose logs langchain-rag
# Check if image built successfully
docker compose build langchain-rag
# Check container status
docker compose ps -a
ChromaDB health fails¶
# Container may still be starting — wait for healthcheck
docker compose ps chromadb
# Check logs
docker compose logs chromadb
Pipeline returns 503¶
# Usually means ChromaDB or Ollama is unreachable
docker compose logs langchain-rag | tail -20
# Verify Ollama is running on host
curl http://localhost:11434/api/tags
Ollama check fails¶
Health Response Formats¶
ChromaDB¶
Ollama¶
Pipeline Services¶
Next Steps¶
- Troubleshooting — Common issues and fixes
- Deployment — Starting and stopping the stack