Skip to content

Track your Kobo reads on Anilist.co and Hardcover.app using Calibre-Web and Calibre databases

License

Notifications You must be signed in to change notification settings

RobBrazier/readflow

Repository files navigation

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:

  1. You own a Kobo eReader
  2. You store all of your books in a Calibre library
  3. You run a Calibre-Web server
  4. You have configured your Kobo eReader to use the Calibre-Web Kobo Integration as the API endpoint

Installation

  1. Download the GitHub Release binaries compiled for MacOS, Linux and Windows (arm64, amd64 and i386)

  2. 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

Calibre-Web Identifier Format Calibre Identifier Format

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

About

Track your Kobo reads on Anilist.co and Hardcover.app using Calibre-Web and Calibre databases

Topics

Resources

License

Stars

Watchers

Forks

Packages