#!/bin/bash # Quick deployment script for debug Docker image set -euo pipefail echo "==========================================" echo "Foxhunt Debug Image Deployment" echo "==========================================" # Configuration IMAGE_NAME="jgrusewski/foxhunt:debug" DOCKERFILE="Dockerfile.runpod.debug" # Check Docker is running if ! docker info &> /dev/null; then echo "❌ ERROR: Docker is not running" exit 1 fi echo "✓ Docker is running" # Check Dockerfile exists if [ ! -f "${DOCKERFILE}" ]; then echo "❌ ERROR: ${DOCKERFILE} not found" exit 1 fi echo "✓ Dockerfile found: ${DOCKERFILE}" # Check entrypoint_debug.sh exists if [ ! -f "entrypoint_debug.sh" ]; then echo "❌ ERROR: entrypoint_debug.sh not found" exit 1 fi echo "✓ Entrypoint script found: entrypoint_debug.sh" # Build Docker image echo "" echo "==========================================" echo "Building Debug Image" echo "==========================================" echo "Image: ${IMAGE_NAME}" echo "Dockerfile: ${DOCKERFILE}" echo "" docker build -f "${DOCKERFILE}" -t "${IMAGE_NAME}" . || { echo "❌ ERROR: Docker build failed" exit 1 } echo "" echo "✓ Image built successfully: ${IMAGE_NAME}" # Show image size IMAGE_SIZE=$(docker images "${IMAGE_NAME}" --format "{{.Size}}") echo " Size: ${IMAGE_SIZE}" # Push to Docker Hub echo "" echo "==========================================" echo "Pushing to Docker Hub" echo "==========================================" echo "Image: ${IMAGE_NAME}" echo "" echo "NOTE: Ensure you are logged in to Docker Hub:" echo " docker login -u jgrusewski" echo "" read -p "Press Enter to push image (Ctrl+C to cancel)..." docker push "${IMAGE_NAME}" || { echo "❌ ERROR: Docker push failed" echo "" echo "Try logging in first:" echo " docker login -u jgrusewski" exit 1 } echo "" echo "✓ Image pushed successfully: ${IMAGE_NAME}" # Summary echo "" echo "==========================================" echo "Deployment Summary" echo "==========================================" echo "✓ Debug image deployed: ${IMAGE_NAME}" echo "✓ Image size: ${IMAGE_SIZE}" echo "✓ Available on Docker Hub (PRIVATE)" echo "" echo "Next Steps:" echo " 1. Go to RunPod console" echo " 2. Create new pod with image: ${IMAGE_NAME}" echo " 3. Enable Docker Hub authentication (jgrusewski)" echo " 4. Mount volume: /runpod-volume" echo " 5. Set BINARY_NAME=train_tft_parquet" echo " 6. Check logs for crash diagnostics" echo "" echo "See AGENT_3_DEBUG_DEPLOYMENT_GUIDE.md for detailed instructions."