services:
postgres:
image: postgres:16-alpine
container_name: sabiql-postgres
environment:
POSTGRES_USER: dev
POSTGRES_PASSWORD: dev
POSTGRES_DB: testdb
ports:
- "5433:5432"
volumes:
- ./scripts/init.sql:/docker-entrypoint-initdb.d/01-init.sql
- ./scripts/seed.sql:/docker-entrypoint-initdb.d/02-seed.sql
- postgres_data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U dev -d testdb"]
interval: 10s
timeout: 5s
retries: 5
mysql:
image: mysql:8.4.10
labels:
com.sabiql.mysql.integration: "${SABIQL_MYSQL_RUN_LABEL:-manual}"
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: sabiql_test
MYSQL_USER: sabiql
MYSQL_PASSWORD: sabiql
ports:
- "${SABIQL_MYSQL_HOST_PORT:-3306}:3306"
volumes:
- ./scripts/init-mysql.sql:/docker-entrypoint-initdb.d/01-init.sql:ro
- ./scripts/seed-mysql.sql:/docker-entrypoint-initdb.d/02-seed.sql:ro
healthcheck:
test: ["CMD-SHELL", "mysqladmin ping -h 127.0.0.1 -uroot -p\"$${MYSQL_ROOT_PASSWORD}\" --silent"]
interval: 2s
timeout: 5s
retries: 30
volumes:
postgres_data: