Jay Taylor's notes

back to listing index

urandom/readeef: Readeef feed agregator

[web search]
Original source (github.com)
Tags: golang go library archived to-revisit-later github.com
Clipped on: 2020-02-05

Skip to content
Image (Asset 1/4) alt= You have unread notifications
Readeef feed agregator
Go TypeScript HTML CSS Shell Dockerfile Other
Branch: master
New pull request
Clone or download
Image (Asset 3/4) alt= .docker dockerize readeef (#32) 2 months ago api dockerize readeef (#32) 2 months ago cmd Use the webkit function directly to avoid breaks on redirects 17 months ago config Add a scrollbar to the settings container 15 months ago content Implement retry to avoid sqlite3 table locks 2 months ago feed Limit downloading links to 10 2 months ago internal/legacy Rework the popularity plugins, include only twitter and reddit 2 years ago log Reuse prepared statements 17 months ago parser Add a scrollbar to the settings container 15 months ago pool Code cleanup 3 years ago popularity Rework the popularity plugins, include only twitter and reddit 2 years ago rf-ng dockerize readeef (#32) 2 months ago systemd Add an example systemd service file 5 years ago templates Remove the last old static files and templates 2 years ago web Simplify marking of read articles in the UI 2 years ago .dockerignore dockerize readeef (#32) 2 months ago .env dockerize readeef (#32) 2 months ago .gitignore dockerize readeef (#32) 2 months ago DOCKER.md dockerize readeef (#32) 2 months ago Dockerfile dockerize readeef (#32) 2 months ago Dockerfile.dev dockerize readeef (#32) 2 months ago LICENSE gpl -> lgpl 6 years ago Makefile dockerize readeef (#32) 2 months ago README.md Update README.md 2 years ago TODO merge the read and fav tables into a single table 5 years ago docker-compose.yml dockerize readeef (#32) 2 months ago feed_manager.go Improve article and feed events 2 years ago feed_manager_test.go More code cleanup 3 years ago file.list Initial commit of angular ui 3 years ago fs.go Remove the last old static files and templates 2 years ago fs_files.go Limit downloading links to 10 2 months ago fs_files_nofs.go More code cleanup 3 years ago go.mod Use ddg for feed searches 2 months ago go.sum Use ddg for feed searches 2 months ago hubbub.go Improve article and feed events 2 years ago hubbub_test.go start replacing the old db usage with the new one 5 years ago readeef dockerize readeef (#32) 2 months ago timeout_client.go add a hubbub test and fix things along the way 6 years ago

README.md

readeef

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 github.com/urandom/readeef/cmd/readeef

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:

[db]
    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 godoc.org 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 github.com/urandom/readeef/cmd/readeef
# 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)