gemini / deploy.sh
xiaoyukkkk's picture
Upload 12 files
2586f2a verified
#!/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 ""