Overview
This guide walks you through deploying the MergeWatch container to Azure Container Apps, connecting it to Azure Database for PostgreSQL - Flexible Server, and configuring the GitHub App webhook.Prerequisites
1
Install the Azure CLI
2
Create a resource group
3
Gather your GitHub App credentials
4
Choose an LLM provider
Set
LLM_PROVIDER to your preferred provider. For Azure OpenAI, you can use managed identity authentication via LiteLLM — no static API keys required.Deploy to Azure Container Apps
1
Create a Container Apps environment
2
Create the Container App
3
Use secrets for sensitive values (recommended)
4
Note the FQDN
After creation, retrieve the app URL:
Set up Postgres
MergeWatch requires PostgreSQL to store installation and review data. Azure Database for PostgreSQL - Flexible Server is the recommended option.1
Create a Flexible Server instance
2
Create the database
3
Allow access from Container Apps
The
0.0.0.0 rule allows connections from Azure services. For tighter security, use VNet integration between Container Apps and the Flexible Server.4
Update the DATABASE_URL
Update your Container App with the Flexible Server connection string:
Managed identity for Azure OpenAI
If you use Azure OpenAI as your LLM provider via LiteLLM, you can authenticate with a managed identity instead of static API keys.1
Enable managed identity
2
Grant the identity access to Azure OpenAI
3
Configure LiteLLM environment variables
Configure the webhook URL
Set the webhook URL on your GitHub App to the Container App FQDN followed by/webhook:
Next steps
Configure review behavior
Tune sensitivity, ignored paths, and review focus areas.
Environment variables
Full list of supported environment variables.
Troubleshooting
Common issues and how to fix them.
Upgrading
How to update MergeWatch to the latest version.