Spaces:
Running
Running
| set -e | |
| APP_NAME="tars-conversation-app" | |
| APP_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" | |
| echo "=== Installing $APP_NAME ===" | |
| echo "Directory: $APP_DIR" | |
| echo | |
| # Check Python version | |
| echo "Checking Python version..." | |
| PYTHON_VERSION=$(python3 --version 2>&1 | grep -oP '\d+\.\d+') | |
| REQUIRED_VERSION="3.10" | |
| if [ "$(printf '%s\n' "$REQUIRED_VERSION" "$PYTHON_VERSION" | sort -V | head -n1)" != "$REQUIRED_VERSION" ]; then | |
| echo "Error: Python $REQUIRED_VERSION or higher required (found $PYTHON_VERSION)" | |
| exit 1 | |
| fi | |
| echo "Python $PYTHON_VERSION OK" | |
| echo | |
| # Install system dependencies | |
| echo "Installing system dependencies..." | |
| sudo apt-get update -qq | |
| sudo apt-get install -y portaudio19-dev ffmpeg build-essential python3-dev python3-venv | |
| echo "System dependencies installed" | |
| echo | |
| # Create virtual environment | |
| if [ ! -d "$APP_DIR/venv" ]; then | |
| echo "Creating virtual environment..." | |
| python3 -m venv "$APP_DIR/venv" | |
| echo "Virtual environment created" | |
| else | |
| echo "Virtual environment already exists" | |
| fi | |
| echo | |
| # Activate virtual environment | |
| source "$APP_DIR/venv/bin/activate" | |
| # Upgrade pip | |
| echo "Upgrading pip..." | |
| pip install --upgrade pip -q | |
| echo | |
| # Install Python dependencies | |
| echo "Installing Python dependencies..." | |
| echo "This may take several minutes..." | |
| pip install -r "$APP_DIR/requirements.txt" -q | |
| echo "Python dependencies installed" | |
| echo | |
| # Setup configuration files | |
| if [ ! -f "$APP_DIR/config.ini" ]; then | |
| echo "Creating config.ini from template..." | |
| cp "$APP_DIR/config.ini.example" "$APP_DIR/config.ini" | |
| echo "Created config.ini" | |
| CONFIG_CREATED=true | |
| else | |
| echo "config.ini already exists" | |
| CONFIG_CREATED=false | |
| fi | |
| echo | |
| if [ ! -f "$APP_DIR/.env.local" ]; then | |
| echo "Creating .env.local from template..." | |
| cp "$APP_DIR/env.example" "$APP_DIR/.env.local" | |
| echo "Created .env.local" | |
| ENV_CREATED=true | |
| else | |
| echo ".env.local already exists" | |
| ENV_CREATED=false | |
| fi | |
| echo | |
| # Run video codec fix if needed | |
| if [ -f "$APP_DIR/fix_video_codec.sh" ]; then | |
| echo "Applying video codec fixes..." | |
| bash "$APP_DIR/fix_video_codec.sh" || true | |
| fi | |
| echo "=== Installation Complete ===" | |
| echo | |
| echo "Next steps:" | |
| if [ "$CONFIG_CREATED" = true ] || [ "$ENV_CREATED" = true ]; then | |
| echo "1. Edit configuration files:" | |
| [ "$ENV_CREATED" = true ] && echo " - Add API keys to: $APP_DIR/.env.local" | |
| [ "$CONFIG_CREATED" = true ] && echo " - Configure settings: $APP_DIR/config.ini" | |
| echo "2. Activate environment: source $APP_DIR/venv/bin/activate" | |
| echo "3. Run the app: python $APP_DIR/src/tars_bot.py" | |
| else | |
| echo "1. Activate environment: source $APP_DIR/venv/bin/activate" | |
| echo "2. Run the app: python $APP_DIR/src/tars_bot.py" | |
| fi | |
| echo | |
| echo "For browser mode: python $APP_DIR/src/bot.py" | |
| echo "For dashboard: python $APP_DIR/ui/app.py" | |