Spaces:
Paused
Paused
| # One-shot deploy of this project to a Hugging Face Space. | |
| # | |
| # Prereqs: | |
| # 1. Create an empty Space at https://huggingface.co/new-space | |
| # (SDK: Streamlit, hardware: CPU basic - free) | |
| # 2. Get a HF access token (write scope) from | |
| # https://huggingface.co/settings/tokens | |
| # | |
| # Usage: | |
| # HF_TOKEN=hf_xxx HF_USERNAME=yourname HF_SPACE=arabic-rag-optimizer \ | |
| # bash scripts/deploy_hf.sh | |
| set -euo pipefail | |
| : "${HF_TOKEN:?Set HF_TOKEN to your Hugging Face access token}" | |
| : "${HF_USERNAME:?Set HF_USERNAME to your Hugging Face username}" | |
| : "${HF_SPACE:?Set HF_SPACE to your Space slug, e.g. arabic-rag-optimizer}" | |
| SPACE_URL="https://huggingface.co/spaces/${HF_USERNAME}/${HF_SPACE}" | |
| REMOTE_URL="https://user:${HF_TOKEN}@huggingface.co/spaces/${HF_USERNAME}/${HF_SPACE}" | |
| TMPDIR=$(mktemp -d) | |
| echo "Staging deploy in $TMPDIR" | |
| # Copy only what the Space needs (skip venv, results, data, git metadata). | |
| rsync -a --exclude 'venv' --exclude '.git' --exclude '__pycache__' \ | |
| --exclude 'results' --exclude 'data' --exclude '.env' \ | |
| ./ "$TMPDIR/" | |
| # The Space's README needs the YAML frontmatter — swap it in. | |
| cp SPACE_README.md "$TMPDIR/README.md" | |
| cd "$TMPDIR" | |
| git init -q | |
| git checkout -q -b main | |
| git add . | |
| git commit -q -m "Deploy Arabic RAG Optimizer" | |
| git remote add space "$REMOTE_URL" | |
| git push -f space main | |
| echo "" | |
| echo "Deployed. Now set your backend secrets in the Space UI:" | |
| echo " $SPACE_URL -> Settings -> Variables and secrets" | |
| echo " VLLM_API_URL, VLLM_MODEL_NAME, VLLM_API_KEY" | |
| echo "" | |
| echo "Space: $SPACE_URL" | |