version: '3.7' services: mailhog: image: blueimp/mailhog read_only: true ports: - 127.0.0.1:8025:8025 example: build: ./src read_only: true tmpfs: /tmp environment: - SMTP_HOST=mailhog:1025 volumes: - ./src/html:/srv/html:ro ports: - 127.0.0.1:8080:8080 - ${SERVER_HOST:-127.0.0.1}:${SERVER_PORT-}:8080 depends_on: - mailhog chromedriver: image: blueimp/chromedriver init: true tmpfs: /tmp environment: - DISABLE_X11=false - ENABLE_VNC=true - EXPOSE_X11=true volumes: - ./assets:/home/webdriver/assets:ro ports: - 127.0.0.1:5900:5900 geckodriver: image: blueimp/geckodriver init: true tmpfs: /tmp shm_size: 2g environment: - DISABLE_X11=false - ENABLE_VNC=true - EXPOSE_X11=true volumes: - ./assets:/home/webdriver/assets:ro ports: - 127.0.0.1:5901:5900 wdio: build: . init: true read_only: true tmpfs: - /tmp - /home/wdio/.android environment: - WAIT_FOR_HOSTS= chromedriver:4444 geckodriver:4444 example:8080 - WINDOWS_HOST - ANDROID_SERIAL - PLATFORM_VERSION - DEVICE_NAME - ORIENTATION - MACOS_ASSETS_DIR=$PWD/assets/ - WINDOWS_ASSETS_DIR volumes: - .:/opt:ro - ./reports:/opt/reports depends_on: - chromedriver - geckodriver - example