-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Background
Slugs are compressed and pre-packaged copies of your application optimized for distribution to the dyno manager. When you
git pushto Heroku, your code is received by the slug compiler which transforms your repository into a slug.
…
Your slug size is displayed at the end of a successful compile after the Compressing message. The maximum allowed slug size (after compression) is 500 MB.
Puppeteer installs a local version of Chromium, which is several hundred megabytes. Thus, adding Puppeteer to any Heroku-hosted project immediately gobbles up a tremendous share of your slug size and risks tipping you over the limit.
Our specific motivation in creating Spinney is to have a lightweight Puppeteer service available to our other applications so we can turn HTML (or URLs) into images (or PDFs) without requiring each of those apps to support a full Puppeteer installation.
Design
Spinney will be a lightweight headless Rails app that proxies the appropriate request to Puppeteer via the Grover gem, and returns the rendered result. It is designed to run on the Heroku free tiers.
Its only initial requirement is to take HTML input and spit out a JPEG, but we'd like to support the entire Grover configuration surface as early as possible.