{"id":13598852,"url":"https://github.com/b1n4ryj4n/koreader-sync","last_synced_at":"2025-04-10T10:30:29.227Z","repository":{"id":43723776,"uuid":"406627960","full_name":"b1n4ryj4n/koreader-sync","owner":"b1n4ryj4n","description":"Simple implementation of the KOReader position sync server for self-hosting at home which has docker support for arm and amd64 :)","archived":false,"fork":false,"pushed_at":"2024-05-24T15:26:32.000Z","size":48,"stargazers_count":42,"open_issues_count":0,"forks_count":6,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-11-06T23:40:41.853Z","etag":null,"topics":["amd64","arm","docker","koreader","koreader-sync","python","python3","selfhosted"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/b1n4ryj4n.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-09-15T05:41:27.000Z","updated_at":"2024-10-30T20:17:04.000Z","dependencies_parsed_at":"2024-01-14T04:43:53.833Z","dependency_job_id":"c021604e-948d-4706-baae-27a16f34a6e7","html_url":"https://github.com/b1n4ryj4n/koreader-sync","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/b1n4ryj4n%2Fkoreader-sync","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/b1n4ryj4n%2Fkoreader-sync/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/b1n4ryj4n%2Fkoreader-sync/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/b1n4ryj4n%2Fkoreader-sync/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/b1n4ryj4n","download_url":"https://codeload.github.com/b1n4ryj4n/koreader-sync/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248199136,"owners_count":21063641,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["amd64","arm","docker","koreader","koreader-sync","python","python3","selfhosted"],"created_at":"2024-08-01T17:00:57.482Z","updated_at":"2025-04-10T10:30:28.891Z","avatar_url":"https://github.com/b1n4ryj4n.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"# Koreader position sync server\n\n## Description\n\nThis is a simple implementation of the KOReader (https://github.com/koreader/koreader) position sync server for self-hosting at home which has docker support for arm and amd64 :) _This is a fork of https://github.com/myelsukov/koreader-sync but with a complete code rewrite._\n \n## Dependencies\n\n* FastAPI : https://github.com/tiangolo/fastapi\n* TinyDB: https://github.com/msiemens/tinydb\n* Uvicorn: https://www.uvicorn.org/\n* Python-dotenv: https://saurabh-kumar.com/python-dotenv/\n\n## Install and run\n\n```bash\n\u003e pip install -r requirements.txt\n\n\u003e uvicorn kosync:app --host 0.0.0.0 --port 8081\n\n```\n\n## Or via Docker\n\n```bash\n\u003e docker build --rm=true --tag=kosync:latest .\n\n\u003e docker compose up -d\n\n```\n\n## Environment Variables\n\n* RECEIVE_RANDOM_DEVICE_ID (\"True\"|\"False\")\n\nSet it true to retrieve always a random device id to force a progress sync. \nThis is usefull if you only sync your progress from one device and \nusually delete the *.sdr files with some cleaning tools.\n\n* OPEN_REGISTRATIONS (\"True\"|\"False\")\n\nEnable/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.\nSet to True (enabled) by default.\n\n## Dockerhub\n\nThere is also a dockerhub image available if you are not able to build yourself the image.\n\nFor linux/amd64 you can use `docker pull b1n4ryj4n/koreader-sync` and for linux/arm `docker pull b1n4ryj4n/koreader-sync:arm`\n\n## Connection\n\n* Use http://IP:8081 as custom sync server\n* Recommendation: Setup a reverse proxy for example with Nginx Proxy Manager (https://nginxproxymanager.com/) to connect with https\n\n## Changelog\n\n## [0.0.5] - 2024-05-24\n### Added\n- Merged [\"Option to disable registration of new user accounts by env var.\"](https://github.com/b1n4ryj4n/koreader-sync/pull/5)\n\n## [0.0.4] - 2023-10-29\n### Added\n- Added the HEALTHCHECK command (also accessible via http://IP:8081/healthstatus)\n\n## [0.0.3] - 2022-03-20\n### Added\n- Added an environment variable option to receive always a random device id\n\n## [0.0.2] - 2022-02-21\n### Added\n- Merged [\"Dockerfile: use multi-stage build to optimize image size\"](https://github.com/b1n4ryj4n/koreader-sync/pull/3)\n\n## [0.0.1] - 2021-09-15\n### Added\n- First version\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fb1n4ryj4n%2Fkoreader-sync","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fb1n4ryj4n%2Fkoreader-sync","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fb1n4ryj4n%2Fkoreader-sync/lists"}