37 lines
1.4 KiB
YAML
37 lines
1.4 KiB
YAML
version: "3"
|
|
|
|
services:
|
|
postgres:
|
|
image: postgres
|
|
healthcheck:
|
|
test: psql postgres --command "select 1" -U postgres
|
|
volumes:
|
|
- postgres-volume:/var/lib/postgresql/data
|
|
environment:
|
|
POSTGRES_USER: postgres
|
|
POSTGRES_PASSWORD: password
|
|
POSTGRES_DB: postgres
|
|
|
|
pact-broker:
|
|
image: pactfoundation/pact-broker:latest
|
|
ports:
|
|
- "9292:9292"
|
|
depends_on:
|
|
- postgres
|
|
environment:
|
|
PACT_BROKER_PORT: '9292'
|
|
PACT_BROKER_DATABASE_URL: "postgres://postgres:password@postgres/postgres"
|
|
PACT_BROKER_LOG_LEVEL: INFO
|
|
PACT_BROKER_SQL_LOG_LEVEL: DEBUG
|
|
# PACT_BROKER_DATABASE_CONNECT_MAX_RETRIES is only needed for docker-compose
|
|
# because the database takes longer to start up than the puma process
|
|
# Should not be needed in production.
|
|
PACT_BROKER_DATABASE_CONNECT_MAX_RETRIES: "5"
|
|
# The list of allowed base URLs (not setting this makes the app vulnerable to cache poisoning)
|
|
# This list allows the app to be addressed from the host and from within another docker container correctly
|
|
# Ngnix config below makes the app accessible on ports 443 and 80, while the Ruby application itself runs on port 9292
|
|
PACT_BROKER_BASE_URL: 'https://localhost http://localhost http://localhost:9292 http://pact-broker:9292 https://host.docker.internal http://host.docker.internal http://host.docker.internal:9292'
|
|
|
|
volumes:
|
|
postgres-volume:
|
|
|