File size: 4,273 Bytes
eac73a9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
#!/bin/bash
# Production Deployment Quick Start
# This script helps you deploy to HF Spaces and Vercel

set -e

echo "======================================"
echo "πŸš€ Data Cleaning OpenEnv Deployment"
echo "======================================"
echo ""

# Check prerequisites
echo "βœ“ Checking prerequisites..."
command -v git >/dev/null 2>&1 || { echo "❌ Git not found"; exit 1; }
echo "  βœ“ Git installed"

# Get deployment target
echo ""
echo "Select deployment target:"
echo "1) HuggingFace Spaces (backend)"
echo "2) Vercel (frontend)"
echo "3) Both (HF Spaces + Vercel)"
read -p "Enter choice (1-3): " choice

case $choice in
    1)
        echo ""
        echo "🌐 Deploying to HuggingFace Spaces"
        echo "=================================="
        echo ""
        echo "Prerequisites:"
        echo "  1. HuggingFace account (https://huggingface.co)"
        echo "  2. GitHub repo connected to HF (AnubhavKiroula/data-cleaning-openenv)"
        echo ""
        echo "Steps:"
        echo "  1. Go to https://huggingface.co/spaces"
        echo "  2. Click 'Create new Space'"
        echo "  3. Fill in:"
        echo "     - Space name: data-cleaning-openenv"
        echo "     - SDK: Docker"
        echo "  4. Click 'Create Space'"
        echo "  5. In Space settings, link GitHub repo"
        echo "  6. Set environment variables:"
        echo "     - POSTGRES_PASSWORD=<random-string>"
        echo "     - JWT_SECRET=<random-string>"
        echo "     - ENVIRONMENT=production"
        echo ""
        echo "To generate secrets:"
        echo "  python -c 'import secrets; print(secrets.token_urlsafe(32))'"
        echo ""
        read -p "Press Enter when HF Space is configured..."
        echo "βœ“ HF Space deployment complete!"
        ;;
    2)
        echo ""
        echo "🌐 Deploying to Vercel"
        echo "====================="
        echo ""
        echo "Prerequisites:"
        echo "  1. Vercel account (https://vercel.com)"
        echo "  2. GitHub account connected to Vercel"
        echo ""
        echo "Steps:"
        echo "  1. Go to https://vercel.com/dashboard"
        echo "  2. Click 'Add New' β†’ 'Project'"
        echo "  3. Import: AnubhavKiroula/data-cleaning-openenv"
        echo "  4. Set root directory: frontend"
        echo "  5. Add environment variable:"
        echo "     - VITE_API_BASE_URL=<your-hf-space-url>/api"
        echo "  6. Click 'Deploy'"
        echo ""
        read -p "Press Enter when Vercel is configured..."
        echo "βœ“ Vercel deployment complete!"
        ;;
    3)
        echo ""
        echo "🌐 Deploying to HuggingFace Spaces + Vercel"
        echo "=========================================="
        echo ""
        echo "Follow the steps for HF Spaces first, then Vercel:"
        echo ""
        echo "=== HuggingFace Spaces ==="
        echo "  1. Go to https://huggingface.co/spaces"
        echo "  2. Create new Space (Docker SDK)"
        echo "  3. Link GitHub repo"
        echo "  4. Set env vars (POSTGRES_PASSWORD, JWT_SECRET)"
        echo ""
        read -p "Press Enter when HF Space is configured..."
        echo ""
        echo "=== Vercel ==="
        echo "  1. Go to https://vercel.com/dashboard"
        echo "  2. Import: AnubhavKiroula/data-cleaning-openenv"
        echo "  3. Set VITE_API_BASE_URL to HF Space URL"
        echo "  4. Deploy"
        echo ""
        read -p "Press Enter when Vercel is configured..."
        echo "βœ“ Full deployment complete!"
        ;;
    *)
        echo "Invalid choice"
        exit 1
        ;;
esac

echo ""
echo "======================================"
echo "βœ… Deployment Started!"
echo "======================================"
echo ""
echo "πŸ“‹ Next steps:"
echo "  1. Monitor HF Space / Vercel dashboards"
echo "  2. Wait for services to start (~5-10 min)"
echo "  3. Test backend: curl <hf-space-url>/api/health"
echo "  4. Test frontend: Open <vercel-url>"
echo "  5. Run smoke test: Upload CSV and start job"
echo ""
echo "πŸ“š Documentation:"
echo "  - Deployment guide: docs/DEPLOYMENT.md"
echo "  - Production readiness: PRODUCTION_READINESS.md"
echo "  - Environment vars: .env.production.example"
echo ""
echo "πŸ†˜ Need help? Check the docs or open a GitHub issue!"