Getting Started

Installation

Deploy Pivota on your own infrastructure. Full control, full security.

Prerequisites

  • Docker 20.10+ and Docker Compose v2
  • 8GB RAM minimum (16GB recommended for teams)
  • 20GB disk space for the platform and workspace data
  • Git 2.30+ installed on the host
  • API key for at least one AI provider (Claude, GPT-4, Gemini, or Z.ai)

Docker Installation

# 1. Clone the deployment repo
git clone https://github.com/pivota-dev/deploy.git
cd deploy

# 2. Copy the environment template
cp .env.example .env

# 3. Configure your environment (see Configuration below)

# 4. Start the platform
docker compose up -d

# 5. Check status
docker compose ps
docker compose logs -f pivota

Configuration

Pivota is configured through environment variables in your .env file:

# .env — Required configuration
DATABASE_URL=postgresql://pivota:pivota@localhost:5432/pivota
JWT_SECRET=your-secret-key-minimum-32-characters
ENCRYPTION_KEY=64-character-hex-string-for-aes-256-gcm

# AI Provider (at least one required)
ANTHROPIC_API_KEY=sk-ant-...

# GitHub Integration (optional)
GITHUB_CLIENT_ID=your-github-oauth-client-id

# Daytona Cloud (optional, for sandbox execution)
DAYTONA_API_URL=https://api.daytona.io
DAYTONA_API_KEY=your-daytona-api-key

# OpenCode Agent
OPENCODE_BINARY=opencode
OPENCODE_PORT_START=4100

# MCP Server
MCP_HOST=0.0.0.0
MCP_PORT=3001

# Execution
EXECUTION_TIMEOUT_SECS=1800

Docker Compose

Reference docker-compose.yml for the full platform stack:

# docker-compose.yml
services:
  postgres:
    image: pgvector/pgvector:pg16
    environment:
      POSTGRES_USER: pivota
      POSTGRES_PASSWORD: pivota
      POSTGRES_DB: pivota
    ports:
      - "5432:5432"
    volumes:
      - pgdata:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U pivota"]
      interval: 5s

  pivota:
    build: .
    ports:
      - "3000:3000"    # Web UI + API
      - "3001:3001"    # MCP Server
    depends_on:
      postgres:
        condition: service_healthy
    env_file: .env
    volumes:
      - workspace_data:/root/pivota-workspaces

volumes:
  pgdata:
  workspace_data:

Verify Installation

curl http://localhost:3000/health

# Expected:
{
  "status": "ok",
  "version": "1.2.0",
  "database": "connected",
  "mcp_server": "running"
}

Next Steps