|
| 1 | +--- |
| 2 | +title: "Selenium Grid Docker Images Are Now Mirrored to GHCR" |
| 3 | +linkTitle: "Selenium Grid Docker Images Are Now Mirrored to GHCR" |
| 4 | +date: 2026-04-04 |
| 5 | +tags: [ "Docker", "Grid" ] |
| 6 | +categories: [ "Docker", "Grid" ] |
| 7 | +author: Viet Nguyen Duc [@VietND96](https://github.com/VietND96) |
| 8 | +images: |
| 9 | + - "/images/blog/2026/selenium-grid-docker-images-are-now-mirrored-to-ghcr.jpg" |
| 10 | +description: > |
| 11 | + Official Selenium Grid Docker images are now mirrored to GitHub Container Registry, giving teams an official alternative to Docker Hub. |
| 12 | +--- |
| 13 | + |
| 14 | +The request started with a simple question in [issue #2939](https://github.com/SeleniumHQ/docker-selenium/issues/2939): can we publish Selenium Grid Docker images to GitHub Container Registry as well as Docker Hub? |
| 15 | + |
| 16 | +The answer is now, Yes. |
| 17 | + |
| 18 | +Official Selenium Grid Docker images are now available from **GitHub Container Registry (GHCR)** under: |
| 19 | + |
| 20 | +``` |
| 21 | +ghcr.io/seleniumhq |
| 22 | +``` |
| 23 | + |
| 24 | +This is a mirror, not a replacement. Docker Hub remains available, and existing users do not need to change anything. But if your environment prefers GHCR, blocks Docker Hub, or simply wants another official source for the same images, you now have one. |
| 25 | + |
| 26 | +## Why this matters |
| 27 | + |
| 28 | +The original issue highlighted a problem many teams have run into over the last year: relying on a single public registry creates unnecessary friction. |
| 29 | + |
| 30 | +Issue [#2939](https://github.com/SeleniumHQ/docker-selenium/issues/2939), opened on **August 27, 2025**, started with Docker Hub rate limits but quickly exposed a broader need. For some teams, Docker Hub is inconvenient. For others, it is restricted entirely by policy. The discussion also surfaced concrete use cases around GitHub Actions workflows, especially from forks, enterprise environments that disallow Docker Hub, and local development without Docker Hub authentication. |
| 31 | + |
| 32 | +Publishing to GHCR improves that situation in a few practical ways: |
| 33 | + |
| 34 | +- It gives users an official alternative registry for the same Selenium Grid images. |
| 35 | +- It reduces dependency on a single distribution channel. |
| 36 | +- It makes adoption easier for teams that already standardize on GitHub-hosted packages. |
| 37 | +- It improves resilience during registry outages, service limits, or access restrictions. |
| 38 | + |
| 39 | +The result is a practical improvement to how Selenium Grid images are distributed: one image set, one familiar naming scheme, and more than one official place to pull from. |
| 40 | + |
| 41 | +## What is available |
| 42 | + |
| 43 | +The GHCR namespace for Selenium Grid images is: |
| 44 | + |
| 45 | +```text |
| 46 | +ghcr.io/seleniumhq |
| 47 | +``` |
| 48 | + |
| 49 | +That namespace is important because the original feature request used example paths under `ghcr.io/selenium/...`, while the final published location is **`ghcr.io/seleniumhq/...`**. |
| 50 | + |
| 51 | +From the rollout tracked in issue `#2939` and the current repository state: |
| 52 | + |
| 53 | +- `nightly` tags are available on GHCR for all images. |
| 54 | +- Release images are available on GHCR, with the first full release called out in the issue as [`4.42.0-20260303`](https://github.com/SeleniumHQ/docker-selenium/releases/tag/4.42.0-20260303). |
| 55 | +- Recent CI updates in the repository also extend GHCR mirroring for Dev/Beta browser images. |
| 56 | + |
| 57 | +You can browse the published packages here: |
| 58 | + |
| 59 | +- https://github.com/orgs/SeleniumHQ/packages?repo_name=docker-selenium |
| 60 | + |
| 61 | +## How to pull from GHCR |
| 62 | + |
| 63 | +If you already use Selenium Grid images from Docker Hub, switching to GHCR is mostly a matter of replacing the registry prefix. |
| 64 | + |
| 65 | +For example: |
| 66 | + |
| 67 | +```bash |
| 68 | +docker pull ghcr.io/seleniumhq/standalone-chrome:latest |
| 69 | + |
| 70 | +docker run -d -p 4444:4444 \ |
| 71 | + ghcr.io/seleniumhq/standalone-chrome:latest |
| 72 | +``` |
| 73 | + |
| 74 | +If you want a pinned release instead of `latest`: |
| 75 | + |
| 76 | +```bash |
| 77 | +docker pull ghcr.io/seleniumhq/standalone-firefox:4.42.0-20260303 |
| 78 | +``` |
| 79 | + |
| 80 | +If you are testing against the bleeding edge: |
| 81 | + |
| 82 | +```bash |
| 83 | +docker pull ghcr.io/seleniumhq/node-chrome:nightly |
| 84 | +``` |
| 85 | + |
| 86 | +The naming model stays familiar. The main change is the registry hostname and namespace. |
| 87 | + |
| 88 | +## What is not changing |
| 89 | + |
| 90 | +This rollout is intentionally additive. |
| 91 | + |
| 92 | +- Docker Hub images are still part of the Selenium Grid distribution story. |
| 93 | +- Existing commands that use `selenium/<image>:<tag>` continue to work. |
| 94 | +- Users can adopt GHCR at their own pace. |
| 95 | + |
| 96 | +That matters because the goal here is flexibility, not churn. Teams that are happy with Docker Hub can stay where they are. Teams that need GHCR can move immediately without waiting for custom mirrors or maintaining internal rebuilds of Selenium Grid images. |
| 97 | + |
| 98 | +## Thank you |
| 99 | + |
| 100 | +Thanks to everyone who raised the need, added concrete use cases, and helped push the rollout forward. Community feedback in issue [#2939](https://github.com/SeleniumHQ/docker-selenium/issues/2939) helped move this from a feature request into delivered infrastructure. |
| 101 | + |
| 102 | +If you are already using the new mirror, or plan to switch CI workloads over to GHCR, feedback on image coverage and pull experience will help guide the next refinements. |
| 103 | + |
| 104 | +Happy testing! |
0 commit comments