NightmareJS on Heroku

by oscarmorrison



NightmareJS on Heroku Heroku deploy

contributions welcome license GitHub issues


NightmareJS is an awesome highlevel webscraping and browser automation library built ontop of electron. This repo is a good starting place to be able to use it with some default setups ontop of heroku using the following instructions. Read more

Getting started

  • git clone --depth 1 [new-project-name]

  • cd [new-project-name]

  • rm -rf .git

  • git init

  • setup git remote repository on from existing code

git remote add origin[username]/[new-project-name].git
git add -A
git commit -m "Initial commit"
git push -u origin master
  • heroku create
  • heroku stack:set cedar-14
  • set build packs
heroku buildpacks:add --index 1 &&
heroku buildpacks:add --index 2 &&
heroku buildpacks:add --index 3 &&
heroku buildpacks:add --index 4
  • git push heroku master
  • goto heroku dashboard and select created app; install Heroku Scheduler add-on
  • heroku ps:scale web=0
  • node ./index.js to verify nightmare runs correctly locally; npm install needs to be run. The following output should be seen.
Welcome to Nightmare scrape
NightmareJS on Heroku the ultimate scraping setup
All done
  • Open heroku app from heroku dashboard. 'Application error' is displayed because no routes have been defined yet so this is normal in this case.
  • heroku logs to check output for any errors. If everything went well, near the bottom of the output the 'Welcome to Nightmare scrape' messages as displayed above should appear. Now, you can work on the rest of your code knowing that nightmarejs will work on heroku as it works locally.



You may need to set a engines in package.json:

"engines": {
      "node": "8.11.4"