# Comments are provided throughout this file to help you get started. # If you need more help, visit the Docker Compose reference guide at # https://docs.docker.com/go/compose-spec-reference/ # Here the instructions define your application as a service called "app". # This service is built from the Dockerfile in the current directory. # You can add other services your application may depend on here, such as a # database or a cache. For examples, see the Awesome Compose repository: # https://github.com/docker/awesome-compose services: app: build: context: . target: final restart: unless-stopped ports: - 80:80 depends_on: # db: # condition: service_healthy selenium-hub: condition: service_healthy db: image: mariadb:latest restart: unless-stopped # healthcheck: # test: ["CMD", 'mysqladmin', 'ping', '-h', 'db', '-u', '${DB_USERNAME}', '-p${DB_PASSWORD}' ] # interval: 2s # timeout: 20s # retries: 10 environment: MYSQL_ROOT_PASSWORD: ${DB_PASSWORD} MYSQL_DATABASE: ${DB_DATABASE} MYSQL_USER: ${DB_USERNAME} MYSQL_PASSWORD: ${DB_PASSWORD} volumes: - dbdata:/var/lib/mysql undetected-chromedriver-node: build: context: ./undetectedChromedriver dockerfile: seleniumChromedriverDockerfile volumes: - /tmp:/tmp - chromeProfile:/home/seluser/profile/ shm_size: 2gb tty: true environment: - SE_EVENT_BUS_HOST=selenium-hub - SE_EVENT_BUS_PUBLISH_PORT=4442 - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ports: - "7900:7900" networks: - selenium-grid selenium-hub: image: selenium/hub:latest healthcheck: test: "curl -s http://localhost:4444/wd/hub/status | jq -e '.value.ready == true' || exit 1" interval: 30s timeout: 10s retries: 3 tty: true ports: - "4442-4444:4442-4444" networks: - default - selenium-grid networks: selenium-grid: driver: bridge volumes: dbdata: chromeProfile: