Sauna
Filter your social streams. Find the fresh links. Share with your readers.
Sauna is a social news aggregator and curation tool. This is the open-source version of Sauna.io.
It scans your Twitter stream and RSS feeds looking for links. And it automatically extracts the important text and images from each link. Over time, Sauna learns what types of links you like, and hides the ones you don't.
Sauna also allows you to curate the links you like with your friends, fans, or readers. Create a customized linkstream site (like bruno.sauna.io). Built-in social sharing on Twitter and Facebook, with scheduled posting.
Sauna was created by Bruno Bornsztein for Curbly.
Installation
Note: I'm still trying to smooth out the install process. Please help me out by going through the steps and telling me what doesn't work!
Sauna runs on Ruby 1.9.x with Rails 3.2.
Prior to installing, you'll need mongodb and Redis installed on your machine.
- Clone the repository:
git clone https://github.com/bborn/opensauna.git
- Copy
sample.env
to.env
. Don't add.env
to the git repo. -
Fill in the required values in your
.env
file.SECRET_TOKEN
- userake secret
to generate a tokenBASE_HOST_NAME
- for Heroku, this will beyourappname.herokuapp.com
, unless you add a custom domain, in which case it'll becustomdomain.com
(withoutwww
) bundle install
rake db:migrate
bundle exec foreman start -f Procfile.local
. (The app should now be running onlocalhost:5000
)
Deploying to Heroku
To Deploy to heroku:
- Create a new Heroku app
- Set the required variables from your local
.env
file on Heroku (usingheroku config:set
). You can also use the heroku-config plugin to sync local and remote config vars. - Provision the required addons:
- Push your app to Heroku (
git push heroku
) and migrate (heroku run rake db:migrate
)
Running Workers on Heroku
Look in the Procfile
to see which processes are defined. You can leave
workers running for each of these, but a better approach is to use
autoscaling. Try Hirefire,
AdeptScale or the
Autoscaler gem.
Admin User
Set the boolean admin
attribute to true
on a user to give him access to the
admin backend (/admin
) and Sidekiq UI (/sidekiq
). On Heroku, you can
use heroku run console
to do this.