Skip to content

szimek/heroku-phantomjs-to-s3

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PhantomJS-S3 Screenshot Renderer Web Service

This node.js web service takes a PNG screenshot of the specified URL and uploads it to an AWS S3 bucket. It uses PhantomJS and Shinichi Tomita's PhantomJS Buildpack for Heroku.

Unlike similar packages, this one does not require separate Node/PhantomJS servers. Instead it spawns PhantomJS as a child process.

Usage

Make a post request to /screenshot with the following params:

  • address Make sure to include http://
  • size Can be any size (w x h), eg: 600px*800px, 1080px*720px

How to deploy to Heroku:

Create app and push:

$ heroku create <app-name> --stack cedar --buildpack https://github.com/ddollar/heroku-buildpack-multi.git
$ git push heroku master

Make sure paths are set correctly:

$ heroku config
LD_LIBRARY_PATH: /usr/local/lib:/usr/lib:/lib:/app/vendor/phantomjs/lib
PATH:            /usr/local/bin:/usr/bin:/bin:/app/vendor/phantomjs/bin

Set AWS config vars:

$ heroku config:add AWS_ACCESS_KEY_ID=<your_aws_key_id>
$ heroku config:add AWS_SECRET_ACCESS_KEY=<your_aws_secret_access_key>
$ heroku config:add AWS_BUCKET_NAME=<name_of_your_bucket>

Set NODE_ENV as recommended by Heroku:

$ heroku config:set NODE_ENV=production

Scale as needed:

$ heroku ps:scale web=<number_of_desired_dynos>

About

Heroku PhantomJS to S3 screenshot rendering service

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%