Skip to main content

Installation

Detailed installation instructions for different deployment scenarios.

The simplest way to run Batchivo. See the Quick Start guide.

Development Setup

For contributing to Batchivo or running locally without Docker.

Backend

# Navigate to backend directory
cd backend

# Install dependencies with Poetry
poetry install

# Copy environment file
cp .env.example .env
# Edit .env with your settings

# Run database migrations
poetry run alembic upgrade head

# Start development server
poetry run uvicorn app.main:app --reload --port 8000

Verify backend is running:

curl http://localhost:8000/health

Frontend

# Navigate to frontend directory
cd frontend

# Install dependencies
npm install

# Start development server
npm run dev

Verify frontend is running: Open http://localhost:5173 in your browser.

Production Deployment

For production deployments, see the Self-Hosting section.

Database Options

SQLite (Development)

SQLite works out of the box for development:

DATABASE_URL=sqlite+aiosqlite:///./batchivo.db

PostgreSQL (Production)

For production, use PostgreSQL for Row-Level Security support:

# Create database
createdb batchivo

# Set connection string
DATABASE_URL=postgresql+psycopg://user:password@localhost:5432/batchivo

# Run migrations
poetry run alembic upgrade head

Troubleshooting

Backend won't start

# Check Python version
python3 --version # Should be 3.12+

# Reinstall dependencies
poetry install --no-cache

# Check migration state
poetry run alembic current

Database migration errors

# Reset database (CAUTION: deletes all data)
rm backend/batchivo.db # For SQLite
poetry run alembic upgrade head

Frontend build errors

# Clear node modules and reinstall
rm -rf node_modules package-lock.json
npm install

API returns 422 validation errors

  • Check request body matches schema in API docs
  • Ensure all required fields are provided
  • Verify UUID formats are correct