telebot / deploy.sh
Esmaill1
Add AI Quiz Bot files
92d6323
#!/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 ""