Audiobookshelf mit Docker Compose: Eigenen Hoerbuchserver lokal auf Port 13378 starten
Wenn Hoerbuecher, Podcasts und gekaufte Audio-Dateien ueber USB-Sticks, Handy-Downloads und Netzlaufwerke verteilt sind, fehlt meist kein weiterer Streamingdienst, sondern ein eigener, sauberer Sammelpunkt. Audiobookshelf ist dafuer stark: self-hosted, browserbasiert und fuer Hoerbuecher deutlich angenehmer als ein generischer Musikserver.
Stand: 21. Mai 2026, 16:00 Uhr CEST. Die offizielle Docker-Doku nennt weiter den Container-Port 80 hinter einer lokalen Freigabe auf 13378, fuehrt die vier Pfade /audiobooks, /podcasts, /config und /metadata explizit auf und warnt dabei vor verschachtelten Volume-Verzeichnissen. Auf GitHub ist v2.35.0 seit dem 17. Mai 2026 als aktuelle Release markiert. Genau darauf pinne ich dieses Tutorial bewusst, statt blind latest zu ziehen.

Was du am Ende hast
- Audiobookshelf lokal unter
http://127.0.0.1:13378 - Einen eigenen Hoerbuch- und Podcast-Server im Browser
- Persistente Ordner fuer Medien, Metadaten und Konfiguration
- Klare Pruefschritte mit
docker compose, Logs undcurl
Voraussetzungen
- Docker Engine und
docker composesind installiert - Port
13378ist frei - Du hast mindestens eine echte Hoerbuch-Datei oder einen Ordner mit MP3-/M4B-Dateien zum Testen
1. Sauberen Arbeitsordner anlegen
Nicht in einem alten Compose-Verzeichnis anfangen:
mkdir audiobookshelf-lab && cd audiobookshelf-lab
mkdir -p audiobooks podcasts config metadata
Die Trennung ist hier wichtig. Die offizielle Doku sagt ausdruecklich, dass die Volume-Mappings getrennte Verzeichnisse sein sollen und nicht ineinander liegen. Also nicht metadata innerhalb von config oder audiobooks innerhalb von metadata verstecken.
2. Compose-Datei erstellen
Das offizielle Compose-Beispiel nutzt ghcr.io/advplyr/audiobookshelf:latest, mappt 13378:80 und bindet genau vier lokale Pfade ein. Fuer reproduzierbare Schritte pinne ich den aktuellen Stand aber auf v2.35.0.
audiobookshelf-lab/compose.yaml:
services:
audiobookshelf:
image: ghcr.io/advplyr/audiobookshelf:v2.35.0
container_name: audiobookshelf
ports:
- "127.0.0.1:13378:80"
volumes:
- ./audiobooks:/audiobooks
- ./podcasts:/podcasts
- ./config:/config
- ./metadata:/metadata
environment:
- TZ=Europe/Berlin
restart: unless-stopped
Die Doku weist ausserdem darauf hin, dass
/configauf derselben physischen Maschine liegen muss, auf der Audiobookshelf laeuft. Gerade diesen Pfad solltest du also nicht auf ein entferntes oder verschachteltes Konstrukt biegen.
3. Optional schon jetzt Testmedien ablegen
Wenn du direkt nach dem ersten Login etwas sehen willst, kopiere vorab eine echte Datei in den Medienordner:
cp ~/Medien/hoerbuecher/beispiel.m4b audiobooks/
Oder, wenn du Kapiteldateien hast:
mkdir -p "audiobooks/Mein-Testbuch"
cp ~/Medien/hoerbuecher/Mein-Testbuch/*.mp3 "audiobooks/Mein-Testbuch/"
Den podcasts-Ordner kannst du fuer den ersten Start leer lassen. Er stoert nicht, selbst wenn du erstmal nur Hoerbuecher nutzen willst.
4. Stack starten
Jetzt das gepinnte Image ziehen und den Container im Hintergrund starten:
docker compose pull
docker compose up -d
Danach sollte der Dienst lokal auf dieser Adresse antworten:
http://127.0.0.1:13378
5. Start pruefen
Erst Containerstatus und Logs ansehen, dann den HTTP-Endpunkt testen:
docker compose ps
docker compose logs --tail=100 audiobookshelf
curl -I http://127.0.0.1:13378
Ein erfolgreicher HTTP-Status oder Redirect ist hier genau das, was du sehen willst. Wichtig ist nicht die exakte Zahl allein, sondern dass kein Verbindungsfehler mehr kommt und der Container laeuft.
6. Erste Einrichtung im Browser
Oeffne http://127.0.0.1:13378 im Browser und geh durch die Ersteinrichtung. Danach legst du mindestens eine Bibliothek an.
Fuer Hoerbuecher reicht als Bibliothekspfad:
/audiobooks
Wenn du auch Podcasts lokal sammeln willst, legst du spaeter zusaetzlich eine zweite Bibliothek fuer diesen Pfad an:
/podcasts
Genau hier wird das Projekt praktisch. Nach dem ersten Scan tauchen Cover, Titel und Dateien direkt in einer fuer Audio ausgelegten Oberflaeche auf, statt irgendwo in einem Dateimanager zu verschwinden.
7. Sichtbares Ergebnis erzwingen
Ein Self-Hosting-Tutorial ohne sichtbaren Endpunkt ist wertlos. Fuer den echten Test brauchst du deshalb genau diesen Ablauf:
- Eine Datei oder einen Buchordner in audiobookshelf-lab/audiobooks legen.
- Im Web-UI die Bibliothek auf
/audiobookszeigen lassen. - Den Bibliotheksscan starten oder abwarten.
Danach solltest du im Browser mindestens einen Titel sehen. Wenn nicht, pruefe zuerst:
- Liegt die Datei wirklich im lokalen Ordner audiobookshelf-lab/audiobooks?
- Zeigt die Bibliothek im Web-UI wirklich auf
/audiobooks? - Melden die Container-Logs Fehler zu Rechten oder Dateizugriffen?
8. Was fuer dieses Setup wichtig bleibt
Dieses kleine Compose-Setup ist absichtlich lokal gehalten. Es ist kein kompletter Fernzugriffs-Stack mit Domain, TLS und Reverse Proxy.
Gerade fuer den ersten Start ist das sinnvoll:
- weniger Fehlerquellen
- klare Ordnerstruktur
- schneller Test mit echten Medien
- sofort sichtbares Ergebnis im Browser
Wenn du Audiobookshelf danach dauerhaft im Heimnetz oder ueber das Internet nutzen willst, ist der naechste saubere Schritt ein Reverse Proxy mit HTTPS, nicht mehr Komplexitaet im ersten Compose-File.
Fazit
Audiobookshelf ist am 21. Mai 2026 ein starker Docker-Compose-Fallback, weil die offizielle Docker-Doku konkret bleibt, die aktuelle Release v2.35.0 frisch genug ist und das Ergebnis nicht abstrakt bleibt. Du startest einen echten Dienst, legst Dateien in klare Medienordner und hast kurz darauf eine nutzbare Hoerbuch-Oberflaeche im Browser.