From 12cc4b3617c104e3f7549044a987b11b12cdde6e Mon Sep 17 00:00:00 2001 From: Michael Schiemer Date: Fri, 31 Oct 2025 21:31:57 +0100 Subject: [PATCH] fix: Use DOCKER_HOST from runner environment for Buildx - Remove hardcoded docker-dind host reference - Buildx will use DOCKER_HOST from runner environment - Add Docker availability check - Improve error handling for Docker connection --- .gitea/workflows/production-deploy.yml | 33 +++++++++++++++++--------- 1 file changed, 22 insertions(+), 11 deletions(-) diff --git a/.gitea/workflows/production-deploy.yml b/.gitea/workflows/production-deploy.yml index c090f4b1..d82413a5 100644 --- a/.gitea/workflows/production-deploy.yml +++ b/.gitea/workflows/production-deploy.yml @@ -149,27 +149,38 @@ jobs: # Verifiziere dass Buildx verfügbar ist docker buildx version || echo "Buildx nicht gefunden, versuche Installation..." - # Wichtig: Verwende docker-dind für Buildx, damit insecure-registry-Einstellungen greifen - # Der Runner verwendet docker-dind, daher müssen wir sicherstellen, dass Buildx - # den richtigen Docker-Host verwendet (tcp://docker-dind:2375) + # Zeige aktuellen Docker-Host (vom Runner gesetzt) + echo "🔧 Aktueller DOCKER_HOST: ${DOCKER_HOST:-nicht gesetzt}" + echo "🔧 Docker-Info:" + docker info | grep -E "Server Version|Registry|Insecure" || true - # Erstelle oder verwende Buildx Builder mit explizitem Docker-Host - DOCKER_HOST="${DOCKER_HOST:-tcp://docker-dind:2375}" - export DOCKER_HOST + # Prüfe ob Docker verfügbar ist + if ! docker ps >/dev/null 2>&1; then + echo "❌ Fehler: Docker ist nicht verfügbar!" + echo "Versuche DOCKER_HOST zu setzen..." + # Der Runner setzt normalerweise DOCKER_HOST automatisch + # Falls nicht, verwende den Standard-Host + if [ -z "$DOCKER_HOST" ]; then + echo "⚠️ DOCKER_HOST nicht gesetzt - verwende Standard" + fi + fi - echo "🔧 Docker Host für Buildx: $DOCKER_HOST" - - # Erstelle Builder falls nicht vorhanden - if ! docker buildx ls | grep -q builder; then - docker buildx create --name builder --driver docker-container --use --driver-opt network=host + # Erstelle Builder mit Standard-Docker-Connection (vom Runner bereitgestellt) + # Buildx verwendet automatisch DOCKER_HOST aus der Umgebung + if ! docker buildx ls 2>/dev/null | grep -q builder; then + echo "📦 Erstelle neuen Buildx Builder..." + docker buildx create --name builder --use --driver docker-container else + echo "✅ Builder existiert bereits, verwende ihn..." docker buildx use builder fi # Bootstrap Builder + echo "🔄 Bootstrap Builder..." docker buildx inspect --bootstrap # Zeige Builder-Info + echo "📋 Builder-Status:" docker buildx ls - name: Generate image metadata