Readflow
About this project
Read your Internet article flow in one place with complete peace of mind and freedom.
Features
- Read articles from anywhere in one place.
- Save articles for offline reading or locally on you disk in the format you want (HTML, PDF, EPUB, ZIP, ...).
- Create categories and classify new articles.
- Customize article integration with a scripting engine.
- Link with external services thanks to incoming and outgoing webhooks (Newsletter, [RSS][feedpushr], [Keeper][keeper], [Pocket][pocket], [Shaarli][shaarli], [Wallabag][wallabag], S3 bucket, and more...).
- Receive notifications when new articles are available.
- Enjoy the same user experience on mobile as on desktop thanks to [Progressive Web App][pwa] support.
- And all this without ads and trackers.
Installation
Using Go compiler:
go install -v github.com/ncarlier/readflow@latest
Or using pre-compiled binary:
curl -sf https://gobinaries.com/ncarlier/readflow | sh
# or
curl -s https://raw.githubusercontent.com/ncarlier/readflow/master/install.sh | bash
Or using Docker:
docker run -it --rm \
-p 8080:8080 \
-e READFLOW_DATABASE_URI=<YOUR POSTGERSQL CONNECTION STRING> \
ncarlier/readflow:edge
Or using Docker Compose:
docker compose up
The default Docker Compose file mounts a passwd file with a
demo
user havingdemo
as password.
Configuration
Readflow configuration is a TOML file that you can specify using the -c
command line parameter or by setting the READFLOW_CONFIG
environment variable.
You can initialize a configuration file example by using the init-config -f config.toml
command.
A configuration file example can be found here.
Type readflow --help
to display available commands.
UI
You can access Web UI on http://localhost:8080
Documentation
The documentation can be found here: https://docs.readflow.app
GraphQL API
You can explore the server API using GraphiQL endpoint: http://localhost:8080/graphiql
Development
To be able to build the project you will need to:
- Install
makefiles
external helpers:$ git submodule init $ git submodule update
Then you can build the project using make:
$ make
Type make help
to see other possibilities.
Bakers
These amazing people have sponsored this project:
[![Donate](https://img.shields.io/badge/Dona