50 lines
1.2 KiB
YAML
50 lines
1.2 KiB
YAML
version: '3.8'
|
|
services:
|
|
# An ephermerally-stored postgres database for single-use test runs
|
|
db_test: &db_test
|
|
image: postgres:14.4-alpine
|
|
environment:
|
|
- POSTGRES_USER=pg
|
|
- POSTGRES_PASSWORD=password
|
|
ports:
|
|
- '5433:5432'
|
|
# Healthcheck ensures db is queryable when `docker-compose up --wait` completes
|
|
healthcheck:
|
|
test: 'pg_isready -U pg'
|
|
interval: 500ms
|
|
timeout: 10s
|
|
retries: 20
|
|
# A persistently-stored postgres database
|
|
db:
|
|
<<: *db_test
|
|
ports:
|
|
- '5432:5432'
|
|
healthcheck:
|
|
disable: true
|
|
volumes:
|
|
- atp_db:/var/lib/postgresql/data
|
|
# An ephermerally-stored redis cache for single-use test runs
|
|
redis_test: &redis_test
|
|
image: redis:7.0-alpine
|
|
ports:
|
|
- '6380:6379'
|
|
# Healthcheck ensures redis is queryable when `docker-compose up --wait` completes
|
|
healthcheck:
|
|
test: ['CMD-SHELL', '[ "$$(redis-cli ping)" = "PONG" ]']
|
|
interval: 500ms
|
|
timeout: 10s
|
|
retries: 20
|
|
# A persistently-stored redis cache
|
|
redis:
|
|
<<: *redis_test
|
|
command: redis-server --save 60 1 --loglevel warning
|
|
ports:
|
|
- '6379:6379'
|
|
healthcheck:
|
|
disable: true
|
|
volumes:
|
|
- atp_redis:/data
|
|
volumes:
|
|
atp_db:
|
|
atp_redis:
|