diff --git a/doktor.sh b/doktor.sh new file mode 100755 index 0000000..1c509c0 --- /dev/null +++ b/doktor.sh @@ -0,0 +1,63 @@ +#!/bin/bash +# 🦉 Crumbforest Doktor +# Findet den Krümel an der Wurzel (System Check) + +set -e + +echo "" +echo "🌲 Crumbforest Doktor v1.0" +echo "================================================" + +# 1. Root Check +echo -n "🔍 Prüfe Wurzel-Verzeichnis... " +if [ -f "crumbforest_config.json" ]; then + echo "✅ OK (Config gefunden)" +else + echo "❌ FEHLER (crumbforest_config.json fehlt!)" + exit 1 +fi + +# 2. Environment +echo -n "🔐 Prüfe Secrets (.env)... " +if [ -f "compose/.env" ]; then + echo "✅ OK" +else + echo "⚠️ WARNUNG (compose/.env fehlt - Default Werte werden genutzt?)" +fi + +# 3. Docker Status +echo -n "🐳 Prüfe Container... " +if docker compose -f compose/docker-compose.yml ps | grep -q "Up"; then + echo "✅ OK (Services laufen)" +else + echo "❌ FEHLER (Container laufen nicht -> ./start.sh)" +fi + +# 4. API Health +echo -n "💓 Prüfe Herzschlag (API)... " +if curl -s http://localhost:8000/health > /dev/null; then + echo "✅ OK (Alive)" +else + echo "❌ FEHLER (API nicht erreichbar auf Port 8000)" +fi + +# 5. Qdrant +echo -n "🧠 Prüfe Gedächtnis (Qdrant)..." +if curl -s http://localhost:6333/readyz > /dev/null; then + echo "✅ OK (Ready)" +else + echo "⚠️ WARNUNG (Qdrant nicht erreichbar auf Port 6333)" +fi + +# 6. Git Status +echo -n "octocat Prüfe Git Status... " +if git status --porcelain | grep -q .; then + echo "📝 UNCOMMITTED CHANGES" +else + echo "✨ CLEAN" +fi + +echo "================================================" +echo "🦉 Diagnose abgeschlossen." +echo " Der Krümel ist sicher." +echo ""