When to use manual install
Use this guide if you:- Cannot use Docker Compose (minimal Docker installations, orchestration platforms that run individual containers)
- Want individual control over each container’s lifecycle
- Need to integrate MergeWatch containers into an existing infrastructure setup
For most users, the recommended path is Docker Compose. See the install guide for the simpler setup.
Prerequisites
- Docker installed and running
- A GitHub App configured with the required permissions
- Your GitHub App credentials: App ID, private key (
.pemfile), and webhook secret - An API key or endpoint for your chosen LLM provider
Deployment steps
1
Create a Docker network
All MergeWatch containers must communicate over a shared network.
2
Start Postgres
MergeWatch requires a Postgres database for storing installation and review data.
3
Start the MergeWatch server
Run the MergeWatch server container, passing all required environment variables via For other LLM providers, replace the provider-specific variables:
-e flags.Bedrock
Bedrock
LiteLLM
LiteLLM
Ollama
Ollama
4
(Optional) Start the dashboard
NEXT_PUBLIC_API_URL is required.5
Update the GitHub App webhook URL
Go to your GitHub App settings and set the Webhook URL to your server’s publicly accessible URL (e.g.
https://mergewatch.example.com/webhook).For local development, use a tunnel:6
Install the GitHub App
Navigate to your GitHub App’s public page and install it on the repositories you want MergeWatch to review.
7
Verify the deployment
Check that all containers are running:Check the MergeWatch server logs:
Managing containers
To upgrade, pull the latest images and recreate the containers:
Next steps
Docker Compose Install
Use Docker Compose for a simpler setup experience.
Environment Variables
Full reference for all environment variables.