PactFlow On-Premises Architecture
System architecture
Warning
PactFlow On-Premises 1.x is now in maintenance mode and receives security updates only. It will no longer be supported after March 11, 2026.
To benefit from the latest features and improvements, upgrade to version 2.x as soon as possible.
Minimum requirements
An application server capable of running Docker
PostgreSQL database
SAML IDP for SSO
PactFlow On-Premises license file
Recommended architecture
Deploy to a service designed for Docker container orchestration (ECS, Fargate, Kubernetes, etc.)
Example AWS deployment using ECS

Internal architecture
The PactFlow On-Premises On-Premises application is distributed as a Docker image. It is based on the open source Pact Broker, which is a Ruby application.
Application user requirements
The PactFlow On-Premises application does not need any elevated privileges to run. It runs under the user app:app
.
Application port
The PactFlow On-Premises application runs on port 9292
by default. This can be configured by setting the PACTFLOW_HTTP_PORT environment variable.
Healthcheck endpoint
A healthcheck endpoint for use by a Docker container management service is available at http://<HOST>/diagnostic/status/heartbeat
. No authentication is required. This endpoint does not make a connection to the database.
If the healthcheck is running from inside the container, make sure to use the port defined in the environment variable $PACTFLOW_HTTP_PORT
, which defaults to 9292. You can use wget
to perform the healthcheck request.
An example healthcheck configuration for Docker Compose:
healthcheck: test: ["CMD", "wget", "-nv", "-t1", "--spider", "http://localhost:9292/diagnostic/status/heartbeat"] interval: 30s timeout: 10s retries: 3
To check the connection to the database, use the endpoint /diagnostic/status/dependencies
. This endpoint should not be used by Docker container managment services, as unrelated database issues might cause the Docker container to churn.
License file
PactFlow On-Premises on-premises version requires a license file to run. Contact us if you have not received one when your account was setup. See the section on licenses for installation instructions.