
Audiobookshelf ist eine fantastische Möglichkeit, Hörbücher und Podcasts über mehrere Geräte hinweg zu hören. Auf dem Smartphone per App, im Browser über eine hübsche Weboberfläche - und natürlich immer schön synchronisiert! Und da das Ganze auch noch Multi-User-fähig ist, ist es ein toller Familien-Server. Oder WG-Server. Vereins-Server ...
Features
Audiobookshelf beschreibt sich selbst schon ziemlich treffend: "Ein selbst gehosteter Hörbuch- und Podcast-Server mit Smartphone-Apps." Für den einen und die andere dürfte das schon genügen, für alle anderen: Das Projekt besteht aus zwei Teilen, der Server-Anwendung und einer Client-App. Den Server könnt Ihr daheim auf einem beliebigen Linux-Rechner installieren, etwa einem NAS, einem Raspberry Pi oder sonst einem Gerät, das vorzugsweise 24/7 läuft. Mit entsprechenden Portfreigaben lässt sich der Server natürlich auch außerhalb des eigenen LANs nutzen. Als Docker-Container-Version läuft Audiobookshelf auch direkt unter Windows.
Der Server bietet eine simple Weboberfläche, um eine Bibliothek aufzubauen und Medien zu streamen. Audiobookshelf arbeitet dabei zum einen wie ein traditionelles Mediacenter und liest Dateien aus einer lokalen Ordnerstruktur ein. Zum anderen werkelt der Service als Podcatcher, verwaltet also Podcasts und lädt Episoden herunter. Es geht also immer um lokal verfügbare Dateien.
Die Smartphone-App liefert eine ähnliche Optik, erlaubt ebenfalls das Suchen und Abonnieren von Podcasts und bringt ein paar wirklich nette Funktionen mit sich. Zum Beispiel gibt es natürlich einen Schlaf-Timer, um die Wiedergabe nach einer Zeit zu stoppen. Das Clevere: Man kann den Timer durch Schütteln des Handys unterbrechen.
Das wichtigste Audiobookshelf-Feature ist sicherlich die Synchronisation. In einem Intervall von wenigen Sekunden wird der Fortschritt abgeglichen, so dass ein lückenloser Wechsel zwischen allen verbundenen Geräten möglich ist.
Darüber hinaus gibt es aber allerlei Kleinigkeiten zum Einstellen. So kann Audiobookshelf mit mehrern Nutzern ebenso wie mit mehreren Bibliotheken umgehen, praktisch, um etwa Podcasts und Hörbücher oder Kinder und Erwachsene zu trennen. Weitere Features:
- Metadaten-Tools
- Statistiken
- Benachrichtigungen via Apprise
- Backups
- Chromecast
- Playlists
Die Android-App ist offiziell im Beta-Status, die iOS-App wird gar als "early beta" beschrieben. Allerdings funktioniert die Android-Version hier bisweilen tadellos.
Server installieren
Ausführliche Anweisungen für diverse Systeme liefert die Github-Seite, hier geht es um Debian, Ubuntu und deren Derivate.
Zunächst benötigt Ihr die Abhängigkeiten (curl, gnupg) und das Personal Package Archive (PPA) des Projekts, also die Paketquelle:
sudo apt install gnupg curl
curl -s https://advplyr.github.io/audiobookshelf-ppa/KEY.gpg |\
sudo apt-key add -
sudo curl -s -o /etc/apt/sources.list.d/audiobookshelf.list https://advplyr.github.io/audiobookshelf-ppa/audiobookshelf.list
Auf neueren Ubuntus könnt dabei die Meldung apt-key is deprecated kommen. Einen Artikel dazu haben wir hier. Die Lösung in Kürze:
sudo apt install gnupg curl
curl -s https://advplyr.github.io/audiobookshelf-ppa/KEY.gpg |\
sudo gpg -o /usr/share/keyrings/foobar-archive-keyring.gpg --dearmor
sudo curl -s -o /etc/apt/sources.list.d/audiobookshelf.list https://advplyr.github.io/audiobookshelf-ppa/audiobookshelf.list
Hier wird einfach apt-key durch gpg ersetzt.
Anschließend könnt Ihr wie gewohnt installieren:
sudo apt update
sudo apt install audiobookshelf
Der Service startet automatisch, falls Ihr manuell neu starten wollt:
sudo systemctl restart audiobookshelf.service
Standardmäßig hört Audiobookshelf auf den Port 13378. Öffnet im Browser also die URL des Servers, etwa 192.168.178.200:13378.
Bibliothek einrichten
Beim ersten Aufruf müsst Ihr zunächst einen Root-Nutzer festlegen:

In der Oberfläche angekommen, erstellt eine Bibliothek über Add your first library:

Im Folgedialog vergebt Ihr dann einen Namen, wählt den Medientyp und könnt optional unter Setting und Schedule Dinge wie automatische Updates aktivieren. Wichtig ist aber der Punkt New folder path. Die Auswahl über den Button wird tendenzielle nicht funktionieren, also müsst Ihr den Pfad manuell angeben, also beispielsweise /media/meine-usb-platte/Medien oder dergleichen.

Für Podcasts bietet sich hier ein leerer Ordner an. Hörbücher und sonstige Bestandsmedien sollten vorzugsweise in der gängigen Ordnerstruktur Künstler/Album/Track vorliegen, ordentlich getaggt sein und Cover-Bilder besitzen.
Anschließend findet Ihr die Bibliotheken unter Settings/Libraries und könnt dort den Scan anstoßen. Je nach Bestand kann es dann ein paar Minuten dauern bis die Bibliothek gefüllt ist.

Über Search fahndet Ihr nach Podcasts, die Ihr abonnieren wollt.

Im Abonnieren-Dialog könnt Ihr vorab noch die Metadaten verändern und den automatischen Download aktivieren.

Allerdings werdet Ihr standardmäßig nur leere Podcast-Abos vorfinden! Wenn Ihr alte Episoden laden wollt, ruft die Einstellungen des Podcasts auf, beispielsweise über das Stift-Symbol in der Bibliotheksansicht.

Gebt unter Episodes ein Startdatum und ein Limit ein - über Check & Download New Episodes werden dann alte (aber für die Bibliothek natürlich neue ...) Titel heruntergeladen.

Damit ist die grundlegende Einrichtung abgeschlossen.
App einrichten
Das Einrichten der App ist noch deutlich einfacher: Installiert sie zunächst aus Google Play. Beim ersten Aufruf müsst Ihr Euch wieder über die URL des Servers samt Port verbinden:

Sofort landet Ihr in der bereits bestehenden Bibliothek und könnt angefangene Sendungen direkt weiterhören.

Weitere Features
Standardmäßig habt Ihr bislang einen einzigen Nutzer - mit Admin-Rechten. Freilich ist es besser, für den reinen Konsum weitere Nutzer anzulegen, die nur konsumieren dürfen, gegebenenfalls auch nur einzelne Bibliotheken. Selbst für Einzelnutzer ist das sinnvoll: Aus Sicherheitsgründen und so könnt Ihr auch auf ein simpleres Passwort setzen.

Ein tolles Feature findet Ihr unter Settings/Listening Sessions: Hier werden alle abgeschlossenen und laufenden Sitzungen protokolliert - zumindest für Poweruser sicherlich nützlich.

Auch Playlisten lassen sich anlegen - die nur für Euch selbst sichtbar sind, nicht für andere Nutzer.

Auf dem Smartphone gibt es ebenfalls noch ein Feature zu entdecken: Ihr könnt hier lokale Medien zur App hinzufügen und Audiobookshelf so als Player für alles verwenden.

Am Ende des Tages ist Audiobookshelf aber vor allem eines: Ein rundum überzeugendes Nutzererlebnis mit schicken Oberflächen und sauberer Synchronisation.
Perfekt ist Audiobookshelf freilich nicht. Beispielsweise hakte es hier auf einem System ein wenig mit dem Dialog für den Medien-Pfad und Podcasts ließen sich nicht abonnieren, weil der Server keine Ordner für die Podcasts anlegen durfte. Aber letztlich waren es nur Kleinigkeiten auf einem Testsystem. Meine echte Installation auf meinem Cubi-Heimserver läuft hingegen völlig problemlos. Eine perfekte Ergänzung für das Eigenbau-NAS.
Mehr zum Thema Podcasts.
Habs getestet. Extremst langsam wenn man einige hundert Hörbücher hat. Ausserdem hat es wirklich Mühe mit den Metadaten für deutsche Hörspiele. Selbst mit so bekannten Titeln wie Bibi Blocksberg. Ich hoffe nun auf eine Hörbuch Implementation in Jellyfin 10.9. Denn die haben das alles besser im Griff. Läuft schnell und das Identifizieren und Ergänzen von Metadaten läuft auch einwandfrei bei den Filmen und Serien.
Kann es sein, dass die Beschreibung für die Installation mit der neuen gpg-Variante unvollständig ist? Gilt auch für https://www.tutonaut.de/apt-key-deprecated-die-loesung/. Damit apt den Schlüssel findet, muss der doch in der Liste stehen. Oder liege ich da falsch? Richtiger wäre m.E.
curl -s https://advplyr.github.io/audiobookshelf-ppa/KEY.gpg | sudo gpg -o /usr/share/keyrings/audiobookshelf-ppa.gpg –dearmor echo deb [arch=amd64 signed-by=/usr/share/keyrings/audiobookshelf-ppa.gpg] https://advplyr.github.io/audiobookshelf-ppa ./ | sudo tee /etc/apt/sources.list.d/audiobookshelf.list
Nicht ganz falsch, nicht ganz richtig: Die Angabe ist optional – ohne explizite signed-by-Angabe nutzt apt schlicht alle Schlüssel, denen vertraut wird. Das könnte wohl mal eine Obligation werden, noch ist es eine Option. Mein Ubuntu Server 22.04 wirft nicht mal Hinweise dazu aus.