KoInsight brings your KOReader reading stats to life with a clean, web-based dashboard.
β οΈ WARNING! KoInsight is not currently suited for multi-device sync. If you sync data from multiple devices, statistics will most likely be wrong. I am working on a next version that will have full support for multiple devices.
- π Interactive dashboard with charts and insights
- π KOReader plugin for syncing reading stats
- π€ Manual .sqlite upload supported
- β»οΈ Act as a KOReader (kosync) sync server
- π Fully self-hostable (Docker image available)
Home page | Book view |
![]() |
![]() |
Statistics | Statistics |
![]() |
![]() |
See all screenshots
Using Docker and Docker Compose
Add the following to your compose.yaml
file:
name: koinsight
services:
koinsight:
image: ghcr.io/georgesg/koinsight:latest
restart: unless-stopped
ports:
- "3000:3000"
volumes:
- ./data:/app/data
Run docker compose up -d
.
To start seeing data in KoInsight, you need to upload your reading statistics. Currently, there are two ways to do this:
- Manual upload: Extract your
statistics.sqlite
file from KOReader and upload it using the "Upload Statistics DB" button in KoInsight. - Sync plugin: Install and configure the KoInsight plugin in KOReader to sync your data directly.
The KoInsight plugin syncs your reading statistics from KOReader to KoInsight.
Installation:
- Download the plugin ZIP bundle from the "KOReader Plugin" button in the main menu.
- Extract it into your
KOReader/plugins/
folder. - For the plugin to be installed correctly, the file structure should look like this:
koreader βββ plugins βββ koinsight.koplugin βββ _meta.lua βββ main.lua βββ ...
Usage:
- Open the KOReader app.
- Go to the Tools menu and open KoInsight (it should be below "More tools").
- Click Configure KoInsight and enter your KoInsight server URL (e.g.,
http://server-ip:3000
).β οΈ Make sure your KOReader device has network access to the server.
- Click Sync in the KoInsight plugin menu.
Reload the KoInsight web dashboard. If everything went well (π€), your data should appear.
- Open a file manager on your KOReader device.
- Navigate to the
KOReader/settings/
folder. - Locate the
statistics.sqlite
file. - Copy it to your computer.
- Upload it to KoInsight using the "Upload Statistics DB" button.
- Reload the KoInsight web dashboard.
Every time you need to reupload data, you would need to upload the statistics database file again.
You can use your KoInsight instance as a KOReader sync server. This allows you to sync your reading progress across multiple devices.
- Open the KOReader app.
- Go to the Tools menu and open Progress sync
- Set the server URL to your KoInsight instance (e.g.,
http://server-ip:3000
). - Register an account and login.
- Sync your progress.
The progress sync data should appear in the "Progress syncs" page in KoInsight.
(a.k.a things I want to do)
- Books
- Mark as read
- Mark as unread
- Edit / add details manually
Manual cover upload- Automatically fetch book cover on new book upload
- Authors
- Author view - show books per author.
- Statistics
- Map KOReader page count to actual page count for better per-page statistics.
- More KOReader data
- Import covers from KOReader
- Try to import highlights and bookmarks from KOReader
- AI Enhancements
- Get book information - description, similar books
- Tag / Categorize books based on genres
- Book recommendations?
- Administration
- Multi-user support (besides progress syncs)
- Progress sync
- Delete progress syncs
- Edit progress syncs
- Device management