back to home

SeleniumHQ / docker-selenium

Provides a simple way to run Selenium Grid with Chrome, Firefox, and Edge using Container Platform, making it easier to perform browser automation at scale

8,613 stars
2,563 forks
76 issues
ShellPythonGo

AI Architecture Analysis

This repository is indexed by RepoMind. By analyzing SeleniumHQ/docker-selenium in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.

Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context on-demand, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.

Source files are only loaded when you start an analysis to optimize performance.

Embed this Badge

Showcase RepoMind's analysis directly in your repository's README.

[![Analyzed by RepoMind](https://img.shields.io/badge/Analyzed%20by-RepoMind-4F46E5?style=for-the-badge)](https://repomind.in/repo/SeleniumHQ/docker-selenium)
Preview:Analyzed by RepoMind

Repository Overview (README excerpt)

Crawler view

Docker images for the Selenium Grid Server The project is made possible by volunteer contributors who have put in thousands of hours of their own time, and made the source code freely available under the Apache License 2.0. These Docker images come with a handful of tags to simplify its usage, have a look at them in one of our releases. To get notifications of new releases, add yourself as a "Releases only" watcher. These images are published to the Docker Hub registry at Selenium Docker Hub. • Hub: • Node-Chrome: • Standalone-Chrome: Helm Chart enables the creation of a Selenium Grid Server in Kubernetes at Community Do you need help to use these Docker images? Talk to us at https://www.selenium.dev/support/ Contents • Community • Contents • System Recommendations • Quick start • Try them out in a ready-to-use GitPod environment! • Experimental Multi-Arch amd64/aarch64/armhf Images • Nightly Images • Dev and Beta Channel Browser Images • Dev and Beta Standalone Mode • Dev and Beta on the Grid • Single Node/Standalone Image With All Browsers • Environment Variables • Execution modes • Standalone • Hub and Nodes • Fully distributed mode - Router, Queue, Distributor, EventBus, SessionMap and Nodes • Video recording • Video recording with dynamic file name based on metadata in tests • Video recording and uploading • Dynamic Grid • Configuration example • Share volumes config of Dynamic Grid container to node browser containers • Execution with Hub & Node roles • Execution with Standalone roles • Using Dynamic Grid in different machines/VMs • Execution with Docker Compose • Configuring the child containers • Video recording, screen resolution, and time zones in a Dynamic Grid • Time zone configuration via env variable • Deploying to Kubernetes • Configuring the containers • SE_OPTS Selenium Configuration Options • SE_JAVA_OPTS Java Environment Options • SE_BROWSER_ARGS_* Add arguments for launching browser • Node configuration options • Node configuration relay commands • Setting Sub Path • Setting Screen Resolution • Grid Url and Session Timeout • Session request timeout • Increasing session concurrency per container • Running in Headless mode • Stopping the Node/Standalone after N sessions have been executed • Automatic browser leftovers cleanup • Mask sensitive information in console logs • Secure Connection • Browser language and locale • Managing processes in container • Building the images • Build the images with specific versions • Upgrade browser version in the images • Upgrade browser and driver versions in the images • Waiting for the Grid to be ready • Adding a HEALTHCHECK to the Grid • Using a bash script to wait for the Grid • Install certificates for Chromium-based browsers • Alternative method: Add certificates to existing Selenium based images for browsers • Debugging • Using a VNC client • Using your browser (no VNC client is needed) • Disabling VNC • Tracing in Grid • Troubleshooting • * Headless • Mounting volumes to retrieve downloaded files • Mounting volumes to retrieve video files • Stargazers over time System Recommendations • Docker Engine 26.1.4 or later • Docker Compose v2.34.0 or later • Docker Buildx v0.25.0 or later • Kubernetes v1.26.15 or later Quick start • Start a Docker container with Firefox • Point your WebDriver tests to http://localhost:4444 • That's it! • (Optional) To see what is happening inside the container, head to . For more details about visualising the container activity, check the Debugging section. :point_up: When executing for an image that contains a browser please use the flag to use the host's shared memory. :point_up: Always use a Docker image with a full tag to pin a specific browser and Grid version. See Tagging Conventions for details. Try them out in a ready-to-use GitPod environment! ___ Experimental Multi-Arch amd64/aarch64/armhf Images From image tag based onwards, the architectures supported by this project are as below: | Architecture | Available | |:-------------------------:|:---------:| | x86_64 (aka amd64) | ✅ | | aarch64 (aka arm64/armv8) | ✅ | | armhf (aka arm32/armv7l) | ❌ | Browser images in multi-arch The following browsers are available in multi-arch images: | Architecture | Chrome | Chromium | Firefox | Edge | CfT | |:-------------------------:|:------:|:--------:|:-------:|:----:|-----| | x86_64 (aka amd64) | ✅ | ✅ | ✅ | ✅ | ✅ | | aarch64 (aka arm64/armv8) | ❌ | ✅ | ✅ | ❌ | ❌ | | armhf (aka arm32/armv7l) | ❌ | ❌ | ❌ | ❌ | ❌ | Note: • **Running an AMD64 image under emulation on an ARM64 platform is not recommended due to performance and stability issues, or browsers could not launch.** • Google does not build Chrome ( ) for Linux/ARM platforms. Hence, the Chrome (node and standalone) images are only available for AMD64. Similarly, Microsoft does not build Edge ( ) for Linux/ARM platforms. • We also supply Chrome for Testing (CfT), but it is only available for Linux/AMD64. • For Linux/ARM use the open source Chromium browser. The Chromium (node and standalone) images are available in multi-arch. • Mozilla Firefox now is available for Linux/ARM64 via APT stable channel from v136+. The Firefox (node and standalone) images are available in multi-arch. ~~Multi-arch images are tested on CircleCI with resource class Linux/ARM64. See the status below.~~ (Moved to GitHub Actions) History of the multi-arch images For experimental docker container images, which run on platforms such as the Apple M-series or Raspberry Pi, the repository at seleniumhq-community/docker-seleniarm provided images which are published on the Seleniarm Docker Hub registry. See issue #1076 for more information on these images. Now, the fork seleniumhq-community/docker-seleniarm was merged. Build the multi-arch images locally We recommend to enable the experimental feature containerd image store in Docker Engine. understands multiplatform images, where a single image tag can refer to different variants covering a range of OS…