Zum Inhalt springen
Serverküche
Suche

Die Suche wird geladen … (nur in der veröffentlichten Seite verfügbar).

Anwendungen Schwierigkeit: Fortgeschritten

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.

· 5 Min. Lesezeit ·Dauer: ca. 40 Minuten
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

🍳 Empfehlung Anzeige

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.

Zu netcup →

💶 5 € Gutschein für netcup-Neukunden: (nicht für Domains und VPS Lite)

Im Warenkorb einlösen →

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:

Terminal
mkdir -p /opt/navidrome/data /opt/navidrome/music && cd /opt/navidrome
chown -R 1000:1000 /opt/navidrome

Schritt 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:

Terminal
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:

YAML
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: true

Das :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

Terminal
docker compose up -d

Navidrome scannt beim ersten Start die Bibliothek. Das kannst du im Log verfolgen:

Terminal
docker compose logs | grep -i scan
Ausgabe
Scanner: Completed processing folder audioCount=3 tracksImported=3
Scanner: Finished scanning all libraries duration=279ms

tracksImported 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:

Der Navidrome-Ersteinrichtungsbildschirm zum Anlegen des Admin-Kontos
Beim ersten Start legst du Benutzername und Passwort des Admins fest

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:

Die Navidrome-Albenübersicht mit den erkannten Alben und Künstlern
Die Bibliothek: Alben mit Cover, Künstler und Filtermöglichkeiten

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

Ein geöffnetes Album mit Titelliste und dem laufenden Player am unteren Rand
Album-Ansicht mit Titelliste – unten spielt der eingebaute Player gerade den ersten Titel

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

Navidrome kann Musik beim Streamen in eine kleinere Bitrate umwandeln (Transcoding), etwa für unterwegs. Das aktivierst du pro Nutzer bzw. Player in den Einstellungen unter „Transcoding“. So streamst du zu Hause in voller Qualität und mobil datensparend – ohne die Originaldateien anzutasten.

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 und docker 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

linkding: Lesezeichen selbst hosten
Anwendungen Fortgeschritten

linkding: Lesezeichen selbst hosten

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

· 4 Min. Lesezeit