# Local Postgres + MySQL for the live database integration tests.
#   bun run test:db:live        # spins these up, runs the tests, tears down
# Ports are offset (5433 / 3307) to avoid clashing with local installs.
services:
  postgres:
    image: postgres:16-alpine
    environment:
      POSTGRES_USER: wire
      POSTGRES_PASSWORD: wire
      POSTGRES_DB: wire_test
    ports:
      - "5433:5432"
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U wire -d wire_test"]
      interval: 2s
      timeout: 3s
      retries: 40

  mysql:
    image: mysql:8
    environment:
      MYSQL_ROOT_PASSWORD: wire
      MYSQL_DATABASE: wire_test
      MYSQL_USER: wire
      MYSQL_PASSWORD: wire
    ports:
      - "3307:3306"
    healthcheck:
      test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "-uwire", "-pwire"]
      interval: 3s
      timeout: 3s
      retries: 40
