back to listing index


[web search]
Original source (
Tags: golang go rss self-hosted
Clipped on: 2018-04-05
Readeef feed agregator
Go Other
api Ignore the limit query parameter in the regular api 2 months ago
cmd Add hubbub api test coverage 4 months ago
config Fix the default config 2 months ago
content Update ui dependencies 5 days ago
feed Use a memstore for the session. 6 months ago
internal/legacy Add an access log middleware to everything except the events endpoint 6 months ago
log Fix a margin error in the article list 5 months ago
parser More parser test coverage 5 months ago
pool Code cleanup 8 months ago
popularity Code rafactor 8 months ago
rf-ng Simplify marking of read articles in the UI 3 days ago
systemd Add an example systemd service file 3 years ago
templates Remove the last old static files and templates 6 months ago
tests Add tag tests 3 years ago
web Simplify marking of read articles in the UI 3 days ago
.gitignore add bower stuff 4 years ago
Gopkg.lock Add test coverage to the event socket handler 4 months ago
Gopkg.toml Update the dependencies 4 months ago
LICENSE gpl -> lgpl 4 years ago Update 3 days ago
TODO merge the read and fav tables into a single table 3 years ago
feed_manager.go Improve article and feed events 6 months ago
feed_manager_test.go More code cleanup 8 months ago
file.list Initial commit of angular ui 8 months ago
fs.go Remove the last old static files and templates 6 months ago
fs_files.go Simplify marking of read articles in the UI 3 days ago
fs_files_nofs.go More code cleanup 8 months ago
hubbub.go Improve article and feed events 6 months ago
hubbub_test.go start replacing the old db usage with the new one 3 years ago
timeout_client.go add a hubbub test and fix things along the way 4 years ago


readeef is a self-hosted feed aggregator. Similar to Google Reader, but on your own server.

For a more detailed description, click here. Some screenshots may also be had on this page

Quick start

readeef is written in Go, and as of October 2017, requires at least version 1.8 of the language. The currently supported databases are PostgreSQL, and SQLite. SQLite support is only built if CGO is enabled. The later is not recommended, as locking problems will occur.

A single binary may be built from the sources. It current contains three subcommands, one for starting the server, one for rebuinding the search index (while the server is stopped), and an administrative command, for manipulating users. Since readeef can use bleve for FTS capabilities, bleve-specific tags (e.g.: libstemmer, cld2, etc) should be passed here.

go build

Unless you are using SQLite, readeef will need to be configured as well. readeef uses TOML for configuration. A minimal configuration file might be something like this:

    driver = "postgres"
    connect = "host=/var/run/postgresql user=postgresuser dbname=readeefdbname"

You may provide the standalone server with a config files. The default server configuration is documented in under the variable: DefaultCfg.

./readeef -config $CONFIG_FILE server

The source comes with an embedded UI using angular 4. A different UI may be provided by providing a path to it via the following configuration directive:

[ui] path = "/path/to/a/different/ui"

All three subcommands come with a comprehensive usage text:

readeef search-index --help

Adding a user

As a first step, you might want to add a new user to the system, using the 'user-admin' subcommand:

readeef -config $CONFIG_PATH user-admin add $USER_LOGIN $USER_PASS

Turning a user into an admin

You might then want to turn that user into an administrator:

./readeef -config $CONFIG_FILE user-admin set $USER_LOGIN admin true

"But I just want to try it"

# Install the server in $GOPATH/.bin/
go get
# Run it using the default settings
readeef server

The server will run on port 8080, and you may login using the user 'admin' and password 'admin', using SQLite (if CGO is enabled)

Press h to open a hovercard with more details.