Getting started

Run Pepper locally for development or use Docker Compose for a full stack.

Prerequisites

Local development setup

  1. Clone and install
    cd pepper-update-pepper-sast
    npm install
  2. Start infrastructure — PostgreSQL, Redis, MinIO (see project docker-compose.yml or README).
  3. Configure environment
    cp .env.example .env
    # Edit DATABASE_URL, REDIS_URL, MINIO_*, NEXTAUTH_SECRET, NEXTAUTH_URL
    See Environment variables for every option.
  4. Initialize database
    npx prisma db push
    npm run db:seed
    Default admin from seed: ADMIN_EMAIL / ADMIN_PASSWORD in .env.
  5. Run the web app
    npm run dev
    Open http://localhost:3000 and sign in.
  6. Run the worker (second terminal)
    npm run worker
    Without the worker, scans stay QUEUED forever.

First-time configuration checklist

StepWhereWhy
LLM provider + API keySettings → LLM ConfigAI SAST, secrets, suggest-fix, open fix PR
GitHub OAuth app.env + IntegrationsImport repos, private clone, fix PRs
Connect GitHubRepositoriesLink org account
Build gates (optional)Settings → Build GatesFail scans that exceed thresholds
Invite teamSettings → TeamMulti-user access

Docker / on-prem quick start

See the root README.md for ./setup.sh, image versions, Ollama on the host, air-gapped deploy, backup/restore, and upgrade steps.

Scan scheduling is configured via the REST API (PUT /api/projects/{projectId}/schedule), not a dedicated UI on the project settings page. Project settings in the UI only edit name and description.

Verify the stack