Mergify Enterprise
ArchitectureRequirementsInstallationManual Installation (Legacy)Advanced FeaturesTroubleshootingMaintenanceRelease NotesGitHub Requirements
To be able to enroll your on-premise Mergify on GitHub, you need a GitHub account with enough permissions (Organization owner or GitHub App manager) to create and install the GitHub App.
PostgreSQL Requirements
The Mergify stores login and credentials of users that logged in to the Mergify dashboard
The minimal requirements specs for PostgreSQL server or cluster are:
- Version ≥ 15 with
pg_vector
extensions - Disk size ≥ 10G
- Memory ≥ 2G
Redis Requirements
The Mergify stores and processes data in Redis:
- events received from GitHub
- information for reprocessing events in case of a GitHub outage
- state of the merge queues
- information about the repositories (head and base commits sha1 of pull request, users permissions, config file location and sha1, etc)
The minimal requirements specs for Redis server or cluster are:
- Version ≥ 6.2
- 200 concurrent connections
- 250 MB of storage
- At least 16 databases
- TLS endpoint
- Data persistence activated (AOF every second)
You can either:
- pick any Redis instance with persistence and TLS enabled from a cloud provider
- use the official Redis docker image with a custom
redis.conf
withappendonly
enabled and TLS enabled - use the Bitnami docker image with
appendonly
enabled and TLS enabled, for example:
docker run --name some-redis-with-tls -d \
-v /host/dir/redis/persisted/data:/bitnami/redis/data \
-v /host/dir/redis/persisted/certs:/opt/bitnami/redis/certs \
-e REDIS_PASSWORD=my_master_password \
-e REDIS_TLS_ENABLED=yes \
-e REDIS_TLS_CERT_FILE=/opt/bitnami/redis/certs/redis.crt \
-e REDIS_TLS_KEY_FILE=/opt/bitnami/redis/certs/redis.key \
-e REDIS_TLS_CA_FILE=/opt/bitnami/redis/certs/redisCA.crt \
-n redis-server \
bitnami/redis
Mergify Requirements
The minimal specifications for the Mergify container are:
- 2 GB RAM
- 2 vCPU
m5.large
should be enough.Mergify listens on the HTTP port 5000 to expose its API and receive GitHub events.
Mergify must be behind a reverse proxy (not provided by the Mergify Docker image):
- providing TLS termination
- exposed on the internet behind DNS
- accessible via HTTPS
X-Forwarded-Proto
header must be set by the reverse proxy
Some features (copy, backport, rebase) need to write in /tmp
inside the container. The default 10 GB rootfs of Docker or Kubernetes should be enough if your repositories are smaller than that.
GitHub Server Requirements
Mergify supports the following GitHub version:
- GitHub.com
- GitHub Enterprise Serveur ≥ 3.2, though we recommend ≥ 3.6
External Network Access
Mergify requires connecting to the Mergify Subscription Service for two reasons:
- Checking the subscription status
- Reporting the number of seats used by the installation
To do so, it will connect to two HTTP endpoints:
GET https://subscription.mergify.com/on-premise/subscription/<random-id>
POST https://subscription.mergify.com/on-premise/report