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
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
(Optional) Start the dashboard
NEXT_PUBLIC_API_URL is required.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:Install the GitHub App
Navigate to your GitHub App’s public page and install it on the repositories you want MergeWatch to review.
Managing containers
| Task | Command |
|---|---|
| View logs | docker logs -f mergewatch |
| Restart server | docker restart mergewatch |
| Stop all | docker stop mergewatch dashboard postgres |
| Remove all | docker rm mergewatch dashboard postgres |
| Pull latest images | docker pull ghcr.io/santthosh/mergewatch:latest && docker pull ghcr.io/santthosh/mergewatch-dashboard:latest |
Next steps
Docker Compose Install
Use Docker Compose for a simpler setup experience.
Environment Variables
Full reference for all environment variables.