Spaces:
Paused
Paused
File size: 4,130 Bytes
5a81b95 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 | #!/bin/bash
# AUTONOMOUS DEPLOYMENT RECOVERY SCRIPT
# This script will be executed if GitHub Actions fails
set -e
echo "π§ AUTONOMOUS RECOVERY MODE"
echo "This script deploys directly without GitHub Actions"
# Configuration
HF_SPACE="Kraft102/widgetdc-cortex"
DEPLOY_DIR="hf-deploy-manual"
echo "π Configuration:"
echo " Space: $HF_SPACE"
echo " Deploy Dir: $DEPLOY_DIR"
# Step 1: Check HF CLI
echo ""
echo "1οΈβ£ Checking HuggingFace CLI..."
if ! command -v huggingface-cli &> /dev/null; then
echo "Installing HuggingFace CLI..."
pip install -U "huggingface_hub[cli]"
fi
echo "β
HF CLI ready"
# Step 2: Login (requires HF_TOKEN env var)
echo ""
echo "2οΈβ£ Logging in to HuggingFace..."
if [ -z "$HF_TOKEN" ]; then
echo "β ERROR: HF_TOKEN environment variable not set"
echo "Set it with: export HF_TOKEN='your_token_here'"
exit 1
fi
huggingface-cli login --token "$HF_TOKEN"
echo "β
Logged in"
# Step 3: Prepare files
echo ""
echo "3οΈβ£ Preparing deployment files..."
rm -rf "$DEPLOY_DIR"
mkdir -p "$DEPLOY_DIR"
# Copy backend
mkdir -p "$DEPLOY_DIR/apps/backend"
cp -r apps/backend/src "$DEPLOY_DIR/apps/backend/"
cp -r apps/backend/prisma "$DEPLOY_DIR/apps/backend/"
cp apps/backend/package.json "$DEPLOY_DIR/apps/backend/"
cp apps/backend/tsconfig.json "$DEPLOY_DIR/apps/backend/"
[ -f apps/backend/package-lock.json ] && cp apps/backend/package-lock.json "$DEPLOY_DIR/apps/backend/"
# Copy packages
mkdir -p "$DEPLOY_DIR/packages/domain-types"
cp -r packages/domain-types/src "$DEPLOY_DIR/packages/domain-types/"
cp packages/domain-types/package.json "$DEPLOY_DIR/packages/domain-types/"
cp packages/domain-types/tsconfig.json "$DEPLOY_DIR/packages/domain-types/"
mkdir -p "$DEPLOY_DIR/packages/mcp-types"
cp -r packages/mcp-types/src "$DEPLOY_DIR/packages/mcp-types/"
cp packages/mcp-types/package.json "$DEPLOY_DIR/packages/mcp-types/"
cp packages/mcp-types/tsconfig.json "$DEPLOY_DIR/packages/mcp-types/"
# Copy root config
cp package.json "$DEPLOY_DIR/"
[ -f package-lock.json ] && cp package-lock.json "$DEPLOY_DIR/"
[ -f tsconfig.json ] && cp tsconfig.json "$DEPLOY_DIR/"
# Copy Dockerfile
if [ -f scripts/hf-backend.dockerfile ]; then
cp scripts/hf-backend.dockerfile "$DEPLOY_DIR/Dockerfile"
elif [ -f Dockerfile ]; then
cp Dockerfile "$DEPLOY_DIR/"
fi
# Clean unwanted files
find "$DEPLOY_DIR" -name "*.pdf" -delete 2>/dev/null || true
find "$DEPLOY_DIR" -name "*.db*" -delete 2>/dev/null || true
find "$DEPLOY_DIR" -name "*.sqlite" -delete 2>/dev/null || true
find "$DEPLOY_DIR" -name "*.log" -delete 2>/dev/null || true
find "$DEPLOY_DIR" -name "node_modules" -type d -exec rm -rf {} + 2>/dev/null || true
find "$DEPLOY_DIR" -name "dist" -type d -exec rm -rf {} + 2>/dev/null || true
# Create README
cat > "$DEPLOY_DIR/README.md" <<'EOF'
---
title: WidgeTDC Cortex
emoji: π§
colorFrom: blue
colorTo: purple
sdk: docker
app_port: 7860
hardware: t4-small
---
# WidgeTDC Cortex - Neural Backend
Enterprise AI backend with GPU-accelerated embeddings and MCP agents.
## Features
- GPU-accelerated embeddings via sentence-transformers
- MCP (Model Context Protocol) tool execution
- Real-time WebSocket communication
- Health monitoring at /health endpoint
EOF
echo "β
Files prepared"
# Step 4: Create Space (if not exists)
echo ""
echo "4οΈβ£ Creating Space (if needed)..."
huggingface-cli repo create "$HF_SPACE" --type space --space_sdk docker || echo "Space already exists"
echo "β
Space ready"
# Step 5: Upload
echo ""
echo "5οΈβ£ Uploading to HuggingFace..."
huggingface-cli upload \
"$HF_SPACE" \
"$DEPLOY_DIR" \
. \
--repo-type=space \
--commit-message="Manual deployment from recovery script - $(date +%Y-%m-%d_%H-%M-%S)"
echo ""
echo "β
β
β
DEPLOYMENT SUCCESSFUL! β
β
β
"
echo ""
echo "π Space URL: https://huggingface.co/spaces/$HF_SPACE"
echo "π API Endpoint: https://$(echo $HF_SPACE | tr '/' '-').hf.space/"
echo ""
echo "β³ Space is now building Docker image (5-10 minutes)"
echo "π Don't forget to add environment variables in Space settings!"
echo ""
echo "π Deployment complete!"
|