diff --git a/.gitea/workflows/production-deploy.yml b/.gitea/workflows/production-deploy.yml index e61fb2c2..869f3085 100644 --- a/.gitea/workflows/production-deploy.yml +++ b/.gitea/workflows/production-deploy.yml @@ -207,12 +207,26 @@ jobs: echo "📝 Benutzer: $REGISTRY_USER" echo "🌐 Deployment Host: $DEPLOYMENT_HOST" + # Finde das Gateway des Docker-Netzwerks (Host-IP vom Container aus) + # Job-Container laufen in docker-dind, das wiederum in einem Container läuft + # Daher müssen wir den Host vom docker-dind Container aus erreichen + HOST_IP=$(ip route | grep default | awk '{print $3}' 2>/dev/null | head -1) + if [ -z "$HOST_IP" ]; then + # Fallback: Versuche Host über bekannte Docker-Netzwerk-Gateways + HOST_IP=$(getent hosts host.docker.internal | awk '{print $1}' 2>/dev/null || echo "") + if [ -z "$HOST_IP" ]; then + HOST_IP="$DEPLOYMENT_HOST" + fi + fi + + echo "🔍 Gefundene Host-IP: ${HOST_IP:-nicht gefunden}" + # Teste verschiedene Registry-URLs REGISTRY_URLS=( - "registry:5000" # Container-Name (funktioniert wenn docker-dind Zugriff auf traefik-public hat) - "$DEPLOYMENT_HOST:5000" # Direkter Zugriff auf Host Port 5000 (HTTP) + "$DEPLOYMENT_HOST:5000" # Direkter Zugriff auf Host Port 5000 (HTTP) - sollte funktionieren "host.docker.internal:5000" # Docker Host (Mac/Windows) - "$HOST_IP:5000" # Gateway-IP (Linux) + "${HOST_IP}:5000" # Gateway-IP (Linux) + "registry:5000" # Container-Name (funktioniert wenn docker-dind Zugriff auf traefik-public hat) "$DEPLOYMENT_HOST" # Host IP (HTTPS via Traefik, falls erreichbar) "$REGISTRY_URL" # Externe Domain "registry.michaelschiemer.de" # Alternative Domain