This guide covers different installation methods for BenchHub Plus.
- Operating System: Linux, macOS, or Windows with WSL2
- Python: 3.11 or higher
- Memory: Minimum 4GB RAM (8GB+ recommended)
- Storage: 2GB free space
- Network: Internet connection for API calls
- PostgreSQL: 12+ (or use Docker)
- Redis: 6+ (or use Docker)
- OpenAI API Key: Required for planner agent
- Model API Keys: For the models you want to evaluate
The fastest way to get started is using Docker:
# Clone the repository
git clone https://github.com/HAE-RAE/BenchhubPlus.git
cd BenchhubPlus
# Setup environment
./scripts/setup.sh
# Edit configuration
cp .env.example .env
# Edit .env with your API keys
# Deploy with Docker
./scripts/deploy.sh developmentAccess the application:
- Frontend: http://localhost:3000
- Backend API: http://localhost:8001
- API Docs: http://localhost:8001/docs
Ubuntu/Debian:
# Install Docker
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
# Install Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-composemacOS:
# Install Docker Desktop
brew install --cask dockerWindows: Install Docker Desktop from docker.com
git clone https://github.com/HAE-RAE/BenchhubPlus.git
cd BenchhubPlus
# Make scripts executable
chmod +x scripts/*.sh
# Run setup
./scripts/setup.sh# Copy environment template
cp .env.example .env
# Edit with your settings
nano .envRequired environment variables:
# API Keys
OPENAI_API_KEY=your_openai_api_key_here
# Database
POSTGRES_PASSWORD=secure_password_here
# Optional: Custom settings
DEBUG=false
LOG_LEVEL=info# Development deployment
./scripts/deploy.sh development
# Production deployment
./scripts/deploy.sh productionFor development without Docker:
Ubuntu/Debian:
sudo apt update
sudo apt install -y python3.11 python3.11-venv python3.11-dev
sudo apt install -y postgresql postgresql-contrib redis-server
sudo apt install -y build-essential libpq-devmacOS:
brew install [email protected] postgresql redis# Create virtual environment
python3.11 -m venv venv
source venv/bin/activate
# Upgrade pip
pip install --upgrade pip
# Install dependencies
pip install -e .PostgreSQL:
# Start PostgreSQL
sudo systemctl start postgresql # Linux
brew services start postgresql # macOS
# Create database and user
sudo -u postgres psqlCREATE DATABASE benchhub_plus;
CREATE USER benchhub WITH PASSWORD 'your_password';
GRANT ALL PRIVILEGES ON DATABASE benchhub_plus TO benchhub;
\qRedis:
# Start Redis
sudo systemctl start redis # Linux
brew services start redis # macOScp .env.example .envEdit .env with local database settings:
DATABASE_URL=postgresql://benchhub:your_password@localhost:5432/benchhub_plus
CELERY_BROKER_URL=redis://localhost:6379/0
CELERY_RESULT_BACKEND=redis://localhost:6379/0
OPENAI_API_KEY=your_openai_api_key_herepython -c "from apps.core.db import init_db; init_db()"# Terminal 1: Backend API
./scripts/dev-backend.sh
# Terminal 2: Celery Worker
./scripts/dev-worker.sh
# Terminal 3: Frontend
./scripts/dev-frontend.shAfter installation, verify everything is working:
# API Health Check
curl http://localhost:8001/api/v1/health # use 8000 for production compose
# Expected response:
# {"status": "healthy", "database_status": "connected", "redis_status": "connected"}Open http://localhost:3000 and verify:
- ✅ Page loads without errors
- ✅ Can navigate between tabs
- ✅ System status shows all services healthy
- Go to "Evaluate" tab
- Enter a simple query: "Test basic functionality"
- Configure a test model (you can use dummy values for testing)
- Submit evaluation
- Check "Status" tab for task progress
Port Already in Use:
# Check what's using the port
sudo lsof -i :8000
# Kill the process
sudo kill -9 <PID>Database Connection Failed:
# Check PostgreSQL status
sudo systemctl status postgresql
# Check connection
psql -h localhost -U benchhub -d benchhub_plusRedis Connection Failed:
# Check Redis status
sudo systemctl status redis
# Test connection
redis-cli pingDocker Issues:
# Check Docker status
docker --version
docker-compose --version
# View logs
docker-compose logs -f [service_name]
# Reset everything
docker-compose down -v
docker system prune -aIf you encounter issues:
- Check the Troubleshooting Guide
- Search existing issues
- Create a new issue with:
- Your operating system
- Installation method used
- Complete error messages
- Steps to reproduce
git pull origin main
./scripts/deploy.sh [environment]git pull origin main
source venv/bin/activate
pip install -e .
# Restart services# Stop and remove containers
docker-compose down -v
# Remove images
docker rmi $(docker images "benchhub*" -q)
# Remove project directory
cd ..
rm -rf BenchhubPlus# Deactivate virtual environment
deactivate
# Remove project directory
cd ..
rm -rf BenchhubPlus
# Optional: Remove database
sudo -u postgres psql -c "DROP DATABASE benchhub_plus;"
sudo -u postgres psql -c "DROP USER benchhub;"