PHPackages                             spryker/docker-chromedriver - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [DevOps &amp; Deployment](/categories/devops)
4. /
5. spryker/docker-chromedriver

ActiveCustom-installer[DevOps &amp; Deployment](/categories/devops)

spryker/docker-chromedriver
===========================

Source of Chromedriver with Chromium for building Docker containers and integrated usage.

101.7M↓31.5%2[1 PRs](https://github.com/spryker/docker-chromedriver/pulls)9Shell

Since Oct 8Pushed 1y ago6 watchersCompare

[ Source](https://github.com/spryker/docker-chromedriver)[ Packagist](https://packagist.org/packages/spryker/docker-chromedriver)[ RSS](/packages/spryker-docker-chromedriver/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (9)

Chromedriver Chromium
=====================

[](#chromedriver-chromium)

This is a [Dockerfile](https://docs.docker.com/engine/reference/builder/) to create a [Webdriver](https://www.w3.org/TR/webdriver/) image with [ChromeDriver](https://chromedriver.chromium.org/) and [Chromium](https://www.chromium.org/) out-of-box.

Usage
-----

[](#usage)

### General

[](#general)

The `spryker/chromedriver` image is public and available on Docker Hub. You can use this repository to run and install Chromedriver with appropriate version of Chromium within:

- [Docker](#docker)
- [Composer (PHP)](#composer)
- [Travis CI](#travis)

#### Docker

[](#docker)

The `spryker/chromedriver` is available on Docker Hub. starts a Chromedriver server on port `4444`by default. In its turn, Chromedriver wraps Webdriver to run tests within `Chromium` ecosystem.

The very basic [docker-compose](https://docs.docker.com/compose/compose-file/)configuration that is sufficient to use Chromium and Chromedriver within your ecosystem is next:

```
version: "3.7"
services:
  chromedriver:
    image: spryker/chromedriver
    init: true
    environment:
      - CHROMIUM_VERSION=726767
    volumes:
      - ./assets:/home/webdriver/assets:ro
    expose:
      - "4444"
```

You can control the revision of Chromium (and Chromedriver as well) with just putting `CHROMIUM_REVISION` environment variable into docker-compose template (as mentioned above).

#### Composer

[](#composer)

To install Chromedriver with Chromium onboard, you just need to run

```
composer require --dev "spryker/docker-chromedriver"
```

and modify `composer.json` file to make all necessary installation actions:

```
{
  "scripts": {
    "post-install-cmd": [
      "ChromedriverInstaller\\Installer::installChromedriver"
    ],
    "post-update-cmd": [
      "ChromedriverInstaller\\Installer::installChromedriver"
    ]
  }
}
```

This will lead to install of the `latest` nightly build of Chromedriver and Chromium.

To 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 within `composer.json` configuration (just ensure your revision contains both Chromedriver and Chromium archives):

```
{
  "config": {
    "chromium-revision": 814168
  }
}
```

Next time you will run Composer install/update, script will check whether the revision has changed and/or differs from latest/fixed one. If so, it will install the actual version of Chromedriver. Nothing will happen in else case. This is to reduce Composer worktime.

##### Skip installation

[](#skip-installation)

To ignore Chromedriver installation process just set the appropriate variable berfore running Composer:

```
export COMPOSER_IGNORE_CHROMEDRIVER=1
```

This will force skipping installation procedure during Composer run.

#### Travis CI

[](#travis-ci)

To use this package within Travis image you just need to use `chromium-installer` to prepare Chromium and Chromedriver for run.

First of all, you need to specify cache directory:

```
cache:
  directories:
    - $HOME/chromium-ecosystem
```

Then download and unzip installer:

```
before_install:
  # Chromedriver section
  - curl -L "https://github.com/spryker/docker-chromedriver/archive/master.zip" -o $HOME/chromium-ecosystem/chromiumdriver.zip
  - unzip -o $HOME/chromium-ecosystem/chromiumdriver.zip -d $HOME/chromium-ecosystem/
  # Here you can leave 0 for installing latest nightly build
  - export CHROMEDRIVER_REVISION=814168
```

And finally run installer:

```
  # Exposes ${CHROMEDRIVER_BINARY} and ${CHROMIUM_BINARY}
  - . $HOME/chromium-ecosystem/chromiumdriver-master/chromium-installer $CHROMEDRIVER_REVISION $HOME/chromium-ecosystem false
```

And finally, ensure you have added all dependencies, needed to run `Chromium`:

```
addons:
  apt:
    update: true
    packages:
      - unzip
      - gnupg
      - libnss3-dev
      - ca-certificates
      - fonts-liberation
      - libappindicator3-1
      - libasound2
      - libatk-bridge2.0-0
      - libatk1.0-0
      - libc6
      - libcairo2
      - libcups2
      - libdbus-1-3
      - libexpat1
      - libfontconfig1
      - libgbm1
      - libgcc1
      - libglib2.0-0
      - libgtk-3-0
      - libnspr4
      - libnss3
      - libpango-1.0-0
      - libpangocairo-1.0-0
      - libstdc++6
      - libx11-6
      - libx11-xcb1
      - libxcb1
      - libxcomposite1
      - libxcursor1
      - libxdamage1
      - libxext6
      - libxfixes3
      - libxi6
      - libxrandr2
      - libxrender1
      - libxss1
      - libxtst6
      - lsb-release
      - wget
      - xdg-utils
```

That's it! Now you can just run `Chromedriver` and pass right `Chromium` executable into Webdriver config:

```
script:
- bash -c "${CHROMEDRIVER_BINARY} --port=4444 --whitelisted-ips= --url-base=/wd/hub --log-path=/tmp/chromedriver.log --log-level=DEBUG" > /dev/null &
```

Dependencies
------------

[](#dependencies)

To run Chromedriver with Chromium you need to install this list of dependencies beforehand:

```
apt-get update && apt-get install gnupg \
      libnss3-dev \
      ca-certificates \
      fonts-liberation \
      libappindicator3-1 \
      libasound2 \
      libatk-bridge2.0-0 \
      libatk1.0-0 \
      libc6 \
      libcairo2 \
      libcups2 \
      libdbus-1-3 \
      libexpat1 \
      libfontconfig1 \
      libgbm1 \
      libgcc1 \
      libglib2.0-0 \
      libgtk-3-0 \
      libnspr4 \
      libnss3 \
      libpango-1.0-0 \
      libpangocairo-1.0-0 \
      libstdc++6 \
      libx11-6 \
      libx11-xcb1 \
      libxcb1 \
      libxcomposite1 \
      libxcursor1 \
      libxdamage1 \
      libxext6 \
      libxfixes3 \
      libxi6 \
      libxrandr2 \
      libxrender1 \
      libxss1 \
      libxtst6 \
      lsb-release \
      wget \
      xdg-utils
```

Software
--------

[](#software)

The following software is included in this image:

- [ChromeDriver](https://chromedriver.chromium.org/) (latest)
- [The Chromium Project](https://www.chromium.org/) (latest)

Pay attention
-------------

[](#pay-attention)

Since this package relies on nightly builds, not all versions of Chromium are available to download. To check the available revisions, please visit [Google Chromium Snapshots](https://commondatastorage.googleapis.com/chromium-browser-snapshots/index.html?prefix=Linux_x64/)archive and find appropriate snapshot revision.

###  Health Score

30

—

LowBetter than 64% of packages

Maintenance29

Infrequent updates — may be unmaintained

Popularity46

Moderate usage in the ecosystem

Community25

Small or concentrated contributor base

Maturity17

Early-stage or recently created project

 Bus Factor1

Top contributor holds 50% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/10738957?v=4)[Spryker Bot](/maintainers/spryker-bot)[@spryker-bot](https://github.com/spryker-bot)

---

Top Contributors

[![alexanderM91](https://avatars.githubusercontent.com/u/20976979?v=4)](https://github.com/alexanderM91 "alexanderM91 (12 commits)")[![bezpiatovs](https://avatars.githubusercontent.com/u/68903876?v=4)](https://github.com/bezpiatovs "bezpiatovs (8 commits)")[![zyuzka](https://avatars.githubusercontent.com/u/12764988?v=4)](https://github.com/zyuzka "zyuzka (3 commits)")[![spryker-release-bot](https://avatars.githubusercontent.com/u/26904324?v=4)](https://github.com/spryker-release-bot "spryker-release-bot (1 commits)")

---

Tags

chromedriverchromiumcomposerdockerdockerfilephp

### Embed Badge

![Health badge](/badges/spryker-docker-chromedriver/health.svg)

```
[![Health](https://phpackages.com/badges/spryker-docker-chromedriver/health.svg)](https://phpackages.com/packages/spryker-docker-chromedriver)
```

###  Alternatives

[deployer/deployer

Deployment Tool

11.1k25.4M207](/packages/deployer-deployer)[appwrite/server-ce

End to end backend server for frontend and mobile apps.

55.3k84.2k](/packages/appwrite-server-ce)[pragmarx/health

Laravel Server &amp; App Health Monitor and Notifier

2.0k1.0M2](/packages/pragmarx-health)[felixfbecker/language-server-protocol

PHP classes for the Language Server Protocol

22476.7M6](/packages/felixfbecker-language-server-protocol)[heroku/heroku-buildpack-php

Toolkit for starting a PHP application locally, with or without foreman, using the same config for PHP and Apache2/Nginx as on Heroku

8161.3M10](/packages/heroku-heroku-buildpack-php)[tiamo/phpas2

PHPAS2 is a php-based implementation of the EDIINT AS2 standard

4674.7k](/packages/tiamo-phpas2)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
