A full-featured cloud news reader in Ruby on Rails for those that like to host their own
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
app
bin
config
db
lib
log
public
test
vendor/assets
.gitignore
Gemfile
Gemfile.lock
LICENSE.md
README.md
Rakefile
config.ru

README.md

Newsroom

A simple cloud news reader for those that like to host their own.


Story Detail


Index


Installation Instructions

The app configuration assumes you are using PostgreSQL.

Create a config/secrets.yml file and set the following config variables for your environment:

    production (or development/test):
      secret_key_base: <secret key to sign cookies>
      db_name: <db name>
      db_user: <db user>
      db_password: <db password>

...then...

    $ bundle install

    $ bundle exec rake db:migrate

To run locally:

  $ bundle exec rails server

... And if you would like feeds to automatically be fetched (without you having to click the "refresh" button in-page), set up a cron job that runs the fetch_feeds rake task.

VPS/Dedicated Server

To run Newsroom on a VPS or dedicated server, I recommend using Phusion Passenger. Because this is a very straightforward and idiomatic Rails application with no arcane dependencies it is relatively easy to set up with the standard Passenger configuration.

Note that the production configuration uses memcached heavily. You will want to make sure to install memcached on your VPS or dedicated server to maximize performance. The configuration in config/environments/production.rb assumes the default memcached host/port (localhost:11211).

Mobile/Desktop Readers

Newsroom makes a consolidated RSS feed available at a secret path (ex: reader.yourdomain.com/feed/<secure hex token>/rss.xml). To grab the URL of this consolidated feed navigate to the "/info" page (or click the "info" button on the upper right once logged in).

Thanks

This project borrows some code from the Stringer app. It was initially conceived as a performance-oriented re-implementation of Stringer in idiomatic Rails. It has deviated enough from Stringer that that is no longer a helpful way to frame the project.