KOReaderPyLink

KOReaderPyLink

Docker app from DonKevlar's Repository

Overview

A simple implementation of the KOReader position sync server for self-hosting at home. This is a modified fork of b1n4ryj4n/koreader-sync with some additional logging and slightly modified endpoints.

KOReaderPyLink

Koreader position sync server

Description

This is a simple implementation of the KOReader (https://github.com/koreader/koreader) position sync server for self-hosting at home which has docker support. This is a modified fork of b1n4ryj4n/koreader-sync with some additional logging and slightly modified endpoints.

Dependencies

Environment Variables

  • RECEIVE_RANDOM_DEVICE_ID ("True"|"False")

Set it true to retrieve always a random device id to force a progress sync. This is usefull if you only sync your progress from one device and usually delete the *.sdr files with some cleaning tools.

  • OPEN_REGISTRATIONS ("True"|"False")

Enable/disable new registrations to the server. Useful if you want to run a private server for a few users, although it doesn't necessarily improve security by itself. Set to True (enabled) by default.

  • WEBHOOK_ENABLED ("True"|"False")

Enable/disable the discord webhook functionality. Note: Currently only have registrations sending out a notification.

  • WEBHOOK_URL (String)

Discord webhook url, WEBHOOK_ENABLED must be set to True for this to take effect.

Docker Installation

Prerequisites

Steps

  1. Clone the repository:
    git clone https://github.com/donkevlar/KOReaderPyLink.git
    cd KOReaderPyLink
    
  2. Build and run the container, setting the environment variables:
    docker build -t koreaderpylink .
    docker run -d -v $(pwd)/data:/app/data -p 8081:8081 --name koreaderpylink      -e RECEIVE_RANDOM_DEVICE_ID="False"      -e OPEN_REGISTRATIONS="True"      koreaderpylink
    

Installing through Unraid Template

This is also available via the unraid community application store. Search for KOReaderPyLink.

Connection

KOReader Setup

    1. Navigate to the setup menu (Wrench and screwdriver icon)
    1. Under "Progress Sync" -> "Custom sync server". Use your server address: http://IP:8081 or behind a proxy manager https://sync.mydomanin.com. Register using a username and password and you're done!

Install KOReaderPyLink on Unraid in a few clicks.

Find KOReaderPyLink in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.

Open the Apps tab on your Unraid server Search Community Apps for KOReaderPyLink Review the template variables and paths Click Install

Requirements

KOReader Application on a dedicated device. (https://github.com/koreader/koreader)

Related apps

Explore more like this

Explore all

Details

Repository
ghcr.io/donkevlar/koreaderpylink:main
Last Updated2026-07-15
First Seen2025-02-26

Runtime arguments

Network
bridge
Shell
sh
Privileged
false

Template configuration

API PortPorttcp
Target
8081
Value
8081
DB PathPathrw

Remove this path if you don't want a persistant db.

Target
/app/data
Value
/mnt/cache/appdata/koreaderpylink/db
RECEIVE_RANDOM_DEVICE_IDVariable

Set it true to retrieve always a random device id to force a progress sync. This is usefull if you only sync your progress from one device and usually delete the *.sdr files with some cleaning tools.

Default
False
Value
False
OPEN_REGISTRATIONSVariable

Enable/disable new registrations to the server. Useful if you want to run a private server for a few users, although it doesn't necessarily improve security by itself. Set to True (enabled) by default.

Default
True
Value
True
Discord Webhook URLVariable

Discord Webhook URL

Target
WEBHOOK_URL
Enable Discord WebhookVariable

Enable/disable discord webhooks

Target
WEBHOOK_ENABLED
Default
False
Value
False