Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
steps for setting up @edsu's EARLS on Heroku;

Setting up EARLS

Earls is useful for archiving and counting URLS shared in tweets from a particular hashtag, eg., conference backchat etc. Getting it set up on Heroku (a tiered free service) is fairly straightforward. Getting it to go live requires a credit card tied to your account - but if you're using the free tier, this shouldn't be an issue. Anyway, with the help of Dan Pett I learned how to set one up. Dan set up an earls instance for #msudai.

getting ready

get a heroku account

install git

install node

install toolbelt

and go!

  • on heroku page, I created a new app called 'sg-earls'
  • on twitter's developer page I created a new app so that I could get the twitter credentials we pass to Heroku below.
  • in the terminal, the following sequence of commands:

$ git clone https://github.com/edsu/earls

$ cd earls

$ heroku login

$ heroku config:set EARLS_TRACK="#msudai" --app sg-earls

$ heroku config:set TWITTER_CONSUMER_KEY=XXX --app sg-earls

$ heroku config:set TWITTER_CONSUMER_SECRET=XXX --app sg-earls

$ heroku config:set TWITTER_ACCESS_TOKEN=XXX --app sg-earls

$ heroku config:set TWITTER_ACCESS_TOKEN_SECRET=XXX --app sg-earls

$ git init

$ heroku git:remote -a sg-earls

$ git add .

$ git commit -am "do it"

$ git push heroku master

...at this point, once you're back to the prompt, the url for your app will be displayed. Of course, if you haven't tied a credit card to your account, it won't be live. But otherwise, pretty easy-peasy. Thanks Dan & Ed!

Additional packages on Heroku

Install a logging package so you can see where it has gone wrong:

$ heroku addons:create papertrail:choklad

Install Redistogo from Heroku addons.

$ heroku addons:create redistogo:nano

Getting data into Heroku from twarc archive

To get the data up into your instance I found a few dependencies for Node.js needed to be installed on my OSX Yosemite machine:

$ npm install async

$ npm install redis

$ npm install underscore

$ npm install cheerio

$ npm install express

$ npm install twitter

$ npm install request

$ npm install socket.io

For Twarc I needed to have this installed:

$ pip install pyopenssl ndg-httpsclient pyasn1

Which enabled SSL requests to work.

Now follow the instructions from @edsu's work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment