This commit updates all documentation files throughout the project: - Updated IMPLEMENTATION_PLAN.md with new implementation details - Updated PROJECT_GUIDELINES.md with coding standards and practices - Updated README.md with current project information - Updated SCREENSHOT_AUTOMATION.md with new automation details - Added TEST_DATA.md with test fixtures data - Updated cover_image_serving_plan.md with static URL patterns Documentation API updates: - Updated API reference documentation for all endpoints including: - Authentication (login, logout, register, refresh_token) - Book matching (auto_link, bulk_link, link_book, search) - Collections (CRUD operations, shelf mappings, auto-assign rules) - Conflicts (bulk operations, resolve/dismiss) - Devices (registration, approval, shelf management) - Highlights (create, update, delete, get) - Kobo sync (bookmark, markup, initialization, sync) - KOReader sync (library, metadata, bookmarks, progress) - Libraries (CRUD, folders, media items, stats) - Media items (bulk operations, CRUD) - Notes (CRUD operations) - OPDS (acquisition, feeds, publication) - Progress (reading progress tracking) - Queue (device queue management) - Ratings (star ratings) - Scanner (watch mode, scan operations) - Sync protocols (Kobo, KOReader) - Users (profile, password, admin operations) - WebSocket protocols - Updated user guides (admin, dashboard, settings, sync) - Updated device setup guides (Kobo, KOReader) - Updated developer guides (testing, contributing, operations) - Updated scripts/README.md
15 KiB
KOReader Device Setup Guide
This guide will help you set up KOReader on your e-reader device to sync with Bookhoard.
What is KOReader?
KOReader is an open-source e-reader application that supports a wide range of e-reader devices including:
- Kindle devices (Paperwhite, Oasis, Voyage, etc.)
- Kobo devices (Clara, Aura, Nia, etc.)
- PocketBook devices
- Android tablets and phones
Prerequisites
Before you begin, make sure you have:
- ✅ A Bookhoard instance running and accessible on your network
- ✅ Your Bookhoard credentials (username and password)
- ✅ A KOReader-compatible e-reader device
- ✅ Your device connected to the same Wi-Fi network as your Bookhoard instance
Installation
Kindle Devices
-
Install KOReader
- Download the latest KOReader release from koreader.rocks
- Extract the
koreaderfolder to your Kindle's root directory - Safely eject your Kindle from your computer
-
Launch KOReader
- On your Kindle, go to Home → Settings → Device Options → Personalize Your Kindle
- Select
koreaderfrom the launcher options - Alternatively, you can use the
linkjailmethod to access KOReader directly
-
Enable Wi-Fi
- In KOReader, tap the network icon in the top menu
- Connect to your Wi-Fi network
Kobo Devices
-
Install KOReader
- Download the latest KOReader Kobo package from koreader.rocks
- Copy the
koreaderfolder to your Kobo's.adds/directory - Safely eject your Kobo from your computer
-
Launch KOReader
- Eject and disconnect your Kobo
- Kobo will restart and you'll see KOReader as an option
- Alternatively, create a shortcut on your home screen
-
Enable Wi-Fi
- In KOReader, tap the network icon
- Connect to your Wi-Fi network
PocketBook Devices
-
Install KOReader
- Download the PocketBook version from koreader.rocks
- Copy to your device and install via the package manager
-
Launch KOReader
- Open KOReader from your apps menu
- Enable Wi-Fi in the network settings
Device Registration
Step 1: Get Your Bookhoard Instance URL
Find your Bookhoard instance URL. This will typically be one of:
- Local Network:
http://YOUR_COMPUTER_IP:8765 - Localhost (if testing):
http://localhost:8765 - Domain (if configured):
https://bookhoard.yourdomain.com
Step 2: Register Your Device in Bookhoard
- Log in to your Bookhoard web interface
- Navigate to Device Management → Add New Device
- Fill in the device details:
- Device Name: A friendly name (e.g., "My Kindle Paperwhite")
- Device Type: Select "KOReader"
- Device Identifier: Enter your device's hardware ID or serial number
- On Kindle: Settings → Device Options → Device Info → Serial Number
- On Kobo: Settings → Device Information → Serial Number
- Click Register Device
You'll receive:
- An Auth URL to approve the device
- A Device Token (automatically generated after approval)
Step 3: Approve Your Device
-
Method A: QR Code
- If displayed, scan the QR code with your phone's camera
- This will open the approval page in your browser
- Log in and click Approve
-
Method B: Manual URL
- Copy the Auth URL from the registration confirmation
- Open it in your web browser
- Log in to your Bookhoard account
- Click Approve Device
Your device is now registered and ready to sync!
Configure KOReader Sync
Step 1: Access KOReader Settings
- Open KOReader on your device
- Tap the menu icon (≡) in the top-left corner
- Select Tools → Calibre
Step 2: Configure Wireless Connection
-
Enable Calibre Wireless Connection: Toggle ON
-
Server Address: Enter your Bookhoard instance URL
http://YOUR_COMPUTER_IP:8765/api/sync/koreaderReplace
YOUR_COMPUTER_IPwith your actual IP address -
Set Custom Port (if needed): Keep default or enter
8765
Step 3: Configure Authentication
- Authentication Method: Select "Basic Auth"
- Username: Your Bookhoard email or username
- Password: Your Bookhoard password
Step 4: Configure Sync Settings
-
Auto Sync: Enable for automatic sync
-
Sync Frequency: Choose from:
- Every page turn (recommended for real-time sync)
- Every bookmark save
- Every highlight
- Manual only (sync when you press the sync button)
-
What to Sync: Enable:
- ✅ Reading progress
- ✅ Bookmarks
- ✅ Highlights
- ✅ Notes
Step 5: Test Connection
- Tap Test Connection in the Calibre settings
- You should see a success message if configured correctly
- If it fails:
- Verify your device is connected to Wi-Fi
- Check the server URL is correct
- Ensure your Bookhoard instance is running
- Verify username and password are correct
Using Sync Features
Initial Sync
When you first enable sync, KOReader will:
- Connect to Bookhoard
- Upload your current reading progress
- Download any annotations from the server
- Set up bidirectional sync for future changes
Reading Progress Sync
As you read:
- Progress updates automatically sync based on your sync frequency
- Page turns, chapter changes, and bookmark saves all trigger sync
- Sync occurs in the background without interrupting reading
Annotations Sync
- Bookmarks: Sync when created or deleted
- Highlights: Sync when created, edited, or deleted
- Notes: Sync when created, edited, or deleted
- Linked Notes: Notes attached to highlights sync together
Manual Sync
To manually trigger a sync:
- Open the KOReader menu (≡)
- Select Tools → Calibre
- Tap Sync Now
The sync status will display:
- 🟢 Synced - All changes uploaded
- 🟡 Syncing... - In progress
- 🔴 Failed - Check your network connection
Advanced Configuration
Offline Mode
KOReader automatically handles offline scenarios:
- Changes are queued locally when offline
- Auto-sync resumes when connected
- Queue processes all pending changes in priority order
Checkpoint Sync
For better battery life, use checkpoint mode:
- In KOReader Calibre settings
- Set Sync Mode to "Checkpoint"
- Set Checkpoint Interval (e.g., every 5 minutes)
- Syncs occur in batches instead of every action
Debug Mode
Enable debug logging if sync isn't working:
- KOReader menu → Tools → Calibre
- Enable Debug Logging
- Sync and check logs at
/mnt/us/koreader/calibre.log
OPDS Wireless Book Delivery
What is OPDS?
OPDS (Open Publication Distribution System) allows your KOReader device to wirelessly download books from Bookhoard - no USB cable needed!
OPDS Benefits
- Wireless Downloads: Browse and download books over Wi-Fi
- On-Demand Access: Your entire library at your fingertips
- Collection Support: Browse and download from specific collections
- Automatic Progress Sync: Downloaded books sync progress instantly
- Format Support: EPUB, KEPUB, PDF, and more
Enable OPDS in KOReader
Step 1: Get Your OPDS URL
- Log in to Bookhoard web interface
- Go to Device Management
- Find your registered KOReader device
- Click Show OPDS URL
- Copy the URL (format:
http://YOUR_IP:8765/opds/devices/YOUR_DEVICE_ID/catalog)
Step 2: Add OPDS Catalog in KOReader
- Open KOReader on your device
- Tap the + (plus) button on the home screen
- Select OPDS Catalog
- Enter catalog details:
- Name: Bookhoard (or any name you prefer)
- URL: Paste your OPDS URL from Step 1
- Tap Save
Your Bookhoard library now appears in KOReader's home screen!
Browse and Download Books
Browse Your Library
- Tap Bookhoard on KOReader home screen
- You'll see:
- All Books: Complete library view
- Collections: Books organized by collections
- Recent: Latest additions
- Tap any category to browse
Download a Book
- Browse to find a book
- Tap the book to see details
- Tap Download
- Progress bar shows download status
- Book opens automatically when complete
Download Entire Collections
- In Bookhoard catalog, tap Collections
- Select a collection
- Tap Download All to get all books
- Downloads queue and process in background
OPDS Features
Supported Formats
KOReader OPDS supports:
- EPUB: Standard ebook format
- KEPUB: Kobo-optimized format (KOReader handles this well)
- PDF: Fixed-layout documents
- CBZ: Comic book archives
- TXT: Plain text files
- RTF: Rich text format
Automatic Book Matching
Books downloaded via OPDS are automatically matched:
- Uses SHA-256 hashes for precise matching
- Falls back to title/author matching
- Links to your existing Bookhoard library
- Progress syncs automatically
Collection Integration
Your Bookhoard collections appear in KOReader:
- Collection "To Read" → KOReader category
- Collection "Science Fiction" → Browseable section
- Custom collections → Preserved organization
KOReader OPDS Settings
Update Interval
Configure how often KOReader checks for new books:
- KOReader menu → Tools → OPDS
- Set Update Interval: 5min, 15min, 1hr, manual
- Recommended: 15min for balance
Download Location
Choose where to store downloaded books:
- KOReader menu → File Browser
- Set Default Download Folder
- Recommended:
/mnt/us/Documents/(Kindle) or/mnt/onboard/Documents/(Kobo)
Auto-Download
Automatically download new books from collections:
- KOReader menu → Tools → OPDS
- Enable Auto-Download New Books
- Select collections to monitor
- New books download automatically when connected to Wi-Fi
OPDS Troubleshooting
Catalog Not Loading
Problem: Bookhoard catalog shows error or won't load
Solutions:
- Verify device is connected to Wi-Fi
- Check OPDS URL is correct in settings
- Try accessing OPDS URL in your browser
- Ensure Bookhoard server is running
- Check Bookhoard device is approved
Download Fails
Problem: Book download starts but fails
Solutions:
- Check Wi-Fi signal strength
- Ensure sufficient storage on device
- Try downloading a smaller book
- Check Bookhoard has the book file
- Review Bookhoard logs for errors
Book Opens But Progress Doesn't Sync
Problem: Downloaded book doesn't sync progress
Solutions:
- Verify book is matched to Bookhoard library
- Check device sync settings are enabled
- Try manual sync from device
- Ensure book exists in Bookhoard with same hash
- Check Bookhoard Progress page
Slow Downloads
Problem: Books take too long to download
Solutions:
- Stay close to Wi-Fi router
- Use 5GHz Wi-Fi if available
- Close other apps using bandwidth
- Download smaller books first
- Consider USB for large books (100MB+)
Advanced OPDS Configuration
Custom User-Agent
Some OPDS catalogs require specific user agent:
-- In KOReader settings
OPDSUserAgent = "KOReader/2024.01"
Authentication Token
If Bookhoard requires token authentication:
- Get token from Bookhoard device settings
- Add to OPDS URL:
?token=YOUR_TOKEN - KOReader includes token in all requests
Compression
Enable compression for faster downloads:
-- In KOReader settings
OPDSCompressionEnabled = true
OPDS vs USB Transfer
| Feature | OPDS (Wireless) | USB Transfer |
|---|---|---|
| Convenience | ⭐⭐⭐⭐⭐ No cable needed | ⭐⭐ Requires cable |
| Speed | ⭐⭐⭐ Fast (Wi-Fi dependent) | ⭐⭐⭐⭐⭐ Very fast |
| Bulk Transfer | ⭐⭐⭐ One at a time | ⭐⭐⭐⭐⭐ Many at once |
| Progress Sync | ⭐⭐⭐⭐⭐ Instant | ⭐⭐⭐⭐ After transfer |
| Accessibility | ⭐⭐⭐⭐⭐ Anywhere | ⭐⭐ At computer only |
| Reliability | ⭐⭐⭐⭐ Very good | ⭐⭐⭐⭐⭐ Excellent |
Recommendation: Use OPDS for daily reading (convenience), USB for bulk library transfers.
OPDS Tips and Tricks
- Favorite Collections: Pin frequently-used collections to home screen
- Batch Downloads: Start multiple downloads before leaving Wi-Fi
- Download Queue: Downloads continue in background while reading
- Storage Management: Check free space before downloading large collections
- Network Speed: Use 5GHz Wi-Fi for faster downloads if available
Troubleshooting
Connection Refused
Problem: "Connection refused" error
Solutions:
- Verify Bookhoard is running on your computer
- Check the server URL and port (8765)
- Ensure device is on same Wi-Fi network
- Try using your computer's IP address instead of "localhost"
Authentication Failed
Problem: "Authentication failed" error
Solutions:
- Verify username and password
- Check your account is active and not locked
- Try logging in to Bookhoard web interface first
- Reset password if needed
Sync Not Working
Problem: Changes not appearing in Bookhoard
Solutions:
- Enable debug logging in KOReader
- Check Bookhoard Device Management page for errors
- Verify sync is enabled in KOReader settings
- Try manual sync to trigger immediate update
- Check Bookhoard logs for sync errors
Conflicts Detected
Problem: Sync conflicts when reading on multiple devices
Solutions:
- Go to Bookhoard Conflicts page
- Review conflicting progress from each device
- Choose which device's progress to keep
- Set auto-resolution preference for future conflicts
Large Files Not Syncing
Problem: Large annotations or highlights fail to sync
Solutions:
- Check Bookhoard sync queue for stuck items
- Increase sync timeout in KOReader settings
- Break up large highlights into smaller segments
- Verify network bandwidth is sufficient
Security Best Practices
- Use HTTPS: If deploying Bookhoard publicly, configure SSL/TLS
- Strong Password: Use a secure password for your Bookhoard account
- Network Security: Ensure your Wi-Fi network is secure (WPA2/WPA3)
- Device Authorization: Only approve devices you recognize
- Regular Updates: Keep KOReader updated to the latest version
Additional Resources
Support
If you encounter issues:
- Check the troubleshooting section above
- Enable debug logging and review KOReader logs
- Check Bookhoard sync queue and device management pages
- Open an issue on the Bookhoard GitHub repository
Last Updated: 2026-01-31
Bookhoard Version: 1.0
KOReader Version: 2024.01+