{"id":21541733,"url":"https://github.com/spryker/docker-chromedriver","last_synced_at":"2025-10-03T19:33:00.411Z","repository":{"id":41968168,"uuid":"301683781","full_name":"spryker/docker-chromedriver","owner":"spryker","description":"Chromedriver with Chromium Docker image / PHP Installer","archived":false,"fork":false,"pushed_at":"2022-12-28T16:44:41.000Z","size":20,"stargazers_count":9,"open_issues_count":1,"forks_count":2,"subscribers_count":10,"default_branch":"master","last_synced_at":"2024-09-22T01:23:56.627Z","etag":null,"topics":["chromedriver","chromium","composer","docker","dockerfile","php"],"latest_commit_sha":null,"homepage":"https://spryker.com/","language":"Shell","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/spryker.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-10-06T10:00:11.000Z","updated_at":"2024-08-01T11:47:40.000Z","dependencies_parsed_at":"2023-01-31T07:01:06.053Z","dependency_job_id":null,"html_url":"https://github.com/spryker/docker-chromedriver","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spryker%2Fdocker-chromedriver","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spryker%2Fdocker-chromedriver/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spryker%2Fdocker-chromedriver/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spryker%2Fdocker-chromedriver/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/spryker","download_url":"https://codeload.github.com/spryker/docker-chromedriver/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248155769,"owners_count":21056701,"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":["chromedriver","chromium","composer","docker","dockerfile","php"],"created_at":"2024-11-24T05:07:26.701Z","updated_at":"2025-10-03T19:32:55.376Z","avatar_url":"https://github.com/spryker.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Chromedriver Chromium\n\nThis is a [Dockerfile](https://docs.docker.com/engine/reference/builder/) to\ncreate a [Webdriver](https://www.w3.org/TR/webdriver/) image with\n[ChromeDriver](https://chromedriver.chromium.org/) and\n[Chromium](https://www.chromium.org/) out-of-box.\n\n## Usage\n\n### General\nThe `spryker/chromedriver` image is public and available on Docker Hub. You can use this\nrepository to run and install Chromedriver with appropriate version of Chromium within:\n- [Docker](#docker)\n- [Composer (PHP)](#composer)\n- [Travis CI](#travis)\n\n#### Docker\nThe `spryker/chromedriver` is available on Docker Hub. starts a Chromedriver server on port `4444`\nby default. In its turn, Chromedriver wraps Webdriver to run tests within `Chromium` ecosystem.\n\nThe very basic [docker-compose](https://docs.docker.com/compose/compose-file/)\nconfiguration that is sufficient to use Chromium and Chromedriver within your ecosystem is next:\n\n```yml\nversion: \"3.7\"\nservices:\n  chromedriver:\n    image: spryker/chromedriver\n    init: true\n    environment:\n      - CHROMIUM_VERSION=726767\n    volumes:\n      - ./assets:/home/webdriver/assets:ro\n    expose:\n      - \"4444\"\n```\n\nYou can control the revision of Chromium (and Chromedriver as well) with just putting\n`CHROMIUM_REVISION` environment variable into docker-compose template (as mentioned above).\n\n#### Composer\nTo install Chromedriver with Chromium onboard, you just need to run\n```shell script\ncomposer require --dev \"spryker/docker-chromedriver\"\n```\nand modify `composer.json` file to make all necessary installation actions:\n```json\n{\n  \"scripts\": {\n    \"post-install-cmd\": [\n      \"ChromedriverInstaller\\\\Installer::installChromedriver\"\n    ],\n    \"post-update-cmd\": [\n      \"ChromedriverInstaller\\\\Installer::installChromedriver\"\n    ]\n  }\n}\n```\nThis will lead to install of the `latest` nightly build of Chromedriver and Chromium.\n\nTo freeze version of Chromedriver you can take on any [revision number](https://commondatastorage.googleapis.com/chromium-browser-snapshots/index.html?prefix=Linux_x64/) and mention it\nwithin `composer.json` configuration (just ensure your revision contains both Chromedriver and Chromium archives):\n```json\n{\n  \"config\": {\n    \"chromium-revision\": 814168\n  }\n}\n```\n\nNext time you will run Composer install/update, script will check whether\nthe revision has changed and/or differs from latest/fixed one. If so, it will install the actual version of\nChromedriver. Nothing will happen in else case. This is to reduce Composer worktime.\n\n##### Skip installation\nTo ignore Chromedriver installation process just set the appropriate variable berfore running Composer:\n```shell script\nexport COMPOSER_IGNORE_CHROMEDRIVER=1\n```\nThis will force skipping installation procedure during Composer run.\n\n#### Travis CI\nTo use this package within Travis image you just need to use `chromium-installer` to prepare Chromium and Chromedriver for run.\n\nFirst of all, you need to specify cache directory:\n\n```yml\ncache:\n  directories:\n    - $HOME/chromium-ecosystem\n```\n\nThen download and unzip installer:\n\n```yml\nbefore_install:\n  # Chromedriver section\n  - curl -L \"https://github.com/spryker/docker-chromedriver/archive/master.zip\" -o $HOME/chromium-ecosystem/chromiumdriver.zip\n  - unzip -o $HOME/chromium-ecosystem/chromiumdriver.zip -d $HOME/chromium-ecosystem/\n  # Here you can leave 0 for installing latest nightly build\n  - export CHROMEDRIVER_REVISION=814168\n```\n\nAnd finally run installer:\n\n```yml\n  # Exposes ${CHROMEDRIVER_BINARY} and ${CHROMIUM_BINARY}\n  - . $HOME/chromium-ecosystem/chromiumdriver-master/chromium-installer $CHROMEDRIVER_REVISION $HOME/chromium-ecosystem false\n```\n\nAnd finally, ensure you have added all dependencies, needed to run `Chromium`:\n\n```yml\naddons:\n  apt:\n    update: true\n    packages:\n      - unzip\n      - gnupg\n      - libnss3-dev\n      - ca-certificates\n      - fonts-liberation\n      - libappindicator3-1\n      - libasound2\n      - libatk-bridge2.0-0\n      - libatk1.0-0\n      - libc6\n      - libcairo2\n      - libcups2\n      - libdbus-1-3\n      - libexpat1\n      - libfontconfig1\n      - libgbm1\n      - libgcc1\n      - libglib2.0-0\n      - libgtk-3-0\n      - libnspr4\n      - libnss3\n      - libpango-1.0-0\n      - libpangocairo-1.0-0\n      - libstdc++6\n      - libx11-6\n      - libx11-xcb1\n      - libxcb1\n      - libxcomposite1\n      - libxcursor1\n      - libxdamage1\n      - libxext6\n      - libxfixes3\n      - libxi6\n      - libxrandr2\n      - libxrender1\n      - libxss1\n      - libxtst6\n      - lsb-release\n      - wget\n      - xdg-utils\n```\n\nThat's it! Now you can just run `Chromedriver` and pass right `Chromium` executable into Webdriver config:\n\n```yml\nscript:\n- bash -c \"${CHROMEDRIVER_BINARY} --port=4444 --whitelisted-ips= --url-base=/wd/hub --log-path=/tmp/chromedriver.log --log-level=DEBUG\" \u003e /dev/null \u0026\n``` \n\n## Dependencies\nTo run Chromedriver with Chromium you need to install this list of dependencies beforehand:\n```shell script\napt-get update \u0026\u0026 apt-get install gnupg \\\n      libnss3-dev \\\n      ca-certificates \\\n      fonts-liberation \\\n      libappindicator3-1 \\\n      libasound2 \\\n      libatk-bridge2.0-0 \\\n      libatk1.0-0 \\\n      libc6 \\\n      libcairo2 \\\n      libcups2 \\\n      libdbus-1-3 \\\n      libexpat1 \\\n      libfontconfig1 \\\n      libgbm1 \\\n      libgcc1 \\\n      libglib2.0-0 \\\n      libgtk-3-0 \\\n      libnspr4 \\\n      libnss3 \\\n      libpango-1.0-0 \\\n      libpangocairo-1.0-0 \\\n      libstdc++6 \\\n      libx11-6 \\\n      libx11-xcb1 \\\n      libxcb1 \\\n      libxcomposite1 \\\n      libxcursor1 \\\n      libxdamage1 \\\n      libxext6 \\\n      libxfixes3 \\\n      libxi6 \\\n      libxrandr2 \\\n      libxrender1 \\\n      libxss1 \\\n      libxtst6 \\\n      lsb-release \\\n      wget \\\n      xdg-utils\n```\n\n## Software\nThe following software is included in this image:\n- [ChromeDriver](https://chromedriver.chromium.org/) (latest)\n- [The Chromium Project](https://www.chromium.org/) (latest)\n\n## Pay attention\n\nSince this package relies on nightly builds, not all versions of Chromium are available to download.\nTo check the available revisions, please visit\n[Google Chromium Snapshots](https://commondatastorage.googleapis.com/chromium-browser-snapshots/index.html?prefix=Linux_x64/)\narchive and find appropriate snapshot revision.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspryker%2Fdocker-chromedriver","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fspryker%2Fdocker-chromedriver","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspryker%2Fdocker-chromedriver/lists"}