Kavita per Docker als eigene E-Book-Bibliothek einrichten¶
Veröffentlicht am 22. August 2026 · Geschätzte Lesezeit: 4 Minuten
Kavita stellt E-Books, Comics und Manga aus deinen eigenen Ordnern in einer übersichtlichen Weboberfläche bereit. Der Container liest die Mediendateien ein, während Benutzerkonten, Lesefortschritt und Vorschaubilder getrennt im Konfigurationsordner liegen. Die Einrichtung dauert ungefähr 20 Minuten; ein großer erster Scan kann länger benötigen.
Voraussetzungen
- Ein Linux-Server mit Docker und Docker Compose
- Der Port 5000 ist im Heimnetz frei
- Eigene, legal vorliegende E-Books, Comics oder Manga
- Ausreichend Speicherplatz für Medien, Vorschaubilder und Backups
- Eine feste IP-Adresse für den Docker-Server
1. Ordner vorbereiten¶
Führe diesen Befehl auf dem Docker-Server aus. Er legt Projekt-, Konfigurations- und Medienordner in deinem Benutzerverzeichnis an:
Kopiere danach einige Testdateien in die passenden Ordner unter ~/medien. Kavita verändert
die Originaldateien in dieser Anleitung nicht.
2. Compose-Datei anlegen¶
Lege im Ordner ~/docker/kavita eine Datei compose.yaml mit folgendem Inhalt an:
services:
kavita:
image: jvmilazz0/kavita:latest
container_name: kavita
restart: unless-stopped
environment:
TZ: Europe/Berlin
ports:
- "5000:5000"
volumes:
- ./config:/kavita/config
- ${HOME}/medien/buecher:/books:ro
- ${HOME}/medien/comics:/comics:ro
- ${HOME}/medien/manga:/manga:ro
${HOME} wird von Docker Compose durch dein Benutzerverzeichnis ersetzt. Die drei
Medienordner sind mit :ro nur lesbar eingebunden. Der Pfad /kavita/config im Container darf
laut offizieller Vorlage nicht geändert werden.
Aktuelles offizielles Image verwenden
Verwende jvmilazz0/kavita:latest. Das frühere Image kizaing/kavita wird nicht mehr
unterstützt. Bei einer Migration vom LinuxServer.io-Image liegt dessen Konfiguration unter
/config; die offizielle Kavita-Abbildung erwartet dagegen /kavita/config.
3. Konfiguration prüfen und starten¶
Prüfe im Projektordner die Compose-Syntax und die aufgelösten Pfade:
Starte Kavita im Hintergrund:
Kontrolliere den Container:
Bei einem Startfehler zeigen die letzten Protokollzeilen meist die Ursache:
4. Administratorkonto einrichten¶
Öffne im Heimnetz http://<server-ip>:5000. Ersetze <server-ip> durch die feste IP-Adresse
des Docker-Servers. Folge dem Einrichtungsassistenten und lege das erste Administratorkonto mit
einem langen, einmaligen Passwort an.
Kein direkter Zugriff aus dem Internet
Leite Port 5000 nicht im Router weiter. Für Fernzugriff verwendest du ein privates VPN oder einen korrekt eingerichteten HTTPS-Reverse-Proxy. Gib anderen Personen eigene Konten statt das Administratorkonto zu teilen.
5. Bibliotheken hinzufügen¶
Öffne als Administrator die Bibliotheksverwaltung und lege nacheinander passende Bibliotheken an. Verwende dabei die Pfade im Container:
- Bücher:
/books - Comics:
/comics - Manga:
/manga
Starte anschließend einen Scan. Die Host-Pfade ~/medien/... werden in der Kavita-Oberfläche
nicht angezeigt, weil der Container nur die eingebundenen Pfade kennt.
6. Funktion und Rechte prüfen¶
Öffne ein eingelesenes Testbuch oder einen Comic und blättere einige Seiten. Schließe den Browser, melde dich erneut an und kontrolliere, ob der Lesefortschritt erhalten geblieben ist.
Prüfe zusätzlich, ob der Container die Medien tatsächlich nur lesen kann. Dieser Befehl muss mit einer Meldung über ein schreibgeschütztes Dateisystem abbrechen:
Falls wider Erwarten eine Datei erstellt wurde, entferne sie auf dem Host und kontrolliere, ob
am Bücher-Mount in compose.yaml wirklich :ro steht.
7. Backup und Wiederherstellung¶
Kavita legt eigene Datenbanksicherungen standardmäßig unter config/backups ab. Für einen
vollständigen Rückweg sicherst du den gesamten Konfigurationsordner. Stoppe den Container kurz:
Erstelle ein datiertes Archiv im Projektordner:
Starte Kavita danach wieder:
Prüfe den Inhalt des Archivs:
Sichere die Mediendateien unabhängig davon an einem zweiten Ort. Zur Wiederherstellung stoppst
du Kavita, entpackst das Archiv zurück in den Projektordner und startest den Container wieder.
Eine interne Datenbanksicherung aus config/backups wird laut offizieller Anleitung bei
gestopptem Kavita in den Ordner config entpackt.
8. Aktualisieren und zurückkehren¶
Erstelle zuerst das Backup aus Schritt 7. Lade dann das aktuelle stabile Image:
Ersetze den Container mit unveränderter Konfiguration:
Kontrolliere Bibliotheken und Lesefortschritt. Bei Problemen stellst du das Konfigurationsarchiv wieder her. Wechsle nicht von einer Nightly-Ausgabe auf eine ältere stabile Ausgabe, da eine zurückgestufte Datenbank unlesbar sein kann.
9. Typische Fehler¶
- Bibliothek bleibt leer: Verwende in Kavita
/books,/comicsoder/mangaund nicht den Pfad des Docker-Hosts. - Port 5000 ist belegt: Prüfe mit
sudo ss -ltnp | grep ':5000'oder ändere nur die linke Zahl, zum Beispiel auf5001:5000. - Dateien erscheinen nach Änderungen nicht: Starte in der Bibliotheksverwaltung einen erzwungenen Scan und kontrolliere Dateirechte auf dem Host.
- Konfiguration ist nach dem Neustart verschwunden: Prüfe den Mount
./config:/kavita/configund ob du den Stack aus dem richtigen Projektordner startest. - Alte CPU erzeugt fehlerhafte Vorschaubilder: Prüfe, ob der Prozessor die von Kavita benötigte Befehlssatzerweiterung SSE4.2 unterstützt.
10. Quellen und Videos¶
- Offizielle Kavita-Dokumentation für Docker
- Offizielle Compose-Vorlage für das Docker-Hub-Image
- Offizielle Hinweise zu Updates
- Video: Kavita im Homelab installieren
- Video: Kavita einrichten und verwenden
Fertig¶
Kavita stellt deine Bücher, Comics und Manga jetzt im Heimnetz bereit. Öffne
http://<server-ip>:5000, melde dich an und rufe ein Testmedium auf. Bleiben Bibliothek und
Lesefortschritt nach docker compose restart erhalten, funktioniert auch die dauerhafte
Konfiguration.