Navidrome

Eine selbst gehostete Website, um einen Musikordner als Web Player zur Verfügung zu stellen. Berechtigungsmanagement, eigene Playlists, Favoriten, Bewertungen. Nur zum Hören von Musik, die Dateien können nicht über die Oberfläche bearbeitet werden.

Installation

Navidrom kann schnell und einfach mit nur einem Docker Container bereitgestellt werden. Es hat keine Abhängigkeiten zu Datenbanken oder ähnlichem.

Folgende Docker Compose Config-Datei kann dazu verwendet werden.

services:
  navidrome:
    image: deluan/navidrome:latest
    container_name: navidrome
    user: 1000:1000 # Benutzer unter dem der Dienst im Container ausgeführt wird
    ports:
      - "4533:4533"
    restart: unless-stopped
    environment:
      # Optional: weitere Anpassungen über die Config möglich:
      ND_SCANSCHEDULE: 1h # Jede Stunde werden die Musikordner neu eingelesen
      ND_LOGLEVEL: warning # Geringste Wichtigkeit, damit ein Logeintrag erstellt wird: info -> warning -> error
      ND_SESSIONTIMEOUT: 24h # Wie lange, bis ein Benutzer automatisch abgemeldet wird
      ND_BASEURL: "" # Die URL unter der die Seite erreichbar ist
    volumes:
      - "./data:/data"
      - "./Musikordner:/music:ro"

Bei der Compose Config sind lediglich die Volumes anzupassen, in diesem Fall wird der aktuelle Ordner zum Speichern des Config-Ordners und zum Lesen des Musikordners verwendet. Aber am besten wird ein absoluter Pfad angegeben. Bei dem 2. Volume für den Musikordner sollte natürlich ein bereits bestehender Musikordner angegeben werden.

Achtung, wenn der User nicht root ist, was in der Beispiel Config der Fall ist, dann muss der Eigentümer des Verzeichnisses data mit sudo chown -R 1000 /path/to/data angepasst werden. Ansonsten startet der Container nicht und liefert eine Fehlermeldung.

Um die Docker Compose Konfiguration auszuführen, kann am besten in das Verzeichnis der YAML Datei gewechselt werden. Danach wird je nach nach gewählter Installation sudo docker-compose up -d oder sudo docker compose up -d (keine Bindestrich zwischen docker und compose) eingegeben, um die Standard Konfiguration docker-compose.yml zu starten. Compose erstellt dann die gewünschten Container mit den angegeben Optionen. Sollten die Container bereits mit dieser Compose Konfiguration erstellt worden sein, so werden die Container in dieser neu erstellt, dessen Konfiguration geändert wurde.

Vorstellung der Oberfläche

Die Oberfläche von Navidrome: eigene Benutzereinstellungen anpassen, Benutzer verwalten usw.

Vorstellung der Oberfläche

Erster Start

Wird Navidrome das 1. mal geöffnet, wird ein Admin Benutzer abgefragt. Es gilt einen Benutzernamen und Passwort für den Admin zu vergeben. Dies ist der wichtigste Benutzer, um andere Benutzer verwalten zu können. Am besten werden die Login Daten sicher abgelegt (z. B. in einem Passwortspeicher wie Bitwarden), aber nicht für den eigentlichen Medienkonsum verwendet. Zum hören der Musik sollte jeder Benutzer einen eigenen Benutzer ohne Adminrechte erhalten. Die Benutzerverwaltung wird auf einer eigenen Seite vorgestellt.

Der 1. Start kann bis zu einer Minute dauern, um den Startvorgang und mögliche Fehler zu überwachen kann auf der Kommandozeile folgender Befehl ausgeführt werden: sudo docker logs -f name_des_containers

grafik.png

Nach dem Klick auf Admin erstellen wird der Admin angelegt und es erfolgt ein Login mit diesem Benutzer und die Weboberfläche wird geladen.

Vorstellung der Oberfläche

Eigene Benutzereinstellungen

