Navidrome: die eigene Musik streamen wie mit Spotify
Deine Musiksammlung von überall streamen – ohne Abo und Tracking: Navidrome hinter Traefik, mit App-Anbindung über den Subsonic-Standard und Backup.
Inhaltsverzeichnis
Deine mühsam zusammengetragene Musiksammlung liegt auf einer Festplatte, während du unterwegs Spotify zahlst? Navidrome macht deine eigenen Dateien zu einem Streaming-Dienst: Weboberfläche, mobile Apps, überall Zugriff – und niemand wertet aus, was du hörst.
Was bauen wir?
Einen persönlichen Musik-Streaming-Server mit Navidrome (v0.63.2) hinter Traefik. Am Ende durchsuchst du deine Sammlung im Browser nach Alben, Künstlern und Genres, streamst on-demand – und bindest über den Subsonic-Standard die App deiner Wahl (Symfonium, DSub, play:Sub …) an, um auch unterwegs zu hören. Navidrome ist bemerkenswert ressourcenschonend (in Go geschrieben) und läuft problemlos auf einem kleinen VPS.
Für Hörbücher und Podcasts ist es dagegen das falsche Werkzeug: Navidrome denkt in Alben und Titeln, nicht in Kapiteln, und merkt sich keine Hörposition über Geräte hinweg. Dafür gibt es Audiobookshelf (Tutorial folgt voraussichtlich im September) – beide lassen sich problemlos parallel betreiben.
Voraussetzungen
- Ein Server mit laufendem Traefik und Docker Compose
- Eine Subdomain, die auf den Server zeigt – im Folgenden
DEINE_DOMAIN - Deine Musikdateien (MP3, FLAC, …) mit ordentlichen Metadaten (Tags) – daraus baut Navidrome die Bibliothek
VPS 1000 G12.5
4 vCore · 8 GB RAM · 128 GB SSD
ab 14,50 €/Monat
Navidrome ist genügsam; für große Sammlungen zählt vor allem der Speicherplatz.
💶 5 € Gutschein für netcup-Neukunden: (nicht für Domains und VPS Lite)
Schritt für Schritt
Schritt 1: Projekt anlegen
Navidrome braucht zwei Ordner: einen für die Musik (nur lesend) und einen für seine Datenbank/Index. Lege das Projekt an:
mkdir -p /opt/navidrome/data /opt/navidrome/music && cd /opt/navidrome
chown -R 1000:1000 /opt/navidromeSchritt 2: Musik auf den Server bringen
Kopiere deine Musik in den music-Ordner – am besten sauber strukturiert (Künstler/Album/Titel.mp3). Für die Übertragung eignet sich rsync über SSH:
rsync -av --progress ~/Musik/ root@DEINE_SERVER_IP:/opt/navidrome/music/Wichtig sind gute Metadaten: Navidrome liest Künstler, Album, Titel, Jahr und Cover aus den Tags der Dateien, nicht aus den Dateinamen. Schlecht getaggte Dateien landen unsortiert in der Bibliothek.
Schritt 3: Compose-Datei
Ersetze DEINE_DOMAIN:
services:
navidrome:
image: deluan/navidrome:0.63.2
restart: unless-stopped
user: "1000:1000"
environment:
ND_MUSICFOLDER: /music
ND_DATAFOLDER: /data
ND_SCANNER_SCHEDULE: 1h # stündlich nach neuen Dateien suchen
volumes:
- ./data:/data
- ./music:/music:ro # Musik nur lesend einbinden
networks: [proxy]
labels:
- "traefik.enable=true"
- "traefik.http.routers.navidrome.rule=Host(`DEINE_DOMAIN`)"
- "traefik.http.routers.navidrome.entrypoints=websecure"
- "traefik.http.routers.navidrome.tls.certresolver=le"
- "traefik.http.services.navidrome.loadbalancer.server.port=4533"
networks:
proxy:
external: trueDas :ro am Musik-Volume ist bewusst: Navidrome soll deine Dateien nur lesen, nie verändern. ND_SCANNER_SCHEDULE: 1h lässt es stündlich nach neuer Musik suchen.
Schritt 4: Starten und den Scan prüfen
docker compose up -dNavidrome scannt beim ersten Start die Bibliothek. Das kannst du im Log verfolgen:
docker compose logs | grep -i scanScanner: Completed processing folder audioCount=3 tracksImported=3
Scanner: Finished scanning all libraries duration=279mstracksImported zeigt, wie viele Titel erkannt wurden. Bei großen Sammlungen dauert der erste Scan entsprechend länger.
Schritt 5: Admin-Konto anlegen
Öffne https://DEINE_DOMAIN/. Beim ersten Aufruf legst du das Administrator-Konto an:

