# To start Docker in Swarm mode, you need to run `docker swarm init`
# To deploy the Grid, `docker stack deploy -c docker-compose-v3-swarm.yml grid`
# Stop with `docker stack rm grid`
# Stop swarm mode `docker swarm leave --force`
services:
  chrome:
    image: selenium/node-chrome:4.47.0-20260808
    platform: linux/amd64
    shm_size: 2gb
    environment:
      - SE_EVENT_BUS_HOST=selenium-hub
    deploy:
      replicas: 1
    entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh'

  edge:
    image: selenium/node-edge:4.47.0-20260808
    platform: linux/amd64
    shm_size: 2gb
    environment:
      - SE_EVENT_BUS_HOST=selenium-hub
    deploy:
      replicas: 1
    entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh'

  firefox:
    image: selenium/node-firefox:4.47.0-20260808
    shm_size: 2gb
    environment:
      - SE_EVENT_BUS_HOST=selenium-hub
    deploy:
      replicas: 1
    entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh'

  selenium-hub:
    image: selenium/hub:4.47.0-20260808
    ports:
      - "4442:4442"
      - "4443:4443"
      - "4444:4444"