| #!/bin/bash |
| set -e |
|
|
| |
| DOCKER_USERNAME="techdaskalos" |
| IMAGE_NAME="cybersecchatbot" |
| VERSION="${1:-gpu}" |
| FULL_IMAGE="$DOCKER_USERNAME/$IMAGE_NAME:$VERSION" |
|
|
| echo "ποΈ Building GPU Docker image: $FULL_IMAGE" |
| echo "================================" |
|
|
| |
| 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..." |
|
|
| |
| 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 |
|
|