Feedbin
Feedbin is a simple, fast and nice looking RSS reader.
Introduction
Feedbin is a web based RSS reader. It provides a user interface for reading and managing feeds as well as a REST-like API for clients to connect to.
If you would like to try Feedbin out you can sign up for an account.
The main Feedbin project is a Rails 6 application. In addition to the main project there are several other services that provide additional functionality. None of these services are required to get Feedbin running locally, but they all provide important functionality that you would want for a production install.
- refresher: Refresher is the service that does feed refreshing. Feed refreshes are scheduled as background jobs using Sidekiq. Refresher is kept separate so it can be scaled independently. It's also a benefit to not have to load all of Rails for this service.
- image: Image is the service that finds images to be associated with articles
- camo: Camo is an https image proxy. In production Feedbin is SSL only. One issue with SSL is all assets must be served over SSL as well or the browser will show insecure content warnings. Camo proxies all image requests through an SSL enabled host to prevent this.
- extract: Extract is a Node.js service that extract content from web pages. It is used to extract full pages when a feed only provide excerpts.
Requirements
- Mac OS X or Linux
- Ruby 2.6
- Postgres 10
- Redis > 2.8
- Memcached
- Elasticsearch 2.4
Installation
Ultimately, you'll need a Ruby environment and a Rack compatible application server. For development Pow is recommended.
First, install the dependencies listed under requirements.
Next clone the repository and install the application dependencies
git clone https://github.com/feedbin/feedbin.git
cd feedbin
bundle
If you encounter any errors after running bundle
there is a problem installing one of the dependencies. You must find out how to get this dependency installed on your platform.
Configure
Feedbin uses environment variables for configuration. Feedbin will run without most of these, but various features and functionality will be turned off.
Rename .env.example to .env
and customize it with your settings.
Setup the database
rake db:setup
Start the processes
bundle exec foreman start