Introducing Chrome Headless Trunk
Image credit Michael Good
Being able to run a modern browser efficiently in the cloud is a game changer. I can imagine a lot of different opportunities especially around automating workflows for knowledge workers. To keep up with the rapid progress, I like to be able to easily run the latest versions of Chrome from the trunk.
Since I wasn’t able to find an up to date image, I went ahead and created one. It is available on Docker Hub here: https://hub.docker.com/r/alpeware/chrome-headless-trunk/
I’m tagging each build with the revision and kick off a new build whenever a new revision is available in the official Chromium Snapshot bucket.
Here are the build settings showing how to use git tags to tag Docker images:
Autobuilds on Docker Hub are powered by public GitHub or Bitbucket repos and kicked off whenever there’s a new commit to the repo. To make sure you can reference a specific build by its revision number, I’m also tagging each commit accordingly.
You can find the GitHub repo here: https://github.com/alpeware/chrome-headless-trunk
And here you can see the git tags:
I’ve set up a Google App Engine app that periodically checks if there’s a new revision available. If there is, it will update the GitHub repo with the new revision number and tag the commit. This change will trigger two new builds on the Docker Hub: one for the master branch image tagged with latest and one for the specific revision.
This is all very lightweight on the App Engine side since the heavy lifting is all done by the Chromium project building and hosting the binaries and Docker Hub to package and host the images.
If there’s sufficient interest, I might clean it up and make it available as a service for other similar use cases.
When I announced the image on headless-dev on 2017-05-04, the image had about 65 downloads I assume just from my personal use. I’ve since kept an eye on it and it currently (2017-05-12) has 415 pulls. I’ve only pulled it about 5 times since, so there must be others finding some use for it. The GitHub repo has 5 stars of which one is mine and had 1 pull request to fix some formatting.
I thought it would be fun to have some pull stats for the image, so considering keeping track of it on the app engine side since Docker Hub doesn’t seem to provide any stats.
I also took the image as an excuse to implement a simple donation page for Alpeware and added a link to it both on the Docker Hub and the GitHub repo. The idea is to test if there’s enough demand for maintained Docker images and whether donations are a viable business model for FOSS.
It is available here and feel free to use it :)
Subscribe to receive updates.