{"id":19701296,"url":"https://github.com/dockpack/base_grid","last_synced_at":"2026-05-08T05:07:22.993Z","repository":{"id":89997667,"uuid":"132805464","full_name":"dockpack/base_grid","owner":"dockpack","description":"Ansible role to deploy a Selenium Grid running with docker-compose","archived":false,"fork":false,"pushed_at":"2019-11-01T23:03:19.000Z","size":189,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-02-27T16:00:47.999Z","etag":null,"topics":["ansible-role","chrome","developer-tools","docker-compose","firefox","selenium-grid","test-automation"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dockpack.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-05-09T19:47:05.000Z","updated_at":"2020-07-22T23:02:05.000Z","dependencies_parsed_at":"2023-05-30T21:00:34.551Z","dependency_job_id":null,"html_url":"https://github.com/dockpack/base_grid","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dockpack/base_grid","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dockpack%2Fbase_grid","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dockpack%2Fbase_grid/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dockpack%2Fbase_grid/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dockpack%2Fbase_grid/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dockpack","download_url":"https://codeload.github.com/dockpack/base_grid/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dockpack%2Fbase_grid/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265553275,"owners_count":23787046,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ansible-role","chrome","developer-tools","docker-compose","firefox","selenium-grid","test-automation"],"created_at":"2024-11-11T21:08:31.467Z","updated_at":"2026-05-08T05:07:22.952Z","avatar_url":"https://github.com/dockpack.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Galaxy](https://img.shields.io/badge/galaxy-dockpack.base__grid-blue.svg?style=flat)](https://galaxy.ansible.com/dockpack/base_grid)[![Build Status](https://api.travis-ci.org/dockpack/base_grid.svg)](https://travis-ci.org/dockpack/base_grid)\n\nBase Grid\n=========\n\nA *Selenium Grid* running with docker-compose and others.\n\n![Selenium Grid screenshot](https://raw.githubusercontent.com/bbaassssiiee/base_grid/master/meta/grid.png)\n\nThe goal is to help web developers make web sites work for the public at large.\n\n`dockpack.base_grid` is an Ansible role that deploys a Selenium grid, and it adds\nsome extra's so you can use it in local mode to simulate the optimal variety of\nweb browsers.\n\nQuite common in corporate life, people have Virtual Desktops\n(Citrix or VMWare Horizon) for Windows, and  on-premise servers running Red Hat\nEnterprise 7, where they could only run a Docker version which is supported by\nRedHat, docker-latest 1.13.\n\nRunning containers would need to work with an internal docker registry like\nSonatype Nexus, and also all internet traffic should be proxied.\n\nWhen you want to automate cross browser testing you would need a Selenium Grid\nthat you can connect to from the Virtual Desktops and from an in-house buildserver\n(Jenkins). The docker-compose grid runs old and new versions of Firefox and\nChrome. These older versions are not present on modern corporate IT systems,\nbut some folks still use them. Microsoft publishes VM images with various older\nversions of Internet Explorer, using Vagrant we can add these to the local grid.\n\nCentos 7.5\n----------\n\nThis Ansible role is tested with my redesign/centos7 Vagrant box. The Packer\nsource is available at\n[https://github.com/bbaassssiiee/redesign](https://github.com/bbaassssiiee/redesign)\n\n```\nvagrant init redesign/centos7\n```\n\nRole Variables\n--------------\n\nThe `defaults/main.yml` file has variables that can be changed for different\nversions mostly. Refer to this page for browser versions supported:\n[https://github.com/SeleniumHQ/docker-selenium/releases](https://github.com/SeleniumHQ/docker-selenium/releases)\nThis role assumes the presence of Docker and a (local) registry like Sonatype\nNexus holding images mentioned in the vars and defaults. This registry can be\nset as `selenium_registry` in your group_vars if needed.\n\nTesting\n-------\n\nYou can imagine that maintaining such test infrastructure is and intricate job,\ntherefore this repo has tools to simulate various things that we need to deal\nwith in the near future (2019) We can address these issues:\n\n1. Python 2.7 to Python 3\n1. Ansible 2.6 to 2.7, and others\n\nRequirements\n------------\n\nPython pip needs to be available to test multiple versions of Ansible with Tox\nand Molecule.\n\n```\npip install requirements.txt\n```\n\nOn-Premise Docker Registry\n--------------------------\n\nYou can download these originals, tag them and push them to your local\nregistry.\n\n```\ndocker pull selenium/node-firefox:3.141.59-iron\ndocker pull  selenium/node-firefox:3.12.0-cobalt\ndocker pull  selenium/node-chrome:3.141.59-iron\ndocker pull  selenium/node-chrome:3.8.1-erbium\"\ndocker pull  selenium/hub:3.141.59-iron\n```\n\n```\ndocker images\ndocker tag ...\ndocker push ...\n```\n\nVagrant testing\n---------------\n\nYou can use 7 versions of Internet Explorer by downloading Microsoft's VMs.\nThis script does the download unzip and `vagrant box add` so you can use the\n`Vagrantfile`.\n\n```\ncd vagrant\n./windows_boxes.py\n```\n\n```\nvagrant up IE8Win7\nvagrant up IE9Win7\nvagrant up IE10Win7\nvagrant up IE11Win7\nvagrant up IE11Win81\nvagrant up MSEdgeWin10\n```\n\nMac Tools\n---------\n\nI test this on a Mac with Vagrant and Virtualbox. I install all Mac tools\nincluded in th `Brewfile` with:\n\n```\nbrew bundle\n```\n\nRoles that go well with this role\n---------------------------------\n\ndockpack.base_goss\ndockpack.base.docker\n\nTox Testing\n-------\n\nTox is used, so the full thing is tested with:\n\n```\ntox\n```\n\nExample Playbook\n----------------\n\nIncluding an example of how to use your role (for instance, with variables\npassed in as parameters) is always nice for users too:\n\n    - name: provision selenium\n      hosts: testsystem\n      become: yes\n      roles:\n        - { role: dockpack.base_grid, tags: 'selenium'}\n\nLicense\n-------\n\nMIT\n\nAuthor Information\n------------------\n\nBas Meijer\n@bbaassssiiee\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdockpack%2Fbase_grid","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdockpack%2Fbase_grid","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdockpack%2Fbase_grid/lists"}