#!/bin/bash # Deployment Helper Script for AI Quiz Bot set -e echo "๐Ÿš€ AI Quiz Bot - Deployment Helper" echo "==================================" echo "" # Check if Docker is installed if ! command -v docker &> /dev/null; then echo "โŒ Docker is not installed. Please install Docker first." echo " Visit: https://www.docker.com/products/docker-desktop" exit 1 fi echo "โœ… Docker is installed" # Menu echo "" echo "What would you like to do?" echo "1) Build Docker image locally" echo "2) Run Docker container (docker-compose)" echo "3) Stop Docker container" echo "4) View logs" echo "5) Clean up (remove images/containers)" echo "6) Deploy to Hugging Face Spaces (prepare files)" echo "" read -p "Choose option (1-6): " choice case $choice in 1) echo "" echo "๐Ÿ”จ Building Docker image..." docker build -t aiquiz-bot:latest . echo "โœ… Build complete!" echo "" echo "Next, run: docker-compose up" ;; 2) echo "" echo "๐Ÿš€ Starting Docker container..." docker-compose up -d echo "โœ… Container started!" echo "" echo "View logs: docker-compose logs -f" echo "Stop container: docker-compose down" ;; 3) echo "" echo "โน๏ธ Stopping Docker container..." docker-compose down echo "โœ… Container stopped!" ;; 4) echo "" echo "๐Ÿ“‹ Showing logs..." docker-compose logs -f ;; 5) echo "" echo "๐Ÿงน Cleaning up..." docker-compose down -v docker rmi aiquiz-bot:latest 2>/dev/null || true echo "โœ… Cleanup complete!" ;; 6) echo "" echo "๐Ÿ“ฆ Preparing files for Hugging Face Spaces..." echo "" echo "Files to upload to HF Spaces:" echo " โœ… bot.py" echo " โœ… Dockerfile" echo " โœ… requirements.txt" echo " โœ… README.md" echo " โŒ .env (DON'T upload - use HF Secrets instead)" echo "" echo "Steps:" echo " 1. Create space at: https://huggingface.co/new-space" echo " 2. Select Docker as SDK" echo " 3. Push files to HF repo" echo " 4. Add secrets in Space settings:" echo " - TELEGRAM_BOT_TOKEN" echo " - OLLAMA_HOST" echo " - OLLAMA_API_KEY" echo " - VISION_MODEL" echo " - CHAT_MODEL" echo "" echo "More info: Read DEPLOYMENT.md" ;; *) echo "โŒ Invalid option!" exit 1 ;; esac echo ""