services:
  postgres:
    image: pgvector/pgvector:pg17
    volumes:
      - postgres:/var/lib/postgresql/data
    environment:
      - POSTGRES_DB=postgres
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD=postgres
    ports:
      - 5432:5432

  mailhog:
    image: arjenz/mailhog
    ports:
      - 8025:8025
      - 1025:1025

  valkey:
    image: valkey/valkey@sha256:12ba4f45a7c3e1d0f076acd616cb230834e75a77e8516dde382720af32832d6d
    command: "valkey-server"
    ports:
      - 6379:6379
    volumes:
      - valkey-data:/data

  minio:
    image: minio/minio:RELEASE.2025-09-07T16-13-09Z
    command: server /data --console-address ":9001"
    environment:
      - MINIO_ROOT_USER=devminio
      - MINIO_ROOT_PASSWORD=devminio123
    ports:
      - "9000:9000" # S3 API direct access
      - "9001:9001" # Web console
    volumes:
      - minio-data:/data

volumes:
  postgres:
    driver: local
  valkey-data:
    driver: local
  minio-data:
    driver: local
