content-pipeline / deploy_to_hf.sh
AK1239's picture
Prepare for Hugging Face Spaces deployment
91e999e
#!/bin/bash
# This script helps deploy your application to Hugging Face Spaces
# Set your Hugging Face username and space name
read -p "Enter your Hugging Face username: " HF_USERNAME
read -p "Enter your Space name (e.g., swahili-content-generation): " SPACE_NAME
# Check if git is installed
if ! command -v git &> /dev/null; then
echo "Git is not installed. Please install git and try again."
exit 1
fi
# Check if git-lfs is installed
if ! command -v git-lfs &> /dev/null; then
echo "Git LFS is not installed. Please install git-lfs and try again."
echo "Visit https://git-lfs.github.com/ for installation instructions."
exit 1
fi
# Check if the repository exists
if [ ! -d ".git" ]; then
echo "Initializing git repository..."
git init
git lfs install
fi
# Set up Git LFS tracking for large files
echo "Setting up Git LFS for large files..."
git lfs track "data/pdfs/*.pdf"
git lfs track "data/index/*.index"
git add .gitattributes
# Rename Dockerfile.spaces to Dockerfile for Hugging Face Spaces
cp Dockerfile.spaces Dockerfile
# Add all files to git
git add .
# Commit changes
git commit -m "Prepare for Hugging Face Spaces deployment"
# Add Hugging Face Spaces as a remote
git remote add space https://huggingface.co/spaces/$HF_USERNAME/$SPACE_NAME || git remote set-url space https://huggingface.co/spaces/$HF_USERNAME/$SPACE_NAME
# Push to Hugging Face Spaces
echo "Pushing to Hugging Face Spaces..."
git push --force space main
echo "Deployment complete! Your application should be available at: https://huggingface.co/spaces/$HF_USERNAME/$SPACE_NAME"
echo "Note: It may take a few minutes for the Space to build and deploy."