Zum Inhalt

Navidrome als eigenen Musikserver per Docker installieren

Veröffentlicht am 22. August 2026 · Geschätzte Lesezeit: 3 Minuten

Mit Navidrome streamst du deine eigene Musiksammlung im Browser oder über kompatible Subsonic-Apps. Die Musik bleibt unverändert in deinem Ordner; Navidrome speichert nur Bibliothek, Benutzer und Wiedergabedaten separat. Die Einrichtung dauert etwa 20 Minuten.

Voraussetzungen

  • Ein Linux-Server mit Docker und Docker Compose
  • Ein vorhandener Musikordner mit lesbaren Audiodateien
  • Eine feste IP-Adresse für den Server
  • Der Port 4533 im Heimnetz frei

1. Arbeitsordner vorbereiten

Führe den folgenden Befehl auf dem Docker-Server aus. Er erstellt die Ordner für Navidrome-Daten und die integrierten Datenbanksicherungen:

mkdir -p ~/navidrome/data ~/navidrome/backup && cd ~/navidrome

Erstelle danach eine .env-Datei. Ersetze <musik-pfad> durch den vollständigen Pfad zu deiner Musiksammlung auf dem Server, zum Beispiel /srv/media/musik:

printf 'NAVIDROME_UID=%s\nNAVIDROME_GID=%s\nMUSIC_PATH=%s\n' "$(id -u)" "$(id -g)" '<musik-pfad>' > .env

Der Container läuft damit unter deinem aktuellen Linux-Benutzer und erhält nur Lesezugriff auf den Musikordner.

2. Compose-Datei erstellen

Lege im Ordner ~/navidrome eine Datei namens compose.yaml mit diesem Inhalt an:

services:
  navidrome:
    image: deluan/navidrome:latest
    container_name: navidrome
    user: "${NAVIDROME_UID}:${NAVIDROME_GID}"
    restart: unless-stopped
    ports:
      - "4533:4533"
    environment:
      ND_SCANSCHEDULE: 1h
      ND_LOGLEVEL: info
      ND_BACKUP_PATH: /backup
      ND_BACKUP_SCHEDULE: "0 0 * * *"
      ND_BACKUP_COUNT: "7"
    volumes:
      - ./data:/data
      - ./backup:/backup
      - ${MUSIC_PATH}:/music:ro

/music:ro verhindert, dass Navidrome deine Musikdateien verändert. Die tägliche Sicherung enthält Datenbankinformationen wie Benutzer und Wiedergabezähler, aber nicht die Musikdateien selbst.

3. Pfad und Zugriffsrechte prüfen

Prüfe auf dem Docker-Server, ob der eingetragene Musikpfad existiert. Ersetze <musik-pfad> durch denselben vollständigen Pfad wie in der .env-Datei; die Anführungszeichen schützen auch Pfade mit Leerzeichen:

ls -ld '<musik-pfad>'

Zeige anschließend testweise einige Dateien an:

find '<musik-pfad>' -maxdepth 2 -type f | head

Keine Ausgabe oder Zugriff verweigert?

Kontrolliere den Pfad in .env und erteile dem dort gespeicherten Benutzer Leserechte. Verwende nicht pauschal chmod 777, weil dadurch alle lokalen Benutzer unnötig weitreichenden Zugriff erhalten.

4. Navidrome starten

Starte den Container im Projektordner:

docker compose up -d

Prüfe anschließend seinen Zustand:

docker compose ps

Die letzten Protokollmeldungen zeigen, ob der Musikscan begonnen hat:

docker compose logs --tail=100 navidrome

5. Administratorkonto anlegen

Öffne http://<server-ip>:4533 im Browser. Ersetze <server-ip> durch die feste IP-Adresse des Docker-Servers. Der erste angelegte Benutzer erhält Administratorrechte. Verwende deshalb ein langes, nur hier benutztes Passwort.

Sobald erste Titel erscheinen, kannst du sie bereits abspielen. Bei großen Sammlungen läuft der erste Scan im Hintergrund noch eine Weile weiter.

6. Daten und Musik sichern

Prüfe, ob Navidrome im Ordner backup eine Datenbanksicherung angelegt hat:

ls -lh ~/navidrome/backup

Erstelle bei Bedarf sofort eine zusätzliche Sicherung über den laufenden Container:

docker compose exec navidrome navidrome backup create

Musik separat sichern

Die Navidrome-Sicherung enthält keine Audiodateien und keine externe Konfiguration. Sichere deshalb zusätzlich deinen Musikordner, compose.yaml, .env sowie die Ordner data und backup auf einem anderen Gerät.

Als sicherer Rückweg kannst du den Dienst mit dem folgenden Befehl entfernen, ohne die lokalen Ordner oder Musikdateien zu löschen:

docker compose down

7. Zugriff absichern und aktualisieren

Port 4533 sollte zunächst nur im Heimnetz erreichbar sein. Für unterwegs verwendest du ein VPN oder einen HTTPS-Reverse-Proxy. Öffne den Port nicht unverschlüsselt im Router und nutze für jedes Konto ein eigenes Passwort.

Erstelle vor einem Update eine Sicherung und lade danach das aktuelle Image:

docker compose pull

Ersetze den Container anschließend mit unveränderter Konfiguration:

docker compose up -d

8. Typische Fehler beheben

  • Bibliothek bleibt leer: Prüfe MUSIC_PATH, die Leserechte und die Protokolle.
  • Datenbank kann nicht geöffnet werden: Der Benutzer aus .env benötigt Schreibrechte auf ~/navidrome/data und ~/navidrome/backup.
  • Neue Titel fehlen: Warte auf den stündlichen Scan oder starte in der Navidrome-Verwaltung einen manuellen Scan.
  • Wiedergabe von unterwegs stockt: Prüfe zuerst Netzwerk und Reverse-Proxy; verändere nicht unkontrolliert die Originaldateien.

9. Quellen und Videos

Fertig

Navidrome stellt deine Musiksammlung jetzt schreibgeschützt als persönliche Streaming-Bibliothek bereit. Spiele einen Titel vollständig ab und prüfe danach, ob Album, Interpret und Cover korrekt angezeigt werden.