Spaces:
Configuration error
Configuration error
| # Script de despliegue automatizado para HuggingFace Spaces | |
| # Osorno Runners - Sistema de Entrenamiento | |
| echo "========================================" | |
| echo "🏃 OSORNO RUNNERS - DEPLOY TO HUGGINGFACE" | |
| echo "========================================" | |
| echo "" | |
| # Colores | |
| RED='\033[0;31m' | |
| GREEN='\033[0;32m' | |
| YELLOW='\033[1;33m' | |
| NC='\033[0m' # No Color | |
| # Verificar que Git esté instalado | |
| if ! command -v git &> /dev/null; then | |
| echo -e "${RED}❌ Git no está instalado${NC}" | |
| echo "Instala Git desde: https://git-scm.com/" | |
| exit 1 | |
| fi | |
| echo -e "${GREEN}✅ Git encontrado${NC}" | |
| # Solicitar información al usuario | |
| echo "" | |
| echo "Necesito algunos datos para el despliegue:" | |
| echo "" | |
| read -p "Tu usuario de HuggingFace: " HF_USER | |
| read -p "Nombre del Space (ejemplo: osorno-runners): " SPACE_NAME | |
| if [ -z "$HF_USER" ] || [ -z "$SPACE_NAME" ]; then | |
| echo -e "${RED}❌ Usuario y nombre del Space son obligatorios${NC}" | |
| exit 1 | |
| fi | |
| REPO_URL="https://huggingface.co/spaces/$HF_USER/$SPACE_NAME" | |
| echo "" | |
| echo "Configuración:" | |
| echo " Usuario: $HF_USER" | |
| echo " Space: $SPACE_NAME" | |
| echo " URL: $REPO_URL" | |
| echo "" | |
| read -p "¿Es correcto? (s/n): " CONFIRM | |
| if [ "$CONFIRM" != "s" ] && [ "$CONFIRM" != "S" ]; then | |
| echo -e "${YELLOW}❌ Despliegue cancelado${NC}" | |
| exit 0 | |
| fi | |
| # Verificar archivos necesarios | |
| echo "" | |
| echo "Verificando archivos..." | |
| REQUIRED_FILES=("app.py" "index.html" "requirements.txt" "README.md") | |
| MISSING_FILES=() | |
| for file in "${REQUIRED_FILES[@]}"; do | |
| if [ ! -f "$file" ]; then | |
| MISSING_FILES+=("$file") | |
| fi | |
| done | |
| if [ ${#MISSING_FILES[@]} -ne 0 ]; then | |
| echo -e "${RED}❌ Archivos faltantes:${NC}" | |
| for file in "${MISSING_FILES[@]}"; do | |
| echo " - $file" | |
| done | |
| exit 1 | |
| fi | |
| echo -e "${GREEN}✅ Todos los archivos presentes${NC}" | |
| # Clonar el repositorio del Space | |
| echo "" | |
| echo "Clonando Space..." | |
| if [ -d "$SPACE_NAME" ]; then | |
| echo -e "${YELLOW}⚠️ El directorio $SPACE_NAME ya existe${NC}" | |
| read -p "¿Eliminarlo y continuar? (s/n): " DELETE_CONFIRM | |
| if [ "$DELETE_CONFIRM" == "s" ] || [ "$DELETE_CONFIRM" == "S" ]; then | |
| rm -rf "$SPACE_NAME" | |
| else | |
| echo -e "${YELLOW}❌ Despliegue cancelado${NC}" | |
| exit 0 | |
| fi | |
| fi | |
| git clone "$REPO_URL" "$SPACE_NAME" | |
| if [ $? -ne 0 ]; then | |
| echo -e "${RED}❌ Error al clonar el repositorio${NC}" | |
| echo "Asegúrate de:" | |
| echo " 1. Haber creado el Space en HuggingFace" | |
| echo " 2. Tener acceso al Space" | |
| echo " 3. Usar las credenciales correctas" | |
| exit 1 | |
| fi | |
| echo -e "${GREEN}✅ Space clonado${NC}" | |
| # Copiar archivos | |
| echo "" | |
| echo "Copiando archivos al Space..." | |
| cp app.py "$SPACE_NAME/" | |
| cp index.html "$SPACE_NAME/" | |
| cp requirements.txt "$SPACE_NAME/" | |
| cp README.md "$SPACE_NAME/" | |
| if [ -f ".gitignore" ]; then | |
| cp .gitignore "$SPACE_NAME/" | |
| fi | |
| echo -e "${GREEN}✅ Archivos copiados${NC}" | |
| # Commit y push | |
| echo "" | |
| echo "Haciendo deploy..." | |
| cd "$SPACE_NAME" | |
| git add . | |
| git commit -m "Deploy Osorno Runners v1.0" | |
| echo "" | |
| echo "Subiendo a HuggingFace..." | |
| echo "(Se te pedirán tus credenciales de HuggingFace)" | |
| echo "" | |
| git push | |
| if [ $? -ne 0 ]; then | |
| echo -e "${RED}❌ Error al hacer push${NC}" | |
| echo "Verifica tus credenciales de HuggingFace" | |
| exit 1 | |
| fi | |
| cd .. | |
| # Limpiar | |
| echo "" | |
| read -p "¿Eliminar directorio temporal $SPACE_NAME? (s/n): " CLEANUP | |
| if [ "$CLEANUP" == "s" ] || [ "$CLEANUP" == "S" ]; then | |
| rm -rf "$SPACE_NAME" | |
| echo -e "${GREEN}✅ Directorio limpiado${NC}" | |
| fi | |
| # Éxito | |
| echo "" | |
| echo "========================================" | |
| echo -e "${GREEN}🎉 ¡DESPLIEGUE EXITOSO!${NC}" | |
| echo "========================================" | |
| echo "" | |
| echo "Tu aplicación estará lista en 1-3 minutos en:" | |
| echo -e "${GREEN}$REPO_URL${NC}" | |
| echo "" | |
| echo "Credenciales de prueba:" | |
| echo " Usuario: USER / Password: 123" | |
| echo " Admin: ADMIN / Password: 123" | |
| echo "" | |
| echo "¡Felicidades! 🏃♂️" | |
| echo "" | |