Calibre auf Synology

Installation von Calibre zur Verwaltung von E-Books auf einem Synology NAS.

Calibre auf Synology-heroimage

Calibre ist eine vielseitige Lösung zur Verwaltung von E-Books. Neben der Anzeige, Konvertierung und Katalogisierung von E-Books, ermöglicht Calibre die Kommunikation mit E-Book-Lesegeräten und das automatische Herunterladen von Metadaten für Bücher in einer Bibliothek. Es lässt sich sogar für die Verwaltung von Zeitungen verwenden. In diesem Beitrag zeige ich, wie ein Calibre-Server auf einem Synology NAS gestartet wird und die Bibliothek dann mit Calibre-Web verwaltet werden kann.

Voraussetzungen

Ich nutze ein Synology NAS, das Modell DS220+(Amazon Affiliate-Link) mit 10 GB RAM(Amazon Affiliate-Link). Allerdings kann grundsätzlich jedes Gerät verwendet werden, auf dem Docker läuft.

Die benötigten Ressourcen für Calibre sind nicht besonders hoch, aber Sie sollten sicherstellen, dass ausreichend Speicherplatz für Ihre Bücher vorhanden ist. Meine eigene Bibliothek umfasst derzeit etwa 150 Bücher, die etwa 2,3 GB Speicherplatz einnehmen.

In der Vergangenheit habe ich eine Anleitung für Calibre mit Traefik geschrieben und auch im Asustor NAS Setup wird Calibre erwähnt.

Ein Reverse-Proxy-Manager im Netzwerk ist hilfreich, unabhängig davon, ob er sich auf einem anderen Gerät oder dem Synology NAS befindet.

Für die Installation nutzen wir das DSM vom Synology-NAS. Portainer wird in diesem Fall nicht benötigt, da keine externe Datenbank gestartet wird.

Einrichtung des Docker Benutzers

Zunächst richte ich eine Docker-Gruppe ein, um eine bessere Rechteverwaltung zu gewährleisten.

Gruppe für Docker einrichten

Anschließend erstelle ich einen neuen Benutzer, der die Rechte am Calibre Container haben soll.

Neuen Benutzer einrichten

Ich füge diesen Benutzer in die Docker-Gruppe ein.

Nutzer in die Docker Gruppe hinzufügen

Für eine effizientere Verwaltung erstelle ich nur einen Docker-Benutzer, anstatt für jeden Dienst einen eigenen Benutzer zu erstellen.

Um die ID vom Benutzer “docker” und der Gruppe “docker” zu ermitteln, aktiviere ich temporär SSH und verbinde mich über ein Terminal (z. B. in VSCode) mit dem NAS.

SSH-Dienst aktivieren

ssh adminbenutzername@{ip-adresse-vom-nas}

Zunächst möchte ich die UserID vom Nutzer docker erfahren.

id -u docker

Ich merke mir diese Zahl als UserID. Als Nächstes möchte ich die GruppenID der Gruppe docker herausfinden.

id -Gn docker
# jetzt sehe ich die Namen der Gruppen
id -G docker
# jetzt sehe ich die Nummern der Gruppen

Ich merke mir die Nummer an der Stelle der Gruppe “docker” als GruppenID. Dann verlasse ich das Terminal.

exit

Ich deaktiviere auch SSH wieder.

SSH-Dienst ausschalten

Jetzt erstelle ich einen neuen Freigabeordner ohne Prüfsummen-Check und nenne ihn calibre.

Neuen Ordner erstellen

Die Docker-Gruppe benötigt Zugriffsrechte auf den Ordner.

Rechteverwaltung für Gruppen

Es ist auch ratsam, dem Docker-Benutzer Zugriffsrechte zu gewähren.

Zugriffsrecht für Benutzer

In diesem Verzeichnis erstelle ich zwei neue Ordner:

  • data
  • web-data

Calibre Server Installation

Ich öffne Docker im DSM und suche nach dem Image linuxserver/calibre.

Docker-Image

Dieses lade ich mit dem Tag latest herunter. Das Image ist ca. 1 GB groß. Sobald es heruntergeladen ist, starte ich einen neuen Container mit diesem Image.

Calibre-Container

In den erweitern Eigenschaften füge ich unter Volume den Ordner calibre/data hinzu. In diesen binde ich das Verzeichnis config.

Unter Port stelle ich eine Verbindung mit dem Port 8080 ein. Die linke Zahl kann frei gewählt werden (insbesondere sollte das dann gemacht werden, wenn bereits ein anderer Dienst auf 8080 läuft). Die rechte sollte 8080 bleiben (außer man passt das bei Umgebung an). In der Umgebung müssen vier Umgebungsvariablen hinzugefügt werden:

  • PUID: Die persönliche User-ID des Benutzers (docker)
  • PGID: Die persönliche Gruppen-ID der Gruppe (docker)
  • TZ: Die Zeitzone, für Deutschland ist es Europe/Berlin.
  • PASSWORD: Das Passwort des Benutzers abc.

Anschließend starte ich den Container.

Calibre Server Konfiguration

Jetzt kann ich auf den Server zugreifen, indem ich in einem Web-Browser die IP-Adresse des NAS mit dem eingestellten Port (8080) aufrufe. Benutzername ist abc und das Passwort ist das, was ich in der Umgebung eingestellt habe.

Ich ändere den Namen Calibre-Bibliothek zu books.

Calibre Einrichtung

Beim E-Book Gerät kann ein Gerät standardmäßig ausgewählt werden. Diese Einstellung lässt sich auch später noch ändern. Ist man sich nicht sicher, lässt man sie am besten einfach auf generisch.

Sobald man seine Bibliothek sieht, ist die Einrichtung abgeschlossen. Im calibre/data-Ordner sollte nun auch das Verzeichnis mit der Calibre-Bibliothek sichtbar sein.

Calibre-Bibliothek im Calibre Ordner

Installation des Calibre Web Servers

Als Nächstes wird der Web Server benötigt, um die Bücher in einer benutzerfreundlicheren GUI verwalten zu können. Dazu suche ich nach dem Image linuxserserver/calibre-web und lade es herunter. Auch hier den Tag latest wählen. Dieses Image ist etwa 600 MB groß.

Bei den Volumes binde ich den Ordner calibre/web-data mit dem Mount-Pfad /config und einen weiteren Ordner calibre/data/books mit dem Mount-Pfad /books. Unter Port-Einstellungen wähle ich unter welchem Port Calibre-Web erreichbar sein soll. Der Container-Port bleibt auf 8083.

In der Umgebung können diesmal 5 Umgebungsvariablen hinzugefügt werden:

  • PUID: Die persönliche User-ID des Benutzers (docker)
  • PGID: Die persönliche Gruppen-ID der Gruppe (docker)
  • TZ: Die Zeitzone, für Deutschland ist es Europe/Berlin.
  • DOCKER_MODS: Das kann auf linuxserver/calibre-web:calibre gesetzt werden, damit Bücher konvertiert werden können. Es funktioniert nicht auf einem ARM System.
  • OAUTHLIB_RELAX_TOKEN_SCOPE: Wenn man in Erwägung zieht Google OAuth zu nutzen, kann man den Wert auf 1 setzen. Ansonsten kann es leer gelassen werden.

Calibre-Web Umgebung

An dieser Stelle stoppe ich den Calibre-Container.

Container

Calibre Web Server Konfiguration

Jetzt richte ich in meinem Reverse-Proxy einen Proxy-Host für den Port 8083 ein, ansonsten muss man direkt die IP-Adresse mit Port 8083 aufrufen.

Die Anmeldedaten sind admin als Benutzername und admin123 als Passwort.

Beim Pfad zur Datenbank wähle ich /books aus.

Datenbank Konfiguration

Anschließend sollte man sein Passwort im Profil (oben rechts) ändern.

Außerdem lässt sich in der Basiskonfiguration einstellen, dass Bücher über den Web-Server hochgeladen werden dürfen.

Basis Konfiguration

Außerdem sollte man bei der Benutzerkonfiguration den Haken setzen, dass man selbst die Bücher ansehen darf.

Damit ist die Einrichtung beendet.

Backup

Möchte man seine Bücher in der Cloud sichern, lässt sich das auf einer Synology leicht bewerkstelligen. Dazu das Programm Cloud Sync aus dem Paket-Zentrum installieren.

Cloud Sync

Mit Cloud Sync richte ich eine neue Aufgabe ein, um den Ordner books mit Google Drive oder Microsoft One Drive usw. zu synchronisieren.

Cloud Sync Aufgabe

Bitte die Kommentarfunktion nutzen bei Fragen / Verbesserungsvorschlägen / Kritik usw.

Viel Spaß beim Lesen!


Diese Website verwendet Cookies. Diese sind notwendig, um die Funktionalität der Website zu gewährleisten. Weitere Informationen finden Sie in der Datenschutzerklärung