Kobo eReader mit Calibre-Web synchronisieren

Kobo eReader mit Calibre-Web synchronisieren

Wer gerne und viele eBooks liest wird recht schnell Unterstützung brauchen, um den Überblick über den digitalen Lesestoff zu behalten. Als Quasi-Standardlösung hat sich hierfür Calibre etabliert, ein äußerst flexibler Helfer für das eBook-Management, das auch noch für andere Aufgaben wie etwa Konvertierung vom einen ins andere Format ausgezeichnet geeignet ist – eine Art eierlegende Wollmilchsau.

Wer die eBooks nicht immer über USB-Kabel auf den eReader übertragen möchte, der nutzt entweder die Serverkomponente von Calibre auf dem Desktop-PC oder aber installiert sich Calibre beispielsweise auf einem Raspberry Pi. In beiden Fällen kann über den Browser des eReaders der digitale Lesestoff heruntergeladen werden.

Zu der Calibre-Serverkomponente gibt es wiederum einige Alternativen, die auf dem Datenbestand der Calibre-Bibliothek arbeiten, diese also direkt verwenden können. Eine davon ist Calibre-Web. Wenn man einen eReader von Kobo hat, kann man mit Calibre-Web auch noch einen Schritt weiter gehen: Anstatt mit dem Kobo-Konto kann direkt mit Calibre-Web synchronisiert werden. Wenn die eBooks im EPUB-Format vorliegen, werden diese automatisch mittels dem Kommandozeilentool Kepubify in das Kobo-eigene KEPUB-Format konvertiert.

Damit bei einem größeren Bücherbestand nicht hunderte von eBooks synchronisiert werden müssen, kann man Regale erstellen und diese für die Kobo-Synchronisation quasi freischalten. Diesen Regalen kann man dann beliebig eBooks zuweisen, die dann bei der nächsten Synchronisation auf den eReader überspielt werden. Dabei erscheinen die Regale auf dem eReader dann als Sammlungen.

Kobo Sync Regal

Ich handhabe es so, dass ich die Regale nach Genres benenne, also z.B. “Krimi & Thriller”. Entdecke ich in der Calibre-Bibliothe einen Krimi, den ich lesen möchte, füge ich ihn einfach diesem Regal hinzu. Beim nächsten Synchronisationsvorgang landet das Buch dann automatisch auf dem eReader.

Auf Seite des Kobo-Gerätes (in meinem Fall ein Libra 2) muss nur eine Kleinigkeit eingestellt werden, damit die Synchronisierung funktioniert:
In der Datei .kobo/Kobo/Kobo eReader.conf muss in der Section [OneStoreServices] der Eintrag api_endpoint abgeändert bzw. hinzugefügt werden:

[OneStoreServices]
api_endpoint=https://mein.server.com/calibre/kobo/
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Diesen api_endpoint erhält man in den Calibre-Web Benutzereinstellungen unter Kobo Sync Token.

Kobo Sync Token

Serverseitig ist ein bisschen mehr zu tun: Für die Installation von Calibre-Web sowie der Kobo-Erweiterung sei auf das Wiki des Projektes verwiesen. Kepubify kann als Binary heruntergeladen und in den Calibre-Web-Einstellungen referenziert werden. Im Prinzip wäre man nun fertig. Etwas komfortabler ist der Zugriff auf Calibre-Web hingegen mit einem Reverse Proxy. Dabei kommuniziert der Webserver (etwa nginx) mit dem Calibre-Web-Dienst auf dessen Port (standardmäßig 8083). Nach außen hin, also was den Zugriff über Browser oder Kobo anbelangt, kann man nun jedoch die üblichen Web-Ports 80 oder 443 (verschlüsselt) verwenden. Letzeres ist vor allem dann anzuraten, wenn der Raspberry Pi von außen, also über das Internet, zugreifbar sein soll. Ansonsten würde etwa die eindeutige Geräte-ID des Kobos unverschlüsselt übertragen werden, was man sicherlich vermeiden möchte. Auf die Einrichtung eines SSL-Zertifikats soll an dieser Stelle verzichtet werden – das Stichwort Let’s Encrypt (und vielleicht DynDNS und Co.) soll hier für weitere Recherchen genügen.

Hier noch meine Konfigdatei, um nginx als Reverse Proxy zu verwenden:

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name  mein.server.com;
    client_max_body_size 20M;
    ssl_certificate 
/etc/letsencrypt/live/mein.server.com/fullchain.pem; # managed by 
Certbot
    ssl_certificate_key 
/etc/letsencrypt/live/mein.server.com/privkey.pem; # managed by 
Certbot

    location /calibre {
      #proxy_bind              $server_addr;
      proxy_pass              http://127.0.0.1:8083;
      proxy_set_header        Host            $http_host;
      proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header        X-Scheme        $scheme;
      proxy_set_header        X-Script-Name   /calibre;
      proxy_buffer_size 128k;
      proxy_buffers 4 256k;
      proxy_busy_buffers_size 256k;
    }
}

Dem Lesevergnügen steht nun nichts mehr im Wege. Braucht man neuen Lesestoff, kann man nun im eigenen Fundus über das Webinterface stöbern. Ist das Buch noch nicht auf dem eReader, schiebt man es einfach in ein für Kobo-Sync freigegebenes Regal. Einmal synchronisiert, landet es auf dem eReader. Pflegt man die Metadaten wie Serieninformationen und Klappentexte über Calibre gewissenhaft, werden diese mit übertragen und sind auf dem Kobo direkt verfügbar.

Kobo Metadaten