From 781b9e7cdcaa57e13f42673aa0a23b80317bf77a Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 18 Jun 2026 13:57:28 +0000 Subject: [PATCH] Fix install-local-gpu.sh running its entire setup body twice Commit 5c85987 appended a second copy of the toolkit-install/DNS-fix/ GPU-verify steps instead of inserting the new prerequisite-checks section once. Removed the duplicate, keeping the more informative GPU-check failure message from the second copy. --- install-local-gpu.sh | 82 -------------------------------------------- 1 file changed, 82 deletions(-) diff --git a/install-local-gpu.sh b/install-local-gpu.sh index 41b0793..bb6be1d 100755 --- a/install-local-gpu.sh +++ b/install-local-gpu.sh @@ -147,88 +147,6 @@ echo "✓ Docker restarted" systemctl start docker-dns-fix.service echo "✓ DNS fix applied" -# ── 5. Verify GPU access ───────────────────────────────────────────────────── -echo "" -echo "Verifying GPU access inside Docker..." -if docker run --rm --gpus all nvidia/cuda:12.1.0-base-ubuntu22.04 nvidia-smi &>/dev/null; then - echo "✓ GPU is accessible inside Docker" -else - echo "⚠ GPU check failed. Try rebooting if the driver was just installed." - echo " Manual check: nvidia-smi" -fi - -echo "" -echo "==================================================" -echo " Setup complete." -echo " Start the app with: ./bring-up-local-gpu.sh" -echo "==================================================" - -if command -v nvidia-ctk &>/dev/null; then - echo "✓ nvidia-container-toolkit already installed — skipping" -else - echo "Installing nvidia-container-toolkit..." - . /etc/os-release - case "$ID" in - ubuntu|debian) - curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey \ - | gpg --dearmor -o /usr/share/keyrings/nvidia-ctk.gpg - curl -fsSL "https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list" \ - | sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-ctk.gpg] https://#g' \ - | tee /etc/apt/sources.list.d/nvidia-container-toolkit.list - apt-get update -qq - apt-get install -y nvidia-container-toolkit - ;; - rhel|fedora|rocky|centos|almalinux) - dnf install -y nvidia-container-toolkit - ;; - *) - echo "⚠ Unrecognised distro ($ID). Install nvidia-container-toolkit manually." - echo " See: https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html" - ;; - esac -fi - -nvidia-ctk runtime configure --runtime=docker - -# ── 2. Permanent Docker DNS fix via systemd ─────────────────────────────────── -# Adds a rule to the DOCKER-USER iptables chain so containers can resolve -# hostnames. Runs after docker.service on every boot. Does NOT touch ufw. -echo "" -echo "Installing docker-dns-fix systemd service..." - -cat > /etc/systemd/system/docker-dns-fix.service << 'EOF' -[Unit] -Description=Allow Docker containers to resolve DNS (DOCKER-USER iptables rule) -After=docker.service -Requires=docker.service -BindsTo=docker.service - -[Service] -Type=oneshot -ExecStart=/bin/sh -c \ - 'iptables -C DOCKER-USER -p udp --dport 53 -j ACCEPT 2>/dev/null || \ - iptables -I DOCKER-USER -p udp --dport 53 -j ACCEPT' -RemainAfterExit=yes - -[Install] -WantedBy=multi-user.target -EOF - -systemctl daemon-reload -systemctl enable docker-dns-fix.service -echo "✓ docker-dns-fix.service installed and enabled" - -# ── 3. Restart Docker ───────────────────────────────────────────────────────── -echo "" -echo "Restarting Docker..." -systemctl restart docker -sleep 2 -echo "✓ Docker restarted" - -# ── 4. Apply DNS rule now (don't wait for next boot) ───────────────────────── -systemctl start docker-dns-fix.service -echo "✓ DNS fix applied" - # ── 5. Verify GPU access ───────────────────────────────────────────────────── echo "" echo "Verifying GPU access inside Docker..."