All Projects → heroku → Heroku Buildpack Google Chrome

heroku / Heroku Buildpack Google Chrome

Run (headless) Google Chrome on Heroku

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to Heroku Buildpack Google Chrome

Tabsorter2
Google Chrome Tab Management Extension - Merge, Sort, split and more :)
Stars: ✭ 44 (-79.53%)
Mutual labels:  google-chrome
Chrome Tabs
Chrome-style tabs in HTML/CSS.
Stars: ✭ 1,348 (+526.98%)
Mutual labels:  google-chrome
Marinara
Pomodoro® time management assistant for Chrome
Stars: ✭ 1,806 (+740%)
Mutual labels:  google-chrome
Heroku Buildpack Nodejs
The official Heroku buildpack for Node.js apps.
Stars: ✭ 1,146 (+433.02%)
Mutual labels:  heroku-buildpack
Heroku Buildpack Hugo
Heroku buildpack for Hugo, the static site generator - https://github.com/spf13/hugo
Stars: ✭ 79 (-63.26%)
Mutual labels:  heroku-buildpack
Chrome
Docker Automated Build Repository for siomiz/chrome -- Google Chrome via VNC (or via Chrome Remote Desktop)
Stars: ✭ 97 (-54.88%)
Mutual labels:  google-chrome
Heroku Buildpack Elm
Heroku buildpack for deploying Elm apps (NEEDS MAINTAINER)
Stars: ✭ 39 (-81.86%)
Mutual labels:  heroku-buildpack
Chromium Ipc Sniffer
A tool to capture communication between Chromium processes on Windows
Stars: ✭ 197 (-8.37%)
Mutual labels:  google-chrome
Heroku Pinger
😴 Keep your free Heroku dynos awake
Stars: ✭ 84 (-60.93%)
Mutual labels:  heroku-buildpack
Cn2tw4programmer
將簡體中文中常用的 Computer Science 詞彙轉換成繁體中文的詞彙
Stars: ✭ 104 (-51.63%)
Mutual labels:  google-chrome
Chrome Docker
Chrome, in a Docker container.
Stars: ✭ 69 (-67.91%)
Mutual labels:  google-chrome
Uget Chrome Wrapper
Moved to https://github.com/ugetdm/uget-integrator and https://github.com/ugetdm/uget-extension
Stars: ✭ 74 (-65.58%)
Mutual labels:  google-chrome
Reddit Bot
🤖 Making a Reddit Bot using Python, Heroku and Heroku Postgres.
Stars: ✭ 99 (-53.95%)
Mutual labels:  heroku-buildpack
Heroku Buildpack Datadog
Heroku Buildpack to run Datadog DogStatsD in a Dyno
Stars: ✭ 55 (-74.42%)
Mutual labels:  heroku-buildpack
The Glorious Startpage
a glorified startpage
Stars: ✭ 127 (-40.93%)
Mutual labels:  google-chrome
Cookie Autodelete
Firefox and Chrome WebExtension that deletes cookies and other browsing site data as soon as the tab closes, domain changes, browser restarts, or a combination of those events.
Stars: ✭ 1,015 (+372.09%)
Mutual labels:  google-chrome
Booklight
Your Chrome Alfred - An Extension to provide spotlight-like interface for your bookmarks
Stars: ✭ 98 (-54.42%)
Mutual labels:  google-chrome
Subdir Heroku Buildpack
Allows to use subdirectory configured via environment variable as a project root
Stars: ✭ 211 (-1.86%)
Mutual labels:  heroku-buildpack
Chromium Vim
Vim bindings for Google Chrome.
Stars: ✭ 2,150 (+900%)
Mutual labels:  google-chrome
Tabfern
Google Chrome extension for saving and restoring sets of tabs, and for switching between windows and tabs from a vertical, grouped list.
Stars: ✭ 102 (-52.56%)
Mutual labels:  google-chrome

heroku-buildpack-google-chrome

This buildpack downloads and installs (headless) Google Chrome from your choice of release channels.

Channels

You can choose your release channel by specifying GOOGLE_CHROME_CHANNEL as a config var for your app, in your app.json (for Heroku CI and Review Apps), or in your pipeline settings (for Heroku CI).

Valid values are stable, beta, and unstable. If unspecified, the stable channel will be used.

Shims and Command Line Flags

This buildpack installs shims that always add --headless, --disable-gpu, --no-sandbox, and --remote-debugging-port=9222 to any google-chrome command as you'll have trouble running Chrome on a Heroku dyno otherwise.

You'll have two of these shims on your path: google-chrome and google-chrome-$GOOGLE_CHROME_CHANNEL. They both point to the binary of the selected channel.

Selenium

To use Selenium with this buildpack, you'll also need Chrome's webdriver. This buildpack does not install chromedriver, but there is a chromedriver buildpack also available.

Additionally, chromedriver expects Chrome to be installed at /usr/bin/google-chrome, but that's a read-only filesystem in a Heroku slug. You'll need to tell Selenium/chromedriver that the chrome binary is at /app/.apt/usr/bin/google-chrome instead.

To make that easier, this buildpack makes $GOOGLE_CHROME_BIN, and $GOOGLE_CHROME_SHIM available as environment variables. With them, you can use the standard location locally and the custom location on Heroku. An example configuration for Ruby's Capybara:

chrome_bin = ENV.fetch('GOOGLE_CHROME_SHIM', nil)

chrome_opts = chrome_bin ? { "chromeOptions" => { "binary" => chrome_bin } } : {}

Capybara.register_driver :chrome do |app|
  Capybara::Selenium::Driver.new(
     app,
     browser: :chrome,
     desired_capabilities: Selenium::WebDriver::Remote::Capabilities.chrome(chrome_opts)
  )
end

Capybara.javascript_driver = :chrome

Releasing a new version

Make sure you publish this buildpack in the buildpack registry

heroku buildpacks:publish heroku/google-chrome master

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].