version: '3.8' services: mssql: image: mcr.microsoft.com/mssql/server:2022-latest environment: - ACCEPT_EULA=Y - SA_PASSWORD=StrongPassword123! - MSSQL_PID=Express ports: - "1433:1433" volumes: - ./test_data/mssql/test_schema.sql:/test_schema.sql healthcheck: test: ["CMD", "/opt/mssql-tools/bin/sqlcmd", "-S", "localhost", "-U", "sa", "-P", "StrongPassword123!", "-Q", "SELECT 1"] interval: 5s timeout: 3s retries: 10 postgres: image: postgres:16-alpine container_name: relspec-test-postgres environment: POSTGRES_USER: relspec POSTGRES_PASSWORD: relspec_test_password POSTGRES_DB: relspec_test ports: - "5439:5432" # Using 5439 to avoid conflicts with local PostgreSQL volumes: - ./tests/postgres/init.sql:/docker-entrypoint-initdb.d/init.sql - postgres_data:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U relspec -d relspec_test"] interval: 5s timeout: 5s retries: 5 volumes: postgres_data: