Skip to content

Your Code, Your Model

Self-hosted Code Review Agent on your infrastructure

Use any local model or API you want.

Supports GitLab, Forgejo, and GitHub.

A short walkthrough of Proval reviewing a merge request end to end on your Git host.

Features

Self-hosted code review from setup to output.

Browse the dashboard and merge request review output on your Git host.

Proval dashboard showing review runs, models, and connected repositories

Every review run, model, and connected repository in one place.

Why Proval

Privacy-first AI code review your team controls.

  • Stays on your network

    Reviews and repo context go to the LLM endpoint you configure, not a third-party review SaaS.

  • Bring your own model

    Use an OpenAI-compatible endpoint, including local or on-prem model servers that your team already operates.

  • GitLab, Forgejo, GitHub

    Built for teams that do not live entirely inside GitHub, with predictable webhook-driven automation.

  • Set it and forget it

    Hook up webhooks once. Proval reviews merge requests and replies in threads when your policy allows.

Integration

Connect GitLab, Forgejo, or GitHub you already run.

Webhooks and host APIs connect your Git host to Proval. Review context goes to the model you run.

Proval

Review Agent

Runs Agent loop

  • Dashboard :7900
  • Webhook :7901

Gitea and Codeberg use the same Forgejo-compatible webhook and API path.

Public webhooks may need nginx or Caddy in front of Proval for HTTPS (TLS).

How agent works

How the self-hosted code review agent works.

The same flow on every repository event. See how it runs.

01

Load Context

PR Metadata
Git Diff
Existing code
02

Plan Agent

Group related files

03

Review

Concurrent agents

Review Agent
Review Agent
More...
04
Writing Agent

Deployment

Deploy self-hosted code review with Docker Compose.

Run the service, connect your model, link repositories, and test a real merge request.

Open the Docker guide
docker-compose.yml
services:
    proval:
        image: ghcr.io/seoes/proval:latest
        ports:
            - "7900:7900"
            - "7901:7901"
        volumes:
            - ./data:/data
        environment:
            - ENCRYPTION_KEY=[Encryption Key]

Deploy in a minute with Docker Compose. Full setup guide

FAQ

A few practical answers.

Is Proval a replacement for Cursor, Copilot, or Claude?

No. Those tools are strong agents in IDEs or CLIs for individual developers. Proval is a team review layer on your Git host. Reviews and replies appear on pull requests and issues, and you can choose any model API you want.

Does code leave our infrastructure?

Proval does not store your code. It only sends review context to the LLM endpoint you configure. Use a local model if you need to keep everything on your network.

Does Proval support self-hosted GitLab?

Yes. Connect self-hosted GitLab with an access token and project webhooks. Proval reviews merge requests when those webhooks fire.

Can I use a local model like Ollama or llama.cpp?

Yes. Point Proval at any OpenAI-compatible endpoint, including local or on-prem servers such as llama.cpp. See the Set LLM and llama.cpp docs for setup details.

Is there a hosted SaaS?

Proval is built to run self-hosted on your infrastructure. A public demo is available for trying the product without installing it first.