# Сервисы, которые будут запускаться
services:
  # Сервис генерации файлов
  file_generator:
    build:
    # Директория с Dockerfile и скриптом генератора
      context: ./file_generator
      dockerfile: Dockerfile
    # Монтирование локальной папки data в /var/data в контейнере
    volumes:
      - ./data:/var/data
      - ./result:/var/result
    # Запуск команды, которая генерирует файл в папке /var/data
    command: ["python", "file_generator.py"]

  # Первая программа, которая перемещает рандомный файл из одной папки в другую
  app1:
    build:
    # Директория с Dockerfile для первого приложения
      context: ./app1
      dockerfile: Dockerfile
    # Монтирование локальной папки result в /var/result в контейнере
    volumes:
      - ./result:/var/result
      - ./data:/var/data
    # Указывает, что первый сервис зависит от завершения работы генератора
    depends_on:
      - file_generator
    # Запуск скрипта
    command: ["python", "app1.py"]

  # Вторая программа, которая считает квадрат максимального числа в файле (пояснения аналогичны первой)
  app2:
    build:
      context: ./app2
      dockerfile: Dockerfile
    volumes:
      - ./result:/var/result
      - ./data:/var/data
    depends_on:
      - file_generator
    command: ["python", "app2.py"]