Uncategorized

Calibre als Ebook Server

Die Ansicht des Calibre Webservers

Die eigene Ebooksammlung im Heimnetzwerk bereit zu stellen ist mit Hilfe eines Raspberry Pi und Calibre recht einfach zu bewerkstelligen.

Wir brauchen

  • Einen Raspberry Pi
  • Das kostenlose Programm calibre
  • mindestens ein Ebook

Kostenlose legale Ebooks befinden sich zum Beispiel hier bei https://standardebooks.org.

Das Vorgehen ist wie folgt. Calibre installieren. Einen Ort für die Calibrelibrary festlegen. Calibre kopiert alle Bücher die es verwaltet an diesen Ort. Die oder den Ordner mit den Ebooks einlesen. Nun den Calibreserver testweise starten. Wenn das alles funktioniert, legen wir noch einen Systemdienst für Calibre an und fertig.

Wir starten mit einer Shell auf dem Raspberry Pi und installieren Calibre auf dem Raspberry Pi OS.

sudo aptitude install calibre

Ich hab meinen Ordner für die Calibrelibrary /daten/calibredb genannt und meine Ebooks sind auf /daten/ebooks. Diese nun mit Calibre einlesen und die Datenbank erstellen. Wenn irgendwas nicht funktioniert, auf die Zugriffsrechte achten.

calibredb add -r /daten/ebooks/* --library-path /daten/calibredb

Nach dem Einlesen kann der Calibreserver gestartet werden mit dem Befehl:

/usr/bin/calibre-server /daten/calibredb

Jetzt ist er über die IP Adresse des Raspberrys erreichbar, in meinem Fall:

http://192.168.1.1:8080/

zum starten auf calibredb klicken
Nicht verwirren lassen, einfach „calibredb“ auswählen.

Ich habe den Befehl noch etwas umgestellt, einen anderen Port vergeben. Calibre an eine IP gebunden und ein selbst erzeugtes SSL Zertifikat mit angegeben.

/usr/bin/calibre-server --port 8082 --listen-on 192.168.1.1 --ssl-certfile /etc/ssl/certs/ssl-cert-snakeoil.pem --ssl-keyfile /etc/ssl/private/ssl-cert-snakeoil.key /daten/calibredb

Damit ist der Server nur noch über https und nicht mehr über http erreichbbar. Bei mir funktioniert alles. Jetzt noch das ganze als Systemservice und fertig.

Neue Datei für Systemd anlegen:

sudoedit /etc/systemd/system/calibreserver.service

Mit diesem Inhalt:

[Unit]
Description=Run a calibre server on the local network
After=network.target

[Service]
Type=oneshot
ExecStart=/usr/bin/calibre-server --port 8082 --listen-on 192.168.1.1 --ssl-certfile /etc/ssl/certs/ssl-cert-snakeoil.pem --ssl-keyfile /etc/ssl/ssl-cert-snakeoil.key /daten/calibredb/

[Install]
WantedBy=multi-user.target

Und alles starten mit:

sudo systemctl enable --now calibreserver.service

Perfekt ist es noch nicht, aber um seine Ebooks bequem per Webbrowser zu surfen reicht es.

Mehr informationen befinden sich in den Manpages von calibre oder hier:
https://roosnaflak.com/tech-and-research/raspberry-pi-4-as-calibre-server/
https://www.digitalocean.com/community/tutorials/how-to-create-a-calibre-ebook-server-on-ubuntu-14-04