# Note: It requires docker-compose 1.13.0
#
# Usage: docker-compose up -d
version: "2.2"

services:
  # Selenium hub
  selenium_hub:
    image: selenium/hub:3.4.0
    ports:
      - "4444:4444"

  # Docker-Android for Android application testing
  nexus_7.1.1:
    image: butomo1989/docker-android-x86-7.1.1
    privileged: true
    # Increase scale number if needed
    scale: 1
    ports:
      - 6080
    # Change path of apk that you want to test. I use sample_apk that I provide in folder "example"
    volumes:
      - $PWD/example/sample_apk:/root/tmp
      - ./video-nexus_7.1.1:/tmp/video
    environment:
      - DEVICE=Nexus 5
      - CONNECT_TO_GRID=True
      - APPIUM=true
      - SELENIUM_HOST=selenium_hub
      - AUTO_RECORD=True

  # Docker-Android for mobile website testing with chrome browser
  # Chrome browser exists only for version 7.0 and 7.1.1
  samsung_galaxy_web_7.1.1:
    image: butomo1989/docker-android-x86-7.1.1
    privileged: true
    # Increase scale number if needed
    scale: 1
    ports:
      - 6080
    volumes:
      - ./video-samsung_7.1.1:/tmp/video
    environment:
      - DEVICE=Samsung Galaxy S6
      - CONNECT_TO_GRID=True
      - APPIUM=true
      - SELENIUM_HOST=selenium_hub
      - MOBILE_WEB_TEST=True
      - AUTO_RECORD=True

  # Docker-Android for mobile website testing with default browser
  # Default browser exists only for version 5.0.1, 5.1.1 and 6.0
  samsung_galaxy_web_5.1.1:
    image: butomo1989/docker-android-x86-5.1.1
    privileged: true
    # Increase scale number if needed
    scale: 1
    ports:
      - 6080
    volumes:
      - ./video-samsung_5.1.1:/tmp/video
    environment:
      - DEVICE=Samsung Galaxy S6
      - CONNECT_TO_GRID=True
      - APPIUM=true
      - SELENIUM_HOST=selenium_hub
      - MOBILE_WEB_TEST=True
      - AUTO_RECORD=True
