File size: 3,313 Bytes
2586f2a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
#!/bin/bash

# Gemini Business2API Deployment Script for Linux/macOS
# This script automates the initial deployment process

set -e  # Exit on error

echo "=========================================="
echo "Gemini Business2API Deployment Script"
echo "=========================================="
echo ""

# Color codes for output
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m' # No Color

# Function to print colored messages
print_success() {
    echo -e "${GREEN}[SUCCESS] $1${NC}"
}

print_error() {
    echo -e "${RED}[ERROR] $1${NC}"
}

print_info() {
    echo -e "${YELLOW}[INFO] $1${NC}"
}

print_step() {
    echo -e "${BLUE}[STEP] $1${NC}"
}

# Check if git is installed
if ! command -v git &> /dev/null; then
    print_error "Git is not installed. Please install git first."
    exit 1
fi

# Check if python3 is installed
if ! command -v python3 &> /dev/null; then
    print_error "Python3 is not installed. Please install Python 3.11+ first."
    exit 1
fi

# Check if npm is installed
if ! command -v npm &> /dev/null; then
    print_error "npm is not installed. Please install Node.js and npm first."
    exit 1
fi

# Step 1: Build frontend
print_step "Step 1: Building frontend..."
if [ -d "frontend" ]; then
    cd frontend
    print_info "Installing frontend dependencies..."
    npm install
    print_info "Building frontend..."
    npm run build
    print_success "Frontend built successfully"
    cd ..
else
    print_error "Frontend directory not found. Are you in the project root?"
    exit 1
fi

# Step 2: Create virtual environment
print_step "Step 2: Setting up Python virtual environment..."
if [ -d ".venv" ]; then
    print_info "Virtual environment already exists, skipping creation"
else
    print_info "Creating virtual environment..."
    python3 -m venv .venv
    print_success "Virtual environment created"
fi

# Activate virtual environment
print_info "Activating virtual environment..."
source .venv/bin/activate

# Step 3: Install Python dependencies
print_step "Step 3: Installing Python dependencies..."
pip install --upgrade pip
pip install -r requirements.txt
print_success "Python dependencies installed"

# Step 4: Setup .env file
print_step "Step 4: Setting up configuration..."
if [ -f ".env" ]; then
    print_info ".env file already exists, skipping"
else
    if [ -f ".env.example" ]; then
        cp .env.example .env
        print_success ".env file created from .env.example"
    else
        print_error ".env.example not found"
        exit 1
    fi
fi

# Step 5: Show completion message
echo ""
echo "=========================================="
print_success "Deployment completed successfully!"
echo "=========================================="
echo ""
print_info "Next steps:"
echo ""
echo "  1. Edit .env file and set your ADMIN_KEY:"
echo "     ${BLUE}nano .env${NC}  or  ${BLUE}vim .env${NC}"
echo ""
echo "  2. Start the service:"
echo "     ${BLUE}python main.py${NC}"
echo ""
echo "  3. Access the admin panel:"
echo "     ${BLUE}http://localhost:7860/${NC}"
echo ""
print_info "Optional: To activate virtual environment later, run:"
echo "  ${BLUE}source .venv/bin/activate${NC}"
echo ""