services:
  database:
    image: postgres:18.3-bookworm@sha256:80630f83606d8db77d30b3851b16a9f78be2d0d4dda6f7b82a1fdca5ebe3acba
    environment:
      POSTGRES_DB: concurrency
      POSTGRES_PASSWORD: concurrency
      POSTGRES_USER: concurrency
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U concurrency -d concurrency"]
      interval: 1s
      timeout: 5s
      retries: 30
    tmpfs:
      - /var/lib/postgresql

  test:
    image: pers03-test
    build:
      context: .
    depends_on:
      database:
        condition: service_healthy
    environment:
      DATABASE_DSN: pgsql:host=database;port=5432;dbname=concurrency
      DATABASE_PASSWORD: concurrency
      DATABASE_USER: concurrency
    volumes:
      - .:/app