Vergib einen Benutzernamen und ein starkes Passwort. Danach landest du direkt in deiner Bibliothek.
Schritt 6: Durch die Bibliothek stöbern
Die Weboberfläche zeigt deine Musik nach Alben, Künstlern, Genres und zuletzt Hinzugefügtem – mit Cover-Rastern und Suche:

Ein Klick auf ein Album öffnet die Titelliste; ein Doppelklick auf einen Titel startet die Wiedergabe im eingebauten Player unten:

Schritt 7: Mobile Apps über Subsonic anbinden
Navidrome spricht die Subsonic-API – einen etablierten Standard, den viele Musik-Apps unterstützen. So hörst du deine Sammlung unterwegs mit der App deiner Wahl. In der App gibst du an:
- Server:
https://DEINE_DOMAIN - Benutzername/Passwort: dein Navidrome-Konto
Empfehlenswerte Apps: Symfonium oder Tempo (Android), play:Sub oder substreamer (iOS). Lege für Familienmitglieder in den Navidrome-Einstellungen eigene Nutzerkonten an, statt das Admin-Konto zu teilen.
Transcoding spart mobiles Datenvolumen
Wenn es nicht funktioniert
Die Bibliothek bleibt leer. Entweder liegen keine Dateien im gemounteten music-Ordner, oder die Rechte stimmen nicht. Prüfe: docker compose logs | grep -i scan zeigt tracksImported. Ist es 0, kontrolliere den Pfad und dass der music-Ordner UID 1000 gehört (siehe Benutzer & Rechte).
Titel erscheinen unsortiert oder ohne Cover. Die Metadaten der Dateien sind unvollständig. Navidrome sortiert nach Tags, nicht nach Dateinamen – tagge die Dateien nach (z. B. mit Picard) und lass Navidrome erneut scannen.
Neue Musik taucht nicht auf. Der Scan läuft nur stündlich (ND_SCANNER_SCHEDULE). Einen sofortigen Scan stößt du in der Weboberfläche über das Aktualisieren-Symbol oben an, oder du wartest bis zum nächsten Intervall.
Die App verbindet sich nicht. Fast immer die Server-URL: Sie muss https://DEINE_DOMAIN lauten (mit https://, ohne Pfad). Prüfe außerdem, dass Benutzername/Passwort exakt stimmen – manche Apps verlangen zusätzlich die Aktivierung der Subsonic-Kompatibilität, die bei Navidrome standardmäßig an ist.
Wiedergabe stockt bei großen FLAC-Dateien mobil. Die Bandbreite reicht nicht fürs Original. Transcoding für den mobilen Player aktivieren (siehe Tipp in Schritt 7).
Wartung & Backups
- Updates. Setze den Image-Tag (
deluan/navidrome:0.63.2) gelegentlich auf die aktuelle Version unddocker compose up -d; Navidrome migriert seine Datenbank beim Start. Der Rest läuft über deinen normalen Update-Prozess. - Backup zweigeteilt. Deine Musik ist der wertvolle, unwiederbringliche Teil – sie gehört ohnehin in dein Restic-Backup (oder du hast sie an anderer Stelle). Der
data-Ordner (Navidromes Index, Abspielstatistiken, Playlists, Nutzerkonten) ist klein und sollte mitgesichert werden; er lässt sich zur Not aber auch durch einen neuen Scan wiederherstellen. - Aufwand ist gering. Nach der Einrichtung besteht die Pflege vor allem darin, neue Musik in den Ordner zu legen – den Rest erledigt der stündliche Scan. Achte bei wachsender Sammlung auf den Speicherplatz (
df -h); Musik summiert sich schnell auf.
Feedback per E-Mail: feedback@serverkueche.de
Das könnte dir auch schmecken

Jellyfin selbst hosten: dein eigener Medienserver hinter Traefik
Jellyfin mit Docker hinter Traefik aufsetzen: deine Filme, Serien und Musik streamen – mit HTTPS und der Mediathek auf …

WordPress mit Docker & Traefik sauber betreiben
WordPress mit Docker und MariaDB hinter Traefik aufsetzen – mit HTTPS, isolierter Datenbank und ehrlicher …

linkding: Lesezeichen selbst hosten
Alle Lesezeichen an einem Ort, geräteübergreifend und ohne Browser-Zwang: linkding als schlanker Bookmark-Manager hinter …