From 80c647504f0356d109a7618649fa4f44878e48e5 Mon Sep 17 00:00:00 2001 From: pi-farm Date: Wed, 24 Sep 2025 22:53:07 +0200 Subject: [PATCH] function install_docker_and_buildx --- scripts/image-builder.sh | 30 ++++++++++++++++++++++++++---- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/scripts/image-builder.sh b/scripts/image-builder.sh index c93ab6e..aef0241 100755 --- a/scripts/image-builder.sh +++ b/scripts/image-builder.sh @@ -33,7 +33,7 @@ config_menu() { while true; do choice=$(whiptail --title "Konfiguration" --menu "Bitte wählen:" 20 70 10 \ 1 "Abhängigkeiten installieren (docker, git, jq, whiptail)" \ - 2 "Docker installieren & Buildx-Builder einrichten" \ + 2 "Docker Buildx-Builder einrichten" \ 3 "Globalen Editor setzen" \ 0 "Zurück" \ 3>&1 1>&2 2>&3) || return @@ -54,13 +54,35 @@ install_dependencies() { } install_docker_and_buildx() { - whiptail --msgbox "Docker Buildx-Builder wird eingerichtet..." 10 70 + # Prüfen ob Docker installiert ist + if ! command -v docker >/dev/null 2>&1; then + whiptail --msgbox "Docker ist nicht installiert! Bitte zuerst über 'Abhängigkeiten installieren' einrichten." 10 70 + return + fi + + # Prüfen ob Buildx verfügbar ist + if ! docker buildx version >/dev/null 2>&1; then + whiptail --msgbox "Docker Buildx-Plugin fehlt! Installiere Buildx..." 10 70 + mkdir -p ~/.docker/cli-plugins + BUILDX_URL="https://github.com/docker/buildx/releases/latest/download/buildx-$(uname -s)-$(uname -m)" + curl -sSL "$BUILDX_URL" -o ~/.docker/cli-plugins/docker-buildx + chmod +x ~/.docker/cli-plugins/docker-buildx + fi + + # Prüfen ob Builder existiert if ! docker buildx inspect multiarch-builder >/dev/null 2>&1; then + whiptail --msgbox "Richte Buildx-Builder ein..." 10 70 docker run --rm --privileged tonistiigi/binfmt --install all docker buildx create --name multiarch-builder --use - docker buildx inspect --bootstrap + docker buildx inspect --bootstrap >/dev/null 2>&1 + fi + + # Finalmeldung + if docker buildx inspect multiarch-builder >/dev/null 2>&1; then + whiptail --msgbox "Buildx-Builder erfolgreich eingerichtet." 10 70 + else + whiptail --msgbox "Fehler: Buildx-Builder konnte nicht eingerichtet werden!" 10 70 fi - whiptail --msgbox "Buildx-Builder eingerichtet." 10 70 } set_editor() {