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
18 KiB
Kobo Device Setup Guide
This guide will help you set up your Kobo e-reader to sync with Bookhoard for seamless cross-device reading progress synchronization.
What is Kobo Sync?
Bookhoard implements a Kobo-compatible sync protocol that allows your Kobo device to:
- Sync reading progress across all your devices
- Sync highlights and bookmarks
- Sync reading statistics
- Maintain device-specific metadata
Prerequisites
Before you begin, make sure you have:
- ✅ A Kobo e-reader device (Clara, Aura, Nia, Libra, Sage, Elipsa, etc.)
- ✅ A Bookhoard instance running and accessible on your network
- ✅ Your Bookhoard credentials (username and password)
- ✅ USB cable to connect your Kobo to your computer
- ✅ Your Kobo connected to the same Wi-Fi network as your Bookhoard instance
Supported Kobo Devices
Bookhoard supports all Kobo devices that use the standard Kobo sync protocol:
- Kobo Clara: Clara 2E, Clara HD
- Kobo Aura: Aura, Aura H2O, Aura ONE, Aura Edition 2
- Kobo Libra: Libra 2, Libra H2O
- Kobo Forma: All versions
- Kobo Sage: All versions
- Kobo Elipsa: All versions
- Kobo Nia: All versions
- Kobo Touch: Touch 2.0
- Kobo Glo: Glo, Glo HD
Device Registration
Step 1: Find Your Kobo Serial Number
- Turn on your Kobo device
- Go to Settings (gear icon)
- Select Device Information
- Note your Device Serial Number (e.g., N1234567890123)
- This is your device identifier for registration
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 Kobo Clara")
- Device Type: Select "Kobo"
- Device Identifier: Enter your Kobo serial number
- Click Register Device
You'll receive:
- An Auth URL to approve the device
- Instructions for manual configuration
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 for configuration!
Configure Kobo Sync
Step 1: Connect Kobo to Your Computer
- Use your USB cable to connect Kobo to your computer
- Your computer should recognize Kobo as a storage device
- Kobo will show "Connected" and "Eject before disconnecting"
Step 2: Edit Kobo Configuration File
Windows Users
- Open File Explorer and navigate to your Kobo device
- Open the
.kobofolder (hidden folder) - Open
Kobo/Kobo eReader.confin a text editor (Notepad++, VS Code, etc.)
Mac Users
- Kobo device appears on your Desktop
- Right-click the Kobo volume and select Show Package Contents
- Navigate to
.kobo/Kobo/Kobo eReader.conf - Open in a text editor (TextEdit, VS Code, etc.)
Linux Users
- Kobo mounts at
/media/USERNAME/Koboor similar - Navigate to
.kobo/Kobo/Kobo eReader.conf - Open in a text editor
Step 3: Add Bookhoard Sync Configuration
After device registration is complete, you'll receive an API key and sync URL from Bookhoard.
Add the following section to the end of your Kobo eReader.conf file:
[FeatureSettings]
# Enable Kobo store replacement
KoboStoreSyncDisabled=true
[Sync]
# Bookhoard Sync Configuration (from Device Management page)
ServerURL=http://YOUR_COMPUTER_IP:8765/api/sync/kobo/YOUR_API_KEY
AutoSyncEnabled=true
SyncFrequency=5
Where to find these values:
YOUR_COMPUTER_IP: Your Bookhoard server's IP address (e.g., 192.168.1.100)YOUR_API_KEY: Copy from Bookhoard Device Management → Your Kobo Device → "Copy Sync URL"
Example configuration:
[Sync]
ServerURL=http://192.168.1.100:8765/api/sync/kobo/dev_abc123def456
AutoSyncEnabled=true
SyncFrequency=5
Important Notes:
- The API key is generated during device registration
- You can regenerate the API key anytime from Device Management if needed
- Keep your API key confidential like a password
- Bookhoard uses revocable API keys for security (not username/password)
Replace the following with your actual values:
YOUR_COMPUTER_IP: Your computer's local IP address (e.g., 192.168.1.100)YOUR_BOOKHOARD_USERNAME: Your Bookhoard email or usernameYOUR_BOOKHOARD_PASSWORD: Your Bookhoard password
Example configuration:
[Sync]
ServerURL=http://192.168.1.100:8765/api/sync/kobo
AutoSyncEnabled=true
SyncFrequency=5
Username=john@example.com
Password=securePassword123
Step 4: Save and Eject
- Save the
Kobo eReader.conffile - Safely eject your Kobo device from your computer
- Kobo will restart automatically
Step 5: Verify Sync on Kobo
- After Kobo restarts, go to Settings → Sync & Backup
- You should see "Bookhoard" listed as a sync provider
- Tap Sync Now to test the connection
- If successful, you'll see a "Sync Complete" message
Sync Features
Reading Progress Sync
Kobo syncs:
- Percentage Read: Overall book completion percentage
- Page Number: Current page in fixed-layout books
- Time Spent: Reading time statistics
- Last Read: Timestamp of last reading session
Annotations Sync
Kobo syncs:
- Bookmarks: Page positions saved for quick access
- Highlights: Highlighted text passages
- Notes: Notes attached to highlights
- Reading Statistics: Pages read, time spent
Shelf Management
Kobo syncs:
- Book Collections: Your organized shelves
- Shelf Contents: Books in each collection
- Sync Metadata: When shelves were last updated
OPDS Wireless Book Delivery
What is OPDS?
OPDS (Open Publication Distribution System) allows your Kobo to wirelessly download books from Bookhoard - no USB cable needed!
OPDS Benefits
- No USB Required: Download books directly to your Kobo over Wi-Fi
- On-Demand Delivery: Browse your Bookhoard library from your Kobo
- Collection Support: Download books from specific collections
- Progress Tracking: Books downloaded via OPDS sync progress automatically
- Format Conversion: Automatic EPUB to KEPUB conversion for better Kobo support
Enable OPDS on Your Kobo
Option 1: Automatic Configuration (Recommended)
- After registering your Kobo device, a Download Configuration button appears
- Click Download Configuration to get a
.koboconfiguration file - Copy this file to your Kobo's
.kobo/directory via USB - Eject and restart your Kobo
- OPDS catalog will automatically appear in your Kobo's store
Option 2: Manual Configuration
- Connect your Kobo to your computer via USB
- Navigate to
.kobo/Kobo/Kobo eReader.conf - Add the following configuration:
[FeatureSettings]
# Enable OPDS catalog
OPDSCatalogEnabled=true
OPDSCatalogURL=http://YOUR_COMPUTER_IP:8765/opds/devices/YOUR_DEVICE_ID/catalog?token=YOUR_API_KEY
# Example:
# OPDSCatalogURL=http://192.168.1.100:8765/opds/devices/kobo-clara-123/catalog?token=dev_abc123def456
-
Replace:
YOUR_COMPUTER_IP: Your Bookhoard server IPYOUR_DEVICE_ID: Your Kobo's device ID from Bookhoard Device ManagementYOUR_API_KEY: Your Kobo device's API key (same as in sync URL)
-
Save the file and safely eject your Kobo
Access OPDS Catalog on Kobo
- Wake your Kobo and connect to Wi-Fi
- Go to Home → Store (or Shop)
- You'll see Bookhoard listed as a store
- Tap to enter the Bookhoard catalog
Browse and Download Books
Browse All Books
- In the Bookhoard catalog, you'll see all books from your library
- Browse by:
- Recently Added: Latest books in your library
- Collections: Books organized by collections
- Authors: Books grouped by author
- Series: Books in reading order
Download a Book
- Tap on any book cover to see details
- Tap Download or Add to Library
- The book downloads wirelessly to your Kobo
- Progress bar shows download status
- Once downloaded, the book appears in your Home library
Download from Collections
- In the Bookhoard catalog, tap Collections
- Select a collection (e.g., "Science Fiction")
- Browse books in that collection
- Tap to download individual books
- Or tap Download All to get entire collection
OPDS Features
Format Support
Kobo OPDS supports:
- EPUB: Standard ebook format (recommended)
- KEPUB: Kobo-optimized EPUB (better page turns, fonts)
- PDF: Fixed-layout documents
Automatic Conversion: Bookhoard automatically converts EPUB to KEPUB on-the-fly for better Kobo experience.
Progress Sync
Books downloaded via OPDS automatically sync progress:
- Download a book via OPDS
- Start reading on your Kobo
- Progress syncs to Bookhoard automatically
- Continue reading on any other device!
Collection to Shelf Mapping
Bookhoard maps your collections to Kobo shelves:
- Collection "Science Fiction" → Kobo shelf "Sci-Fi"
- Collection "To Read" → Kobo shelf "To Read"
- Customizable in Bookhoard Device Management
OPDS Troubleshooting
Catalog Not Appearing
Problem: Bookhoard catalog doesn't show in Kobo store
Solutions:
- Verify OPDS URL is correct in config file
- Check Kobo is connected to Wi-Fi
- Try accessing OPDS URL in your browser
- Ensure device ID matches Bookhoard device ID
- Restart Kobo after editing config file
Download Fails
Problem: Book download starts but fails partway through
Solutions:
- Check Wi-Fi signal strength
- Ensure Bookhoard server is running
- Verify book file exists in Bookhoard library
- Try downloading a smaller book first
- Check Bookhoard logs for errors
Book Downloads But Won't Open
Problem: Downloaded book shows error when opening
Solutions:
- Verify book format is supported (EPUB/KEPUB/PDF)
- Check file isn't corrupted in Bookhoard
- Try downloading via USB and opening
- Check Kobo has sufficient free storage
- Restart your Kobo device
Slow Download Speed
Problem: Books take too long to download
Solutions:
- Ensure strong Wi-Fi signal (stay near router)
- Use 5GHz Wi-Fi if your Kobo supports it
- Close other apps using bandwidth
- Download smaller books first
- Consider using USB for large books
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 | ⭐⭐⭐⭐⭐ Automatic | ⭐⭐⭐⭐ After first sync |
| Setup Complexity | ⭐⭐⭐ Moderate | ⭐⭐⭐⭐⭐ Simple |
| Reliability | ⭐⭐⭐⭐ Good | ⭐⭐⭐⭐⭐ Excellent |
Recommendation: Use OPDS for convenience (1-5 books), use USB for bulk transfers (10+ books).
Advanced OPDS Configuration
Custom Catalog Name
Change the name of the Bookhoard catalog on your Kobo:
[OPDS]
CatalogName=My Library
Auto-Download
Automatically download new books added to collections:
[OPDS]
AutoDownloadEnabled=true
AutoDownloadCollections=To Read,Recent
Download Quality
Choose between original EPUB or converted KEPUB:
[OPDS]
PreferredFormat=kepub # Options: epub, kepub, auto
Sync Frequency Options
Configure how often Kobo syncs with Bookhoard:
[Sync]
# Sync frequency in minutes
SyncFrequency=5 # Sync every 5 minutes (recommended)
SyncFrequency=15 # Sync every 15 minutes
SyncFrequency=60 # Sync every hour
SyncFrequency=0 # Manual sync only
Recommended: SyncFrequency=5 for near real-time sync
Battery Saving: SyncFrequency=15 or 30 to reduce Wi-Fi usage
Manual Only: SyncFrequency=0 sync only when you press "Sync Now"
Manual Sync
To manually trigger a sync on your Kobo:
- Connect Kobo to Wi-Fi
- Go to Settings → Sync & Backup
- Tap Sync Now
- Wait for "Sync Complete" message
Advanced Configuration
Disable Kobo Store
To prevent Kobo from trying to connect to the official Kobo store:
[FeatureSettings]
KoboStoreSyncDisabled=true
Custom Sync URL
If you're running Bookhoard with a custom domain or port:
[Sync]
# Custom domain
ServerURL=https://bookhoard.example.com/api/sync/kobo
# Custom port
ServerURL=http://192.168.1.100:9000/api/sync/kobo
# Localhost (for testing)
ServerURL=http://localhost:8765/api/sync/kobo
HTTPS Configuration
If you have SSL/TLS configured on Bookhoard:
[Sync]
ServerURL=https://bookhoard.yourdomain.com/api/sync/kobo/YOUR_API_KEY
Replace YOUR_API_KEY with your device's API key from Bookhoard Device Management.
Kobo will automatically trust the certificate if properly configured.
Troubleshooting
Sync Not Working
Problem: Sync doesn't happen automatically
Solutions:
- Check Kobo is connected to Wi-Fi
- Verify
AutoSyncEnabled=truein config - Check
SyncFrequencyis not set to 0 - Test with manual sync first
- Check Bookhoard logs for connection attempts
Connection Refused
Problem: "Connection refused" or "Server not reachable"
Solutions:
- Verify Bookhoard is running on your computer
- Check the server URL and IP address are correct
- Ensure Kobo is on same Wi-Fi network as computer
- Temporarily disable firewall to test
- Try accessing Bookhoard URL in your browser first
Authentication Failed
Problem: "Authentication failed" or "Invalid API key"
Solutions:
- Verify the API key in your sync URL matches the one in Bookhoard Device Management
- Check that device is approved in Bookhoard (not pending)
- Try regenerating the API key from Device Management page
- Ensure the sync URL is complete (includes the API key)
- Copy the sync URL directly from Device Management → "Copy Sync URL" button
Configuration File Not Saving
Problem: Changes to Kobo eReader.conf are lost
Solutions:
- Make sure Kobo is ejected safely after editing
- Check file permissions (should be writable)
- Try a different text editor (Notepad++, VS Code, Sublime Text)
- Backup the file before editing
- On Mac, ensure you're not editing the package directly
Sync Only Works Manually
Problem: Manual sync works, but auto-sync doesn't
Solutions:
- Verify
AutoSyncEnabled=truein config - Check
SyncFrequencyis not 0 - Kobo only syncs when connected to Wi-Fi
- Some Kobo models require Wi-Fi to be manually connected
- Check Bookhoard device management page for connection errors
Books Not Appearing in Kobo
Problem: Books added to Bookhoard don't show on Kobo
Solutions:
- Kobo needs books to be sideloaded (manually transferred via USB)
- Bookhoard syncs PROGRESS, not book files
- Transfer book files to Kobo's
Documentsfolder via USB - Kobo will then sync progress for those books with Bookhoard
- Check that book formats are supported by Kobo
Conflicts Not Showing
Problem: Conflicts between devices aren't being detected
Solutions:
- Check Bookhoard Conflicts page
- Ensure both devices have synced recently
- Conflicts only detected when progress differs within 5 minutes
- Manually sync both devices to trigger conflict detection
- Review conflict resolution settings
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)
- Regular Updates: Keep Kobo firmware updated
- Device Authorization: Only approve devices you recognize
Network Configuration
Local Network (Recommended)
For home use, keep Kobo and Bookhoard on the same local network:
Kobo Wi-Fi: 192.168.1.x
Bookhoard: 192.168.1.x
Remote Access
For access outside your home network:
- Set up port forwarding on your router (port 8765)
- Configure SSL/TLS on Bookhoard
- Use a dynamic DNS service for constant hostname
- Update Kobo config with public URL including API key:
[Sync] ServerURL=https://yourdomain.com/api/sync/kobo/YOUR_API_KEY
Performance Optimization
Battery Life
To extend Kobo battery life:
- Use longer sync intervals (15-30 minutes)
- Sync only on Wi-Fi (not cellular if your Kobo has it)
- Disable unnecessary Kobo features
- Keep Kobo in sleep mode when not reading
Sync Speed
To improve sync speed:
- Ensure strong Wi-Fi signal
- Use local network (not remote access)
- Keep Bookhoard and Kobo on same network
- Close other apps using Wi-Fi bandwidth
- Reduce number of books syncing at once
Additional Resources
- Kobo Developer Documentation
- Bookhoard Universal Sync Guide
- KOReader Setup Guide
- Bookhoard API Reference
FAQ
Q: Can I sync books (files) between devices?
A: No, Bookhoard only syncs reading progress and annotations. You must sideload book files to each device manually.
Q: Will Kobo update automatically when I add books in Bookhoard?
A: No, Kobo doesn't fetch book files from Bookhoard. You must transfer books via USB.
Q: Can I use both Kobo Sync and Calibre?
A: Yes, but they may conflict. It's recommended to choose one sync method.
Q: What happens if I read the same book on Kobo and KOReader?
A: Bookhoard will detect conflicts and you can resolve them in the Conflicts UI.
Q: Does Kobo sync when in sleep mode?
A: Only if Wi-Fi is enabled and configured to stay active during sleep.
Support
If you encounter issues:
- Check the troubleshooting section above
- Review Kobo sync logs in device settings
- Check Bookhoard sync queue and device management pages
- Verify your configuration file is saved correctly
- Open an issue on the Bookhoard GitHub repository
Last Updated: 2026-01-31
Bookhoard Version: 1.0
Kobo Firmware: 4.30.0+