ResearchCopilot / deploy.sh
Ajey95
commit final files
4b88321
#!/bin/bash
# ResearchCopilot Deployment Script
# Gradio MCP Hackathon 2025 - Track 3
echo "πŸ€– ResearchCopilot Deployment Script"
echo "===================================="
# Check if Modal is installed
if ! command -v modal &> /dev/null; then
echo "❌ Modal CLI not found. Installing..."
pip install modal
echo "βœ… Modal installed"
fi
# Check if user is authenticated with Modal
if ! modal token list &> /dev/null; then
echo "πŸ” Setting up Modal authentication..."
modal setup
fi
# Create Modal secrets if they don't exist
echo "πŸ”§ Setting up Modal secrets..."
# Check if secrets exist
if modal secret list | grep -q "research-copilot-secrets"; then
echo "βœ… Secrets already exist"
else
echo "πŸ“ Creating new secrets..."
echo "Please enter your API keys (press Enter to skip):"
read -p "Perplexity API Key: " PERPLEXITY_KEY
read -p "Google API Key: " GOOGLE_KEY
read -p "Google Search Engine ID: " GOOGLE_ENGINE_ID
read -p "Anthropic API Key: " ANTHROPIC_KEY
read -p "OpenAI API Key (optional): " OPENAI_KEY
# Create the secret
modal secret create research-copilot-secrets \
${PERPLEXITY_KEY:+PERPLEXITY_API_KEY="$PERPLEXITY_KEY"} \
${GOOGLE_KEY:+GOOGLE_API_KEY="$GOOGLE_KEY"} \
${GOOGLE_ENGINE_ID:+GOOGLE_SEARCH_ENGINE_ID="$GOOGLE_ENGINE_ID"} \
${ANTHROPIC_KEY:+ANTHROPIC_API_KEY="$ANTHROPIC_KEY"} \
${OPENAI_KEY:+OPENAI_API_KEY="$OPENAI_KEY"}
echo "βœ… Secrets created successfully"
fi
# Deploy to Modal
echo "πŸš€ Deploying ResearchCopilot to Modal..."
modal deploy modal_app.py
if [ $? -eq 0 ]; then
echo "βœ… Deployment successful!"
echo ""
echo "πŸŽ‰ ResearchCopilot is now live!"
echo "πŸ“± Your app will be available at the URL provided by Modal"
echo "πŸ“Š Monitor your app: modal app list"
echo "πŸ“ View logs: modal app logs research-copilot"
echo ""
echo "πŸ† Ready for Hackathon submission!"
echo "πŸ“‹ Don't forget to:"
echo " 1. Create your demo video"
echo " 2. Update README with live demo URL"
echo " 3. Submit to Agents-MCP-Hackathon organization"
else
echo "❌ Deployment failed. Check the logs above for details."
exit 1
fi