version: "3.7"

x-badoo-liker:
  &badoo-liker
  # Please leave empty tag to get `latest version by default
  image: vyahello/badoo-liker:2.2.3
  volumes:
    - ./setup.yaml:/code/setup.yaml
    - ./docker-compose.yaml:/code/docker-compose.yaml
  depends_on:
    - chrome-node
  network_mode: host

services:
  help:
    <<: *badoo-liker
    container_name: badoo-help
    command: run-liker --help

  single-scheduler:
    <<: *badoo-liker
    container_name: badoo-single-scheduler
    command: run-liker --config setup.yaml

  infinite-scheduler:
    <<: *badoo-liker
    container_name: badoo-infinite-scheduler
    command: run-liker --infinite --config setup.yaml

# Zalenium (https://github.com/zalando/zalenium) starts both Chrome/Firefox under the hood thus no need creation of separate `chrome-node` service
  selenium-hub:
    image: dosel/zalenium
    privileged: true
    environment:
    - PULL_SELENIUM_IMAGE=true
    volumes:
    - /var/run/docker.sock:/var/run/docker.sock
    ports:
    - 4444:4444
    command: >
      start --sendAnonymousUsageInfo false
      --desiredContainers 1
      --screenWidth 1920
      --screenHeight 1080

# Simple selenium grid entrypoint
#  selenium-hub:
#    image: selenium/hub
#    container_name: selenium-hub
#    ports:
#      - "4444:4444"

  chrome-node:
    image: selenium/node-chrome
    depends_on:
      - selenium-hub
    environment:
      - HUB_PORT_4444_TCP_ADDR=selenium-hub
      - HUB_PORT_4444_TCP_PORT=4444
      - PULL_SELENIUM_IMAGE=true
      - JAVA_OPTS=-Xmx1024m
