Categorygithub.com/RobBrazier/readflow
modulepackage
0.0.0-20241216191137-07aeb4ecd9fc
Repository: https://github.com/robbrazier/readflow.git
Documentation: pkg.go.dev

# README

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

NameDefaultNotes
SOURCEdatabaseLeave as default - there are no other options currently
TARGETSanilist,hardcoverDefaults to all targets
COLUMN_CHAPTERfalseOnly used for Anilist - set if you want to count chapters
DATABASE_CALIBRE/data/metadata.dbMount your metadata.db here
DATABASE_CALIBREWEB/data/app.dbMount your app.db here
CRON_SCHEDULE@hourlySee crontab.guru for syntax
TOKEN_ANILISTAnilist token - Retrieve from here
TOKEN_HARDCOVERHardcover 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

# Packages

No description provided by the author
No description provided by the author