Jeder Benutzer kann für sich selbst einige Einstellungen anpassen. Das Menü dafür erreicht dieser über das kleine Benutzer-Icon rechts oben auf jeder Seite. Bei der 1. Anmeldung ist standardmäßig die Sprache Englisch eingestellt. Um z. B. die Sprache zu ändern wird auf Personal geklickt, um in das Einstellungsmenü zu gelangen.

grafik.png

In dem Menü können nun folgende Einstellungen angepasst werden:

Die Einstellungen werden leider nur im aktuellen Browser gespeichert. D. h. sie müssen in jedem Browser (sofern mehrere verwendet werden) und auf jedem Gerät neu eingestellt werden und wenn der Cache des Browsers geleert wird.

Vorstellung der Oberfläche

Benutzerverwaltung

Nur ein Admin kann die Benutzer verwalten, somit zuerst als Admin anmelden. Dann steht die Option Nutzer zur Auswahl, mit der alle Benutzer verwaltet werden können.

grafik.png

Es öffnet sich eine Tabelle mit allen Benutzern in Navidrome. Über die Schaltfläche + Erstellen rechts oben können neue Benutzer hinzugefügt werden.

grafik.png

Die einzugebenen Daten sind selbst erklärend und einfach gehalten. Es wird ein Benutzername vergeben (dieser wird beim Login eingegeben) und ein Anzeigename, welcher in der Oberfläche angezeigt wird. Email ist nicht notwendig. Ein Passwort ist natürlich ebenfalls einzustellen, welches der Benutzer später zusammen mit dem Nutzernamen eingeben muss, um sich einzuloggen. Der Slider Ist Admin sollte nicht gesetzt werden, dafür sollte nur der aktuelle Adminbenutzer verwendet werden. Nach einem Klick auf Speichern wird der Benutzer angelegt und kann sofort verwendet werden.

Jeder Benutzer erhält Zugriff auf die gesamte Musik Bibliothek, aber nicht auf die Playlisten/Verläufe der anderen Benutzer. Lediglich Admins sehen alle Playlisten (als sog. geteilte Playlist).

grafik.png

Nach dem Erstellen werden wieder alle Benutzer angezeigt.

In dieser Ansicht lassen sich auch bestehende Benutzer verwalten. Es können alle Details verändert werden, sogar der Nutzername. Außerdem lassen sich Benutzer auch löschen, aber hier ist Vorsicht geboten, da auch deren Playlisten gelöscht werden.

grafik.png

Vorstellung der Oberfläche

Medienbibliothek

Es stehen mehrere Ansichten zur Auswahl, die je nach Name einen anderen Fokus setzen. Z. B. gibt es die Gruppe Alben,  welche gleich mehrere Ansichten zur Verfügung stellt, um die zuletzt gespielten oder hinzugefügten oder meist gespielten Alben einzusehen. Dann gibt es noch die Ansicht Interpreten, welche eine Übersicht über alle Interpreten und die Anzahl ihrer Alben, Titel und Wiedergaben bietet.

grafik.png

Die Ansicht Songs eignet sich am besten für die Wiedergabe von unterschiedlichen Interpreten und Alben. Hier werden alle Songs mit ihren Details angezeigt, deswegen werden an dieser Ansicht einige Bedienelemente vorgestellt.

Die Songs werden in einer Tabelle dargestellt. Diese Tabelle lässt sich anpassen, um die Spalten ein- bzw. auszublenden, welche interessant oder nicht interessant sind. Dafür ist ein Klick auf die 3 Punkte rechts oben in der Ansicht notwendig. Nun öffnet sich ein Menü, mit dessen Hilfe die Spalten angepasst werden können.

Das kleine Fenster bietet nicht nur die sichtbaren Spalten, sondern indem es mit der Maus überfahren wird, kann mit dem Mausrad gescrollt werden bzw. es taucht ein Balken auf, sodass noch weitere Spalten ausgewählt werden können.

grafik.png

So kann z. B. auch der Zeitpunkt angezeigt werden, wann ein Song zur Bibliothek hinzugefügt wurde, um neue Songs schnell finden zu können.

Nach ein paar Änderungen an den Spalten kann die Ansicht beispielsweise so aussehen:

grafik.png

Auf diese Art und Weise können alle Ansichten angepasst werden.