Coder Social home page Coder Social logo

opensauna's Introduction

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.

  1. Clone the repository: git clone https://github.com/bborn/opensauna.git

  2. Copy sample.env to .env. Don't add .env to the git repo.

  3. Fill in the required values in your .env file.

    SECRET_TOKEN - use rake secret to generate a token

    BASE_HOST_NAME - for Heroku, this will be yourappname.herokuapp.com, unless you add a custom domain, in which case it'll be customdomain.com (without www)

  4. bundle install

  5. rake db:migrate

  6. bundle exec foreman start -f Procfile.local. (The app should now be running on localhost:5000)

Deploying to Heroku

Deploy

To Deploy Manually to heroku:

  1. Create a new Heroku app
  2. Set the required variables from your local .env file on Heroku (using heroku config:set). You can also use the heroku-config plugin to sync local and remote config vars.
  3. Provision the required addons:
  1. 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.

opensauna's People

Contributors

bborn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

opensauna's Issues

You asked about install issues...

Hello,

You've asked for any install problems so I thought I'd document the process I went through installing Sauna on a clean install of Ubuntu Server 12.04.2. I wasn't sure where else to post this so I've put it here.

As will become obvious I have absolutely no clue what I'm doing but it might be useful.

Installing Mongo DB

Installing Redis

  • sudo apt-get install make
  • sudo apt-get install gcc
  • wget http://download.redis.io/redis-stable.tar.gz
  • tar xvzf redis-stable.tar.gz
  • cd redis-stable
  • cd deps
  • make hiredis lua jemalloc linenoise
  • cd ..
  • make
  • sudo make install
  • sudo apt-get install tk8.5 tcl8.5
  • Now run a test by entering the following command: make test

Install Ruby and Rails

  • sudo apt-get -y install build-essential zlib1g-dev libssl-dev libxml2-dev libxslt-dev libreadline6-dev libyaml-dev
  • cd /tmp
  • wget http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p286.tar.gz
  • tar -xvzf ruby-1.9.3-p286.tar.gz
  • cd ruby-1.9.3-p286/
  • ./configure --prefix=/usr/local
  • make
  • sudo make install
  • sudo gem install rails -v 3.2 --no-rdoc --no-ri

Installing Sauna

At this point I had problems with running "bundle install". The fix was to open Gemfile, and then replace git: with https: in all the paths.

At this point I then had a problem with the dependency 'curb'. I ran the following:

  • sudo apt-get install libcurl3 libcurl3-gnutls libcurl4-openssl-dev
  • sudo gem install curb -v '0.8.4'
  • bundle install

Then I had a problem with dependency 'pg'. So:

  • apt-get install libpq-dev
  • sudo gem install pg -v '0.16.0'
  • bundle install

Then it was sqlite. So:

  • sudo apt-get install sqlite3 libsqlite3-dev
  • sudo gem install sqlite3 -v '1.3.7'
  • bundle install

Then it worked! Now I needed to run 'rake secret' to get a secret for the config but this failed so:

  • sudo apt-get install nodejs
  • rake secret
  • copy the secret that is output
  • vim .env
  • paste in secret and save file

Now:

  • rake db:migrate
  • bundle exec foreman start -f Procfile.local

This didn't work because mongo complained about a missing db path so:

  • mkdir /data
  • mkdir /data/db
  • sudo chmod 777 /data/db
  • bundle exec foreman start -f Procfile.local

Getting the above command to run is a bit of a pain because because it'll fail if the MongoDB or Redis servers are already running. The following commands are useful:

  • killall redis-server
  • sudo service mongodb stop

So now I've gone to the webapp on port 5000 and set up an account, I now need to set that account to admin

  • cd opensauna/db
  • sqlite3 development.db
  • update users set admin="1" where email="[email protected]";

Now open browser and go to /admin or /sidekiq

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.