Skip to content

schopenhauer/reebou

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

reebou

Gudde Moien!

I am your friendly RSS and Atom news reader written in Sinatra, the Ruby framework, and pre-configured to fetch and read Luxembourgish (Lëtzebuergesch) newspapers and tabloids.

Features

  • I work out of the box
  • I can read RSS, XML and Atom feeds
  • I am respectful and cache feeds
  • I am lightening fast
  • I am colourful
  • I am made in Luxembourg with love ❤️

Usage

You can add, edit, remove and customise feeds in the feeds.yml configuration file. Once configured, please make sure to install the gems and run the app.

bundle install
foreman start

Procfile and app.yaml are configured with sane defaults. The app is ready to be deployed to the cloud.

Caching

Configuration

Reebou works out of the box with Memcached and Memcachier. Memcached is disabled by default, but you can activate it by setting the following environment variables.

Environment variable Default value Description
MEMCACHED_URL or MEMCACHIER_SERVERS to be set Memcached server or socket
MEMCACHED_USERNAME or MEMCACHIER_USERNAME to be set Memcached username
MEMCACHED_PASSWORD or MEMCACHIER_PASSWORD to be set Memcached password
MEMCACHED_TTL 604800 (7 days) Memcached expiry time
CACHE_TIME 3600 (1 hour) After this time fetch new data
CACHE_VALID 86400 (1 day) Maximum time to use old data
(e.g 0 = forever)
CACHE_PERIOD 600 (10 minutes) Maximum query frequency
(e.g. 0 = unlimited)
CACHE_TIMEOUT 15 (15 seconds) HTTP response timeout
AUTO_FETCH optional Automatic feed fetching
(e.g. 1h = every hour)

Helpful commands (memcached)

Below some help commands to start and use a memcached instance on your machine.

sudo systemctl start memcached
netstat -tap | grep memcached
echo 'stats settings' | nc localhost 11211
echo 'flush_all' | nc localhost 11211

Contributing

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request :D

Credits

License

The app is available as open source under the terms of the MIT License.