services:
  # Сервис генератора файлов
  generator:
    build: 
      context: ./generator  # Путь к директории с Dockerfile и скриптом генератора
    volumes:
      - ./data:/var/data  # Монтирование локальной папки data в /var/data в контейнере
    entrypoint: ["sh", "-c", "if [ -z \"$(ls -A /var/data)\" ]; then python generate_files.py; else echo '/var/data is not empty'; fi"]
      # Запуск команды, проверяющей, пуста ли папка /var/data. Если пуста, запускается скрипт генерации данных.

  # Первый сервис, который ищет файл с коротким именем
  first_app:
    build: 
      context: ./first_app  # Путь к директории с Dockerfile для первого приложения
    volumes:
      - ./data:/var/data  # Монтирование локальной папки data в /var/data
      - ./result:/var/result  # Монтирование локальной папки result в /var/result
    depends_on:
      - generator  # Указывает, что первый сервис зависит от завершения работы генератора

  # Второй сервис, который ищет минимальное число
  second_app:
    build: 
      context: ./second_app  # Путь к директории с Dockerfile для второго приложения
    volumes:
      - ./result:/var/result  # Монтирование локальной папки result в /var/result
    depends_on:
      - first_app  # Указывает, что второй сервис зависит от завершения работы первого сервиса