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.
install git
- 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!
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
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.