reader comes with a minimal web application, intended to work across all browsers, including light-weight / text-only ones.
The web application is not fully supported, see the roadmap for details.
The web application is optional, use the
app extra to install
Serving the web application
reader exposes a standard WSGI application as
See the Flask documentation for more details on how to deploy it.
The path to the reader database can be configured through the
READER_DB environment variable.
The web application has no authentication / authorization whatsoever; it is expected a server / middleware will provide that.
An example uWSGI configuration file (probably not idiomatic, from here):
[uwsgi] socket = /apps/reader/uwsgi/sock manage-script-name = true mount = /reader=reader._app.wsgi:app plugin = python3 virtualenv = /apps/reader/ env = READER_CONFIG=/apps/reader/reader.yaml
You can also run the web application with the
serve uses Werkzeug’s development server,
so it probably won’t scale well past a single user.
For privacy reasons,
you may want to configure your web server to not send a
Referrer-Policy header to
for all responses; nginx example).
serve command does it by default.
If running on a personal computer, you can use cron to run
serve at boot:
@reboot sleep 60; reader serve -p 8080 2>&1 ) >>"/tmp/$LOGNAME.reader.serve.boot.log"