readflow
Track your Kobo reads on Anilist and Hardcover using Calibre-Web and Calibre databases
[!WARNING]
This project is an early-stages WIP
Pre-Requisites for this to actually be useful
Admittedly this is quite a niche tool. It's only really useful in the following scenario:
- You own a Kobo eReader
- You store all of your books in a Calibre library
- You run a Calibre-Web server
- You have configured your Kobo eReader to use the Calibre-Web
Kobo Integration
as the API endpoint
Installation
-
Download the GitHub Release binaries
compiled for MacOS, Linux and Windows (arm64, amd64 and i386)
-
Install with go install
go install github.com/RobBrazier/readflow@latest
Setup
Once installed, you'll need to configure the CLI.
This can be done by following the instructions in the below command:
readflow setup
This will take you through a guided form to get all the information required
for the application
Sync
Once setup has been completed, you can run
readflow sync
And this will pull recent reads and sync them to the providers configured
[!IMPORTANT]
Currently you are required to set calibre identifiers for the providers in the
books you want to sync. Any books missing these will be skipped.
e.g. hardcover:the-hobbit
or anilist:53390

Running on a Schedule
This is a oneshot
CLI tool, so if you want to run it frequently, you'll need
to configure a cron job
On Linux systems this can be done with
crontab -e
As an example, the cron job I use is:
0 * * * * /usr/local/bin/readflow sync 2>> /var/log/readflow.log
This runs every hour on the hour
Running via Docker
docker pull ghcr.io/robbrazier/readflow
Environment Variables
Name |
Default |
Notes |
SOURCE |
database |
Leave as default - there are no other options currently |
TARGETS |
anilist,hardcover |
Defaults to all targets |
COLUMN_CHAPTER |
false |
Only used for Anilist - set if you want to count chapters |
DATABASE_CALIBRE |
/data/metadata.db |
Mount your metadata.db here |
DATABASE_CALIBREWEB |
/data/app.db |
Mount your app.db here |
CRON_SCHEDULE |
@hourly |
See crontab.guru for syntax |
TOKEN_ANILIST |
|
Anilist token - Retrieve from here |
TOKEN_HARDCOVER |
|
Hardcover token - Retrieve from here |
Run modes
Cron Job
docker run -e CRON_SCHEDULE="@daily" ghcr.io/robbrazier/readflow
One-off Sync
docker run ghcr.io/robbrazier/readflow sync