All apps · 0 apps
KOReaderPyLink
Docker app from DonKevlar's Repository
Overview
Readme
View on GitHubKOReaderPyLink
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
- FastAPI : https://github.com/tiangolo/fastapi
- TinyDB: https://github.com/msiemens/tinydb
- Uvicorn: https://www.uvicorn.org/
- Python-dotenv: https://saurabh-kumar.com/python-dotenv/
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
- Install Docker
Steps
- Clone the repository:
git clone https://github.com/donkevlar/KOReaderPyLink.git cd KOReaderPyLink - 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
- Use http://IP:8081 as custom sync server
- Recommendation: Setup a reverse proxy for example with Nginx Proxy Manager (https://nginxproxymanager.com/) to connect with https
KOReader Setup
- Navigate to the setup menu (Wrench and screwdriver icon)
- Under "Progress Sync" -> "Custom sync server". Use your server address:
http://IP:8081or behind a proxy managerhttps://sync.mydomanin.com. Register using a username and password and you're done!
- Under "Progress Sync" -> "Custom sync server". Use your server address:
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.
Requirements
Categories
Related apps
Explore more like this
Explore allDetails
ghcr.io/donkevlar/koreaderpylink:mainRuntime arguments
- Network
bridge- Shell
sh- Privileged
- false
Template configuration
- Target
- 8081
- Value
- 8081
Remove this path if you don't want a persistant db.
- Target
- /app/data
- Value
- /mnt/cache/appdata/koreaderpylink/db
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
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 URL
- Target
- WEBHOOK_URL
Enable/disable discord webhooks
- Target
- WEBHOOK_ENABLED
- Default
- False
- Value
- False