Skip to main content
MergeWatch supports two deployment models. Each makes a different trade-off between setup effort, infrastructure control, and data residency. Pick the one that matches your compliance and operational requirements.

At a glance

FeatureSelf-HostedManaged SaaS
Where it runsYour infrastructure (Docker)MergeWatch AWS account
StoragePostgres (you manage)DynamoDB (MergeWatch manages)
LLM providerYour choice (Anthropic, Bedrock, Ollama, LiteLLM)Amazon Bedrock (MergeWatch account)
Code leaves your infra?No — all processing is localDiff transits MergeWatch in-memory, not persisted
BillingFree (you pay your LLM provider only)5 free reviews (lifetime), then prepaid credits (≈0.010.01–0.10 per review)
AWS account required?NoNo
Setup time~15–30 min~5 min
Dashboarddocker-compose second serviceNext.js on Amplify (hosted by MergeWatch)

Self-hosted

Best for strict compliance, air-gapped environments, or full control

You run the MergeWatch Docker container on your own infrastructure. Nothing touches MergeWatch systems. You choose your LLM provider and manage your own database.

How it works

You run MergeWatch as a Docker container exposing an Express server on port 3000. A reverse proxy (nginx or Caddy) terminates TLS and routes GitHub webhooks to the container. Review data is stored in Postgres.
PR opened → GitHub webhook → Your Domain (nginx/Caddy) → Express Server (Docker, port 3000)
  → LLM Provider (your choice) → Review posted to GitHub
  → Postgres (review history)

What you manage

ResourceYour responsibility
Docker containerDeploying updates, monitoring, scaling replicas
Reverse proxyTLS certificates, domain DNS, rate limiting
PostgresBackups, migrations, connection pooling
LLM providerAPI keys, quotas, cost monitoring
DashboardSecond service in docker-compose, optional

Data residency

  • All data stays on your infrastructure. No data is sent to MergeWatch.
  • No telemetry, no phone-home, no external dependency beyond your chosen LLM provider.
  • Suitable for air-gapped environments when combined with a local LLM via Ollama.
Updates are applied by pulling the latest MergeWatch Docker image and restarting the container. You control when to upgrade.

Managed SaaS

Best for teams that want zero infrastructure overhead

Everything is hosted by MergeWatch. Install the GitHub App and start getting reviews. No AWS account, no Docker, no server management.

How it works

MergeWatch runs the full pipeline on AWS — API Gateway, Lambda functions, DynamoDB, and Bedrock. You install the GitHub App and configure your repositories. That is it.
PR opened → GitHub webhook → MergeWatch API Gateway
  → WebhookHandler Lambda (512 MB, 30s) → ReviewAgent Lambda (1024 MB, 300s)
  → Bedrock (us.anthropic.claude-sonnet-4-20250514-v1:0)
  → Review posted to GitHub
  → DynamoDB (review history)

What you get

  • No AWS account required
  • No infrastructure to manage
  • Bedrock costs are included in your MergeWatch pricing
  • Automatic updates to the latest review pipeline
  • Dashboard hosted on Amplify at mergewatch.ai

Data residency

  • PR diffs are processed in-memory on MergeWatch Lambda functions (us-east-1). Diffs are not persisted after the review completes.
  • Bedrock calls run in MergeWatch’s AWS account. Model inputs and outputs are not logged or stored beyond the review lifecycle.
  • Review metadata (timestamps, repo, score) is stored in MergeWatch-managed DynamoDB with a 90-day TTL.
You can start with SaaS and migrate to self-hosted later without losing your configuration. Your .mergewatch.yml stays in your repo either way.

Decision guide

Strict compliance or air-gapped?

Choose Self-Hosted. No data leaves your infrastructure. You control every component and can run fully offline with a local LLM.

No infrastructure team?

Choose Managed SaaS. Install the GitHub App and you are done. No cloud account, no Docker, no server management. First 5 reviews free, then pay-as-you-go.

Data residency summary

Data typeSelf-HostedManaged SaaS
PR diffNever leaves your infrastructureIn-memory transit through MergeWatch, not persisted
LLM inputs/outputsYour LLM providerMergeWatch Bedrock account
Review metadataYour PostgresMergeWatch DynamoDB (90-day TTL)
GitHub credentialsYour environment variablesMergeWatch SSM Parameter Store
Configuration (.mergewatch.yml)Your GitHub repoYour GitHub repo

Self-Hosting Install

Deploy MergeWatch on your own infrastructure with Docker.

SaaS Getting Started

Install the GitHub App and start reviewing PRs in minutes.