From 8fb2736a07acd9fedf02b07ba1d611a6f33b4834 Mon Sep 17 00:00:00 2001 From: Michael Schiemer Date: Fri, 31 Oct 2025 21:22:55 +0100 Subject: [PATCH] fix: Prioritize HTTPS registry and configure Buildx for insecure registry - Prioritize registry.michaelschiemer.de (HTTPS) over HTTP endpoints - Configure Buildx to use docker-dind with insecure-registry support - Ensure Buildx respects insecure-registry settings from docker-dind - Fix 'http: server gave HTTP response to HTTPS client' error --- .gitea/workflows/production-deploy.yml | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) 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