{"repo":"koreader/koreader-sync-server","free":true,"listed":false,"github":"https://github.com/koreader/koreader-sync-server","clone":"git clone https://github.com/koreader/koreader-sync-server.git","description":"self hostable synchronization service for koreader devices","language":"Lua","stars":732,"topics":[],"license":"AGPL-3.0","category":"self-hosted-apps","readme_excerpt":"[![AGPL Licence][licence-badge]](COPYING) Koreader Sync Server ======== Koreader sync server is built on top of the Gin JSON-API framework which runs on OpenResty and is entirely written in Lua. Users of koreader devices can register their devices to the synchronization server and use the sync service to keep all reading progress synchronized between devices. This project is licenced under Affero GPL v3, see the COPYING file. Setup your own server ====================== Using docker, you can spin up your own server in two commands: The above command will spin up a sync server in a docker container. To build your own docker image from scratch: Alternatively, if you'd rather use docker compose: To setup the server manually, please refer to the commands used in the [Dockerfile][dockerfile]. You can use the following command to verify that the sync server is ready to serve traffic: As you can see, the server responds over HTTPS using a self-signed certificate. If you'd like to run the server behind a reverse proxy and let the proxy handle TLS termination, run the server on port 17200 instead of 7200 . As an example, your Traefik V3 configuration could look like this: Privacy and security ======== Koreader sync server does not store file name or file content in the database. For each user it uses a unique string of 32 digits (MD5 hash) to identify the same document from multiple koreader devices and keeps a record of the furthest reading progress for that document. Sample progress","default_branch":null,"files":null,"tree":[],"storefront":"/r/koreader","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/koreader/koreader-sync-server/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}