diff --git a/.gitea/workflows/production-deploy.yml b/.gitea/workflows/production-deploy.yml index 5e75e246..680b3f61 100644 --- a/.gitea/workflows/production-deploy.yml +++ b/.gitea/workflows/production-deploy.yml @@ -148,15 +148,28 @@ jobs: # Verifiziere dass Buildx verfügbar ist docker buildx version || echo "Buildx nicht gefunden, versuche Installation..." - # Erstelle oder verwende Buildx Builder + # 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) + + # Erstelle oder verwende Buildx Builder mit explizitem Docker-Host + DOCKER_HOST="${DOCKER_HOST:-tcp://docker-dind:2375}" + export DOCKER_HOST + + 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 --use + docker buildx create --name builder --driver docker-container --use --driver-opt network=host else docker buildx use builder fi # Bootstrap Builder docker buildx inspect --bootstrap + + # Zeige Builder-Info + docker buildx ls - name: Generate image metadata id: meta @@ -222,14 +235,15 @@ jobs: echo "🔍 Gefundene Host-IP: ${HOST_IP:-nicht gefunden}" # Teste verschiedene Registry-URLs + # PRIORITÄT: HTTPS-Registry zuerst (keine insecure-registry nötig, funktioniert mit Buildx) REGISTRY_URLS=( - "$DEPLOYMENT_HOST:5000" # Direkter Zugriff auf Host Port 5000 (HTTP) - sollte funktionieren + "registry.michaelschiemer.de" # HTTPS via Traefik (empfohlen für Buildx) + "$REGISTRY_URL" # Externe Domain (falls gesetzt) + "$DEPLOYMENT_HOST" # Host IP (HTTPS via Traefik, falls erreichbar) + "$DEPLOYMENT_HOST:5000" # Direkter HTTP-Zugriff auf Host Port 5000 (Fallback) "host.docker.internal:5000" # Docker Host (Mac/Windows) "${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 ) LOGIN_SUCCESS=false