Audiobookshelf mit Docker selbst hosten¶
Veröffentlicht am 1. August 2026 · Geschätzte Lesezeit: 5 Minuten
Mit Audiobookshelf verwaltest du eigene Hörbücher und Podcasts in einer persönlichen Mediathek. Der Server liest deine Audiodateien ein, merkt sich den Hörfortschritt je Benutzer und stellt die Sammlung im Browser sowie in passenden Apps bereit. Für Installation und erste Bibliothek solltest du etwa 20 bis 30 Minuten einplanen.
Die Angaben wurden am 1. August 2026 mit der offiziellen Docker-Dokumentation von Audiobookshelf geprüft. Einen zusätzlichen deutschsprachigen Überblick bietet das Video Audiobookshelf – unabhängig Hörbücher verwalten.
Voraussetzungen
- Ein Linux-Server mit installiertem Docker und Docker Compose
- Zugriff auf das Terminal des Servers
- Ein Ordner mit eigenen Hörbuchdateien
- Eine feste IP-Adresse oder ein lokaler DNS-Name für den Server
1. Benutzer-ID und Hörbuchordner prüfen¶
Ermittle im Terminal des Docker-Servers die Benutzer-ID:
Ermittle danach die Gruppen-ID:
Notiere beide Zahlen. Prüfe anschließend deinen Hörbuchordner und ersetze <hoerbuch-ordner> durch dessen vollständigen Pfad.
Eine übersichtliche Ordnerstruktur ist <Autor>/<Buch>/<Audiodateien>. Der angemeldete Linux-Benutzer benötigt mindestens Leserechte auf alle enthaltenen Ordner und Dateien.
2. Arbeitsordner anlegen¶
Erstelle lokale Ordner für Datenbank und Metadaten:
Wechsle in den Arbeitsordner:
Die SQLite-Datenbank im Ordner config muss laut offizieller Dokumentation direkt auf dem Docker-Server liegen. Lege diesen Ordner nicht auf einer Netzwerkfreigabe ab.
3. Compose-Datei erstellen¶
Öffne eine neue Compose-Datei:
Füge die folgende Konfiguration ein. Ersetze <benutzer-id> und <gruppen-id> durch die zuvor notierten Zahlen. Ersetze <hoerbuch-ordner> durch den vollständigen Pfad deiner Sammlung.
services:
audiobookshelf:
image: ghcr.io/advplyr/audiobookshelf:latest
container_name: audiobookshelf
user: "<benutzer-id>:<gruppen-id>"
restart: unless-stopped
ports:
- "13378:80"
environment:
TZ: Europe/Berlin
volumes:
- ./config:/config
- ./metadata:/metadata
- <hoerbuch-ordner>:/audiobooks:ro
Speichere mit Strg+O, bestätige mit der Eingabetaste und beende Nano mit Strg+X.
Der Hörbuchordner ist mit :ro nur lesbar eingebunden. Audiobookshelf kann dadurch deine Originaldateien nicht verändern. Einstellungen und Vorschaubilder bleiben in den beiden lokalen Datenordnern erhalten.
4. Container starten¶
Starte Audiobookshelf im Hintergrund:
Prüfe anschließend den Zustand:
In der Spalte STATUS sollte Up stehen. Bei einem Fehler helfen die letzten Protokollzeilen:
5. Erstes Administratorkonto erstellen¶
Öffne auf einem Gerät im selben Netzwerk folgende Adresse:
Ersetze <server-ip> durch die IP-Adresse deines Docker-Servers, zum Beispiel 192.168.178.50.
Beim ersten Aufruf legst du das Root-Konto von Audiobookshelf an. Es gibt kein voreingestelltes Kennwort. Verwende ein starkes, einzigartiges Passwort und speichere es in einem vertrauenswürdigen Passwortmanager.
Danger
Das zuerst angelegte Root-Konto besitzt vollständige Verwaltungsrechte. Teile dieses Konto nicht mit anderen Personen, sondern erstelle später für jede Person ein eigenes Benutzerkonto.
6. Hörbuchbibliothek anlegen¶
Öffne in Audiobookshelf die Bibliothekseinstellungen und erstelle eine neue Buchbibliothek. Verwende einen Namen wie Hörbücher und wähle als Ordner diesen Containerpfad:
Starte den Scan. Audiobookshelf ordnet die Dateien anhand von Ordnernamen und Metadaten zu. Ein Hörbuch mit mehreren Audiodateien sollte in einem eigenen Unterordner liegen.
Tip
Prüfe zunächst ein oder zwei Hörbücher, bevor du eine sehr große Sammlung einliest. So kannst du Ordnernamen und Metadaten ohne langen erneuten Scan korrigieren.
7. Benutzerzugriff absichern¶
Lege unter den Servereinstellungen für weitere Personen jeweils ein eigenes Benutzerkonto an. Vergib nur die benötigten Bibliotheken und Rechte. Verwende das Root-Konto ausschließlich für Verwaltungsaufgaben.
Leite Port 13378 nicht direkt im Router ins Internet weiter. Nutze für den Fernzugriff ein VPN oder einen abgesicherten Reverse Proxy mit HTTPS.
Warning
Hörfortschritt und persönliche Bibliotheksdaten sind benutzerbezogen. Gemeinsame Konten werden von Audiobookshelf nicht als normaler Anwendungsfall unterstützt und können zu widersprüchlichen Fortschrittsständen führen.
8. Wiedergabe testen¶
Öffne ein eingelesenes Hörbuch und starte die Wiedergabe. Merke dir die aktuelle Position, schließe die Seite und öffne das Hörbuch erneut.
Falls die Bibliothek leer bleibt, prüfe im Container, ob der Ordner sichtbar ist:
Der Befehl wird im Ordner ~/audiobookshelf ausgeführt. Werden keine Dateien angezeigt, kontrolliere den Host-Pfad und die Leserechte.
9. Backup und Rückweg vorbereiten¶
Stoppe Audiobookshelf vor der Sicherung, damit die SQLite-Datenbank nicht verändert wird:
Sichere Compose-Datei, Datenbank und Metadaten in einem Archiv:
tar -czf "$HOME/audiobookshelf-backup-$(date +%F).tar.gz" -C "$HOME/audiobookshelf" compose.yaml config metadata
Starte den Dienst danach wieder:
Die eigentlichen Hörbuchdateien sind nicht in diesem Archiv enthalten und benötigen ein eigenes Backup. Für den Rückweg stoppst du den Container, stellst die gesicherten Dateien wieder her und startest Audiobookshelf erneut.
10. Audiobookshelf aktualisieren¶
Erstelle zuerst ein Backup. Lade danach das aktuelle stabile Container-Abbild:
Ersetze den Container anschließend mit den vorhandenen Daten:
Prüfe nach dem Update Anmeldung, Bibliothek und gespeicherten Hörfortschritt.
11. Typische Fehler beheben¶
Wenn die Weboberfläche nicht erreichbar ist, prüfe, ob Port 13378 bereits belegt ist:
Bei einem Konflikt änderst du in compose.yaml nur die linke Zahl, zum Beispiel auf "13379:80". Die neue Adresse lautet dann http://<server-ip>:13379.
Bei Schreibfehlern in config oder metadata kontrollierst du die Besitzer der Ordner:
Die Besitzer-IDs müssen zu <benutzer-id> und <gruppen-id> aus der Compose-Datei passen.
Fertig¶
Audiobookshelf läuft jetzt als persönliche Hörbuchzentrale mit getrennten Daten- und Medienordnern. Die Einrichtung ist erfolgreich, wenn ein Hörbuch abgespielt wird und die zuletzt gehörte Position nach dem erneuten Öffnen erhalten bleibt.