🎧 HörbĂŒcher fĂŒr die Familie: Audiobookshelf auf dem Mini-PC

Im Dezember habe ich beschrieben, wie meine E-Book-Bibliothek in die eigene Cloud gezogen ist. Die HörbĂŒcher lagen da schon lange auf demselben Mini-PC – nur eben als das, was sie waren: ein Ordner in der Nextcloud. Jeder synchronisiert ihn aufs Handy, jeder hat eine Hörbuch-App, fertig.

Das funktioniert. Bis zu dem Tag, an dem man merkt, was dabei fehlt.

⚖ Ein Wort vorweg

In dieser Bibliothek liegen ausschließlich legal erworbene beziehungsweise copyrightfreie HörbĂŒcher – und sie ist rein privat. Sie lĂ€uft fĂŒr mich und meine Familie, es gibt keine Selbstregistrierung, Konten legt nur der Administrator an, und nach außen wird nichts geteilt. Das ist kein Dienst, das ist ein Wohnzimmerregal mit Login.

🔖 Was der Ordner nicht kann: die Stelle merken

Bei einem E-Book ist es ziemlich egal, wo jemand stehengeblieben ist. Bei einem Hörbuch ist genau das das Produkt. Und ein Ordner weiß davon nichts.

Der bisherige Weg war, die Hörposition als Datei zwischen den GerĂ€ten mitzusynchronisieren. Wie gut das geht, stand am Ende im Ordner selbst: eine Konfliktdatei, entstanden, weil zwei GerĂ€te gleichzeitig meinten, die Wahrheit ĂŒber meine Hörposition zu kennen. FĂŒr Apple-GerĂ€te gab es diesen Abgleich ohnehin nie.

Genau das erledigt ein Server besser – und zwar fĂŒr jede Person getrennt.

📚 Warum nicht einfach Calibre-Web mitbenutzen?

Die naheliegende Frage, und sie verdient eine ehrliche Antwort statt einer Vermutung. Also habe ich im laufenden Container nachgesehen. Calibre-Web kann HörbĂŒcher grundsĂ€tzlich – es kennt die ĂŒblichen Audioformate und bringt sogar einen Player mit. Es scheitert an drei anderen Stellen:

  • đŸ“„ Der Einwurf-Ordner nimmt kein MP3 – nur m4b, m4a und mp4. Meine Sammlung besteht aus 4.158 MP3-Dateien
  • đŸ§© Calibre kennt pro Buch Formate, keine Titelliste – ein Hörbuch aus 278 Einzeldateien passt in dieses Datenmodell nicht hinein
  • đŸ‘„ Kein Fortschritt je Person – dazu fehlen Kapitelnavigation, Abspielgeschwindigkeit und eine Offline-App

Der dritte Punkt ist der eigentliche. Die ersten beiden ließen sich mit Aufwand umgehen; der dritte ist der Grund, warum ich ĂŒberhaupt angefangen habe. Calibre-Web bleibt unangetastet und weiter fĂŒr die E-Books zustĂ€ndig.

đŸ—‚ïž Ein Ordner, zwei Sichten

Die BĂŒcher lagen bereits in der Nextcloud – 13 GB. Sie zusĂ€tzlich in einen eigenen Ordner fĂŒr den neuen Dienst zu kopieren, habe ich verworfen. Stattdessen liest Audiobookshelf denselben Ordner, und zwar nur lesend:

/data/nextcloud/Frank/files/Audio Books  →  /audiobooks  :ro
  • đŸ’Ÿ Keine 13 GB doppelt auf derselben Platte
  • 🔁 Der gewohnte Weg bleibt – Datei in den Cloud-Ordner legen, synchronisieren, beim nĂ€chsten Scan ist sie da. Kein zweiter Upload-Weg, keine zwei Wahrheiten
  • đŸ›Ąïž Nextcloud ist geschĂŒtzt – der Dienst kann dort nichts anlegen, Ă€ndern oder löschen, also kann auch Nextclouds Dateiindex nicht auseinanderlaufen

Nachgemessen statt geglaubt: Ein touch im eingebundenen Ordner antwortet mit Read-only file system. Cover und Metadaten schreibt der Dienst in sein eigenes Verzeichnis.

Und das Beste: Die erwartete Struktur Autor/Titel/ lag schon genau so vor. Es war kein einziger Handgriff nötig. Ein Hinweis fĂŒr alle, die es nachbauen: ein Ordner je Buch – und das vor dem ersten Scan. Liegen mehrere BĂŒcher lose beieinander, werden sie zu einem einzigen. SpĂ€ter umbenennen reicht dann nicht, weil Dateien ĂŒber die Inode verfolgt werden und nicht ĂŒber den Pfad; das Buch muss aus der Datenbank gelöscht und neu eingelesen werden.

đŸ•”ïž Die Sache mit den Dateileichen

Beim Einlesen fielen Hunderte Dateien mit der Endung ~ttxpart~ auf. Meine erste Deutung: abgebrochene Uploads, also MĂŒll. Falsch. Das ist die Endung, die der Sync-Client wĂ€hrend des Hochladens anhĂ€ngt und nach dem Erfolg wieder entfernen soll. Die Dateien sind vollstĂ€ndig – nur das Umbenennen ist nie passiert.

Belegt, statt aus dem Namen geschlossen: Eine so benannte MP3 dekodiert fehlerfrei durch, und dreizehn ebenso benannte Cover sind einwandfreie JPEGs in 1000 × 1000. Aus der Dateiendung auf den Zustand zu schließen, war der Fehler – man muss in die Datei sehen.

Interessanter war die Frage, warum das ĂŒberhaupt passiert. Es war keine Zufallsserie, sondern eine Endlosschleife: hochladen, umbenennen scheitert, Fragment landet im Papierkorb, Client versucht es erneut. In sechs Tagen entstanden so 4.211 Dateileichen mit 8,12 GB – allein 1.984 Versuche fĂŒr ein einziges Buch, von dem am Ende drei Kapitel angekommen waren.

Und die Ursache saß nicht auf dem Handy, sondern auf dem Server: Nextclouds Hintergrundjobs standen seit dem 2. Februar. Dadurch wurden 272.233 abgelaufene Dateisperren nie abgerĂ€umt – und genau an diesen Sperren scheiterte das Umbenennen. Nach der Reparatur ging die Warteschlange von 213.314 auf 61 zurĂŒck und der Papierkorb von 8,2 GB auf 28 MB.

Die Lehre daraus ist die teuerste des ganzen Projekts, und sie gilt weit ĂŒber Nextcloud hinaus:

Eine gesetzte Einstellung ist keine wirksame Maßnahme. Die Aufbewahrungsfrist fĂŒr den Papierkorb stand seit Wochen korrekt in der Konfiguration – durchgesetzt wird sie von einem Hintergrundjob, und der stand ein halbes Jahr. Bei allem, was ein Job erledigt, gehört der Nachweis der AusfĂŒhrung dazu, nicht der Blick in die Einstellungen.

⚙ Zwei Schalter, die man kennen sollte

Zwei Voreinstellungen passen nicht zu diesem Aufbau, und beide sind leicht zu ĂŒbersehen:

  • đŸ–Œïž „Titelbilder im Medienordner speichern“ steht ab Werk an – bei einem nur lesend eingebundenen Ordner heißt das: Der Dienst versucht bei jedem gefundenen Cover dorthin zu schreiben und scheitert. Ausschalten, dann landen die Cover in seinem eigenen Verzeichnis
  • đŸ’œ Die automatische Sicherung steht ab Werk aus – und die Zahl der aufbewahrten Sicherungen auf zwei. Beides gehört angefasst, bevor die Bibliothek gefĂŒllt wird

Kleinigkeit am Rande, aber sie fÀllt jeden Tag auf: Das Datumsformat kommt amerikanisch aus der Packung.

đŸ“± Die App-Frage – und eine Korrektur an mir selbst

Ohne Handy-App wĂ€re das alles wenig wert; niemand hört HörbĂŒcher am Schreibtisch. Hier habe ich mich zunĂ€chst selbst aufs Glatteis gefĂŒhrt: In meinen Notizen stand „offizielle App fĂŒr Android und iOS“, weil die Projektdoku genau das schreibt. Eine iOS-Fassung im App Store gibt es nicht. Die offizielle App ist Android-only.

Geworden ist es deshalb Absorb, ein Drittanbieter-Client, der beide Plattformen bedient – Google Play und App Store – und aktiv entwickelt wird.

Ein anderer iOS-Client schied bewusst aus: Er wurde im Juli 2026 an eine Firma verkauft, das Repository ist seit dem 23. Juli archiviert, und die App kostet inzwischen Geld. Bei selbst gehosteten Werkzeugen ist ein EigentĂŒmerwechsel mit archiviertem Quellcode ein Warnzeichen – nicht, weil Geld verlangen verwerflich wĂ€re, sondern weil der offene Stand damit eingefroren ist.

Der eigentliche Gewinn der App ist derselbe wie der des ganzen Umbaus: Die Hörposition liegt jetzt auf dem Server statt in einer Datei, die zwischen GerĂ€ten abgeglichen werden muss. Ein angenehmer Nebeneffekt – der automatische Ordner-Sync aufs Handy kann weg, und damit sind dort 13 GB frei.

Eine Warnung habe ich mir selbst aufgeschrieben: nicht beide Apps parallel benutzen. Sie wissen nichts voneinander, und zwei getrennte Hörpositionen fĂŒr dasselbe Buch sind schlimmer als eine.

đŸ’Ÿ Was wirklich ins Backup muss

Die HörbĂŒcher selbst lagen lĂ€ngst in der nĂ€chtlichen Sicherung – sie liegen ja in der Nextcloud. Was nicht gesichert war: die Konten, die Berechtigungen und die Hörfortschritte der Familie. Also genau das, was sich nicht wiederbeschaffen lĂ€sst.

Das Verzeichnis des Dienstes ist deshalb in die Sicherung aufgenommen. Der Probelauf: 24 Dateien, 2,9 MB, komprimiert 429 KB – neben den 55 GB Nextcloud fĂ€llt das nicht ins Gewicht. FĂŒr den Ernstfall habe ich mir notiert, zuerst das Sicherungs-ZIP zurĂŒckzuspielen, das der Dienst selbst schreibt: Das ist ein in sich stimmiger Stand, wĂ€hrend die live mitgesicherte Datenbankdatei einen Schreibvorgang mittendrin erwischt haben kann.

Fazit

Aus einem Ordner ist eine Bibliothek geworden. Dieselben Dateien, derselbe Platz auf der Platte, derselbe Weg beim Hochladen – aber jeder in der Familie hat jetzt sein eigenes Konto und seine eigene Stelle im Buch, und die liegt da, wo sie hingehört: auf dem Server.

Gelernt habe ich dabei weniger ĂŒber HörbĂŒcher als ĂŒber Sorgfalt. Eine Dateiendung ist keine Diagnose, und eine gesetzte Einstellung ist keine wirksame Maßnahme. Beide Male hĂ€tte ich mit einer plausiblen Annahme danebengelegen – nachsehen hat es gerichtet. 🎧

Du hast einen Mini-PC und denkst ĂŒber so etwas nach, oder es hakt bei dir an einer Ă€hnlichen Stelle? Melde dich gerne – einfach Kontakt aufnehmen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert