#!/bin/bash
# Script zum Reparieren des Docker-Netzwerks hoerdle_default
# Dieses Script behebt die Warnung über falsche Netzwerk-Labels

set -e

echo "🔧 Repariere Docker-Netzwerk hoerdle_default..."

# Prüfe, ob Container laufen
RUNNING_CONTAINERS=$(docker ps --filter "network=hoerdle_default" --format "{{.Names}}" | wc -l)

if [ "$RUNNING_CONTAINERS" -gt 0 ]; then
    echo "⚠️  Warnung: Es laufen noch Container, die das Netzwerk nutzen."
    echo "📋 Container, die betroffen sind:"
    docker ps --filter "network=hoerdle_default" --format "  - {{.Names}}"
    echo ""
    echo "Möchtest du fortfahren? Die Container müssen neu gestartet werden. (j/n)"
    read -r response
    if [ "$response" != "j" ] && [ "$response" != "J" ]; then
        echo "❌ Abgebrochen."
        exit 1
    fi
    
    echo "🛑 Stoppe Container..."
    docker compose down || true
    if [ -f "docker-compose.caddy.yml" ]; then
        docker compose -f docker-compose.caddy.yml down || true
    fi
fi

# Prüfe, ob Netzwerk existiert
if docker network ls | grep -q "hoerdle_default"; then
    echo "🗑️  Lösche altes Netzwerk..."
    docker network rm hoerdle_default || {
        echo "❌ Netzwerk konnte nicht gelöscht werden. Möglicherweise sind noch Container verbunden."
        echo "   Versuche, alle Container zu trennen..."
        docker network disconnect hoerdle_default $(docker ps -q --filter "network=hoerdle_default") 2>/dev/null || true
        sleep 2
        docker network rm hoerdle_default || {
            echo "❌ Netzwerk konnte immer noch nicht gelöscht werden."
            echo "   Bitte manuell prüfen: docker network inspect hoerdle_default"
            exit 1
        }
    }
fi

echo "✨ Netzwerk erfolgreich gelöscht."
echo "📝 Das Netzwerk wird beim nächsten 'docker compose up' automatisch neu erstellt."
echo ""
echo "✅ Fertig! Du kannst jetzt 'docker compose up -d' ausführen."

