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
This commit is contained in:
2025-10-31 21:22:55 +01:00
parent aabb5a82fe
commit 8fb2736a07

View File

@@ -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