#!/bin/bash set -e # Configuration DOCKER_USERNAME="techdaskalos" IMAGE_NAME="cybersecchatbot" VERSION="${1:-gpu}" FULL_IMAGE="$DOCKER_USERNAME/$IMAGE_NAME:$VERSION" echo "๐Ÿ—๏ธ Building GPU Docker image: $FULL_IMAGE" echo "================================" # Build the image for GPU docker buildx build --platform linux/amd64 -f Dockerfile.base.gpu -t "$FULL_IMAGE" . echo "" echo "โœ… Build complete!" echo "" echo "๐Ÿงช Testing the image locally (requires NVIDIA GPU)..." echo " Run: docker run --gpus all -p 8000:8000 $FULL_IMAGE" echo " Then visit: http://localhost:8000/test" echo "" read -p "Would you like to test locally before pushing? (y/n) " -n 1 -r echo if [[ $REPLY =~ ^[Yy]$ ]]; then echo "Starting local test server with GPU support..." echo "Press Ctrl+C to stop when done testing" docker run --gpus all -p 8000:8000 "$FULL_IMAGE" fi echo "" read -p "Push to Docker Hub? (y/n) " -n 1 -r echo if [[ $REPLY =~ ^[Yy]$ ]]; then echo "๐Ÿ“ค Pushing to Docker Hub..." # Check if logged in if ! docker info | grep -q "Username: $DOCKER_USERNAME"; then echo "Please login to Docker Hub:" docker login fi docker push "$FULL_IMAGE" echo "" echo "โœ… Successfully pushed: $FULL_IMAGE" echo "" echo "๐Ÿ“ Next steps:" echo " 1. Update your HF Space Dockerfile to:" echo " FROM $FULL_IMAGE" echo "" echo " 2. Update HF Space to use GPU hardware" echo "" echo " 3. Commit and push to HF Spaces:" echo " cp Dockerfile.gpu Dockerfile" echo " git add Dockerfile" echo " git commit -m \"Switch to GPU-enabled image: $FULL_IMAGE\"" echo " git push" echo "" echo " Your HF Space will deploy with GPU acceleration!" else echo "Skipped push. Image is ready locally as: $FULL_IMAGE" fi