Navidrome: eine einzelne Datei startet einen Musikserver, die eigene Sammlung antwortet von ueberall
Zusammenfassung
Navidrome ist in Go geschrieben und steht unter GPL v3. Es oeffnet eine Subsonic-Schnittstelle, damit hundertzwei vorhandene Clients andocken, und bringt Transkodierung, mehrere Bibliotheken und Plug-ins mit. Aktuell ist 0.64.2.
Empfehlen- Name
- Navidrome
- Version
- 0.64.2
- Preis
- Kostenlos
- Open Source
- Open Source
- Betriebssystem
- WindowsLinuxmacOS
- Webseite
- https://www.navidrome.org/
- Aktualisiert
- 2026-10-21 12:39
Navidrome ist ein Musikserver in Go: ein Ordner mit Audio auf einer Platte wird zu einer privaten Sammlung, die von ueberall erreichbar ist. Einen eigenen Client fuer das Telefon bringt es nicht mit; stattdessen oeffnet es eine Schnittstelle nach dem Subsonic-Protokoll und laesst vorhandene Abspieler andocken.
Ein Prozess, zwei Verzeichnisse
Die Form eines Betriebs ist schlicht. Die Seite bietet fertig gebaute Dateien je Plattform, Linux, Windows, macOS und ARM-Boards eingeschlossen, dazu ein offizielles Container-Abbild fuer x86 und ARM in v6, v7 und v8. Zum Laufen braucht es zwei Orte, einen fuer Datenbank und Zwischenspeicher und einen auf den Musikordner, und es belegt Port 4533.
Die einzige harte fremde Abhaengigkeit ist ffmpeg, das die Umwandlung macht. Fuer die Einstellungen gibt es drei Zugaenge: Umgebungsvariablen, Schalter auf der Kommandozeile und eine Datei im toml-Format; sind beide gesetzt, gilt die Umgebung, und im Container sucht das Programm diese toml selbst im Datenverzeichnis.

Einmal den Ordner durchsehen, dann steht die Sammlung
Der erste Start legt die Sammlung an und durchsucht den Musikordner. Die Seite nennt konkrete Zeiten, und danach laesst sich ein Plan fuer das Durchsehen setzen, der in festem Abstand wieder laeuft.
Groesse der Sammlung | Erstes Durchsehen |
|---|---|
Unter 1.000 Titeln | Innerhalb einer Minute |
1.000 bis 10.000 | Ein bis fuenf Minuten |
10.000 bis 50.000 | Fuenf bis fuenfzehn Minuten |
Ueber 50.000 | Ab fuenfzehn Minuten |
Die Sammlung entsteht aus Tags, nicht aus Ordnern. Das FAQ sagt es deutlich: ein Modus zum Blaettern nach Ordnern waere technisch machbar, wuerde aber die Innereien der meisten Bauteile bewegen, und das Produkt hat seine Richtung am ersten Tag auf Tags festgelegt. Titel landen in Alben und Alben haengen an Interpreten allein ueber die Tags in den Dateien; falsch geschriebene Tags ergeben eine wirre Oberflaeche. Die Seite erwaehnt, der Scanner sei an einer Sammlung von etwa neunhunderttausend Titeln erprobt, zwei Drittel davon FLAC, und diese Groesse laufe noch auf einem Raspberry Pi.
Das Protokoll ist die Tuer, die Clients machen andere
Es bringt einen eigenen Abspieler fuer den Browser mit, doch getragen wird es von der Protokolltreue. Die Dokumentation nennt eine Ausrichtung an Subsonic API 1.16.1, mit wenigen abweichenden Schnittstellen, und die Erweiterungen von OpenSubsonic werden laufend ergaenzt. Auch die Luecken stehen offen: nichts rund um Video; kein Blaettern nach Ordnern, eine Anfrage nach Verzeichnissen liefert einen nachgebauten Baum; eine Abspielanfrage allein zaehlt nicht als Wiedergabe, erst eine Meldung des Clients tut es.
Laeuft das Protokoll, muessen Clients nicht selbst geschrieben werden. Das Verzeichnis auf der Seite listet hundertzwei Anwendungen, fuer Android, iOS, Desktop, Web und Fernsehkaesten, und alles mit der Marke Subsonic oder OpenSubsonic dockt an.

Mehrere Sammlungen, Rechte und Trennung
Mehrere Musiksammlungen gibt es seit 0.58.0. Der Start legt aus dem eingestellten Musikordner eine Standardsammlung an, und bestehende Nutzer erben das Recht automatisch; Verwalter sehen alle Sammlungen, gewoehnliche Nutzer bekommen eine nach der anderen und wechseln ueber eine Auswahl. Ein Album gehoert nur zu einer Sammlung, ein Interpret kann mehrere umspannen, und die Zahlen werden ueber alle zusammengefasst; eine Wiedergabeliste darf Sammlungen mischen, sofern die Rechte auf jeder einzelnen liegen. Musik von Hoerbuechern zu trennen oder jedem im Haushalt eine eigene Sammlung zu geben, wird zur Einstellungsfrage.
Umwandlung, Zwischenspeicher und Teilen
Die Wiedergabe kann umwandeln. Der Server bringt eine Datei in der vom Abspieler verlangten Form auf eine passende Bitrate und schickt diese, was Daten und Rechenlast spart; das Ergebnis landet in einem Zwischenspeicher mit einstellbarer Obergrenze. Teilen ist der andere Weg: jeder Nutzer kann fuer einen Titel, ein Album, einen Interpreten oder eine Liste einen Verweis erzeugen, auch ohne Konto laesst sich zuhoeren, und der Verweis laeuft nach einem Jahr ab, wobei die Dauer aenderbar ist oder das Ganze abgeschaltet werden kann.
Kluge Listen und Hoerverlauf
Kluge Listen sind noch im Versuch: Regeln werden als JSON geschrieben und als nsp-Datei in den Ordner der Sammlung gelegt. Die Regeln tragen Felder, Operatoren, Sortierung und eine Obergrenze: die letzten dreissig Tage gehoert, die ersten hundert; Achtziger mit mehr als drei Sternen, neueste zuerst, fuenfundzwanzig Stueck. Bedingungen auf relative Zeit mit einer Prozentgrenze ergeben eine Tagesliste, die sich dreht.
Dieselbe Syntax wird anderswo wiederverwendet. Seit 0.64.0 kann jeder Nutzer eine Filterregel setzen, die bestimmte Titel aus seinem Verlauf haelt, etwa Feiertagsmusik, oder nur Titel ab vier Sternen in Empfehlungen laesst; geblockte Titel zaehlen weiter als lokale Wiedergabe, der Verlauf bekommt keine Luecke.
Plug-ins und die Jellyfin-Schnittstelle
Plug-ins laufen in einer WebAssembly-Sandbox und melden zuerst, welche Faehigkeiten sie bieten: Kurzbiografien und Cover holen, den Verlauf anderswohin schicken, geplante Aufgaben fahren, auf Wiedergabeereignisse antworten. Installiert wird, indem die Datei in den Plug-in-Ordner kommt, dann im Web freigeschaltet und mit Rechten versehen wird. Ohne Zutun haben Plug-ins kein Netz, und fuer einen Dienst im lokalen Netz muss der Adressbereich im Verzeichnis stehen.
0.64.0 hat zusaetzlich eine versuchsweise Jellyfin-Schnittstelle geoeffnet, standardmaessig aus. Ist sie an, antwortet der Server Jellyfin-Musikclients auf einem eigenen Pfad, die Anmeldung laeuft ueber Konto und Passwort des Rechners, und jedes Geraet erscheint als Abspieler in den Einstellungen. Die automatische Suche im lokalen Netz nutzt UDP 7359 und bleibt aus, weil ein echter Jellyfin-Server auf derselben Maschine um diesen Port streiten wuerde.
Was die 0.64er Reihen behoben haben
0.64.0 ist eine grosse Ausgabe, und die wichtigste Aenderung versteckt sich dort, wo man sie nicht sieht: interne IDs wurden einheitlich auf 128 Bit umgeschrieben, der Umzug beruehrt jede Tabelle, die Datenbank gehoert vor dem Aufstieg gesichert, und Clients mit zwischengespeicherten IDs muessen moeglicherweise neu abgleichen. Wer Plug-ins schreibt, sollte wissen, dass die HTTP-Faehigkeit der Sandbox abgeschaltet wurde und Anfragen ueber die Host-Schnittstelle laufen.
0.64.1 ist eine Sicherheitsausgabe und schliesst fuenf Luecken auf einmal. Die schwerste sitzt auf der Subsonic-Schnittstelle: gescheiterte Anmeldungen waren nicht begrenzt, ein Angreifer konnte Passwoerter in voller Geschwindigkeit raten, bewertet mit 7.4; eine andere liess eine fremde Cover-Adresse in einer Liste auf das interne Netz zeigen und machte den Server zur Sonde. 0.64.2 schliesst die Reihe und behandelt einen Fehler auf langsamem Speicher: USB-Sticks und Netzlaufwerke warfen beim Durchsehen Haufen von Meldungen ueber gesperrte Datenbanken, und das volle Durchsehen scheiterte, daher pausiert diese Ausgabe die Coverarbeit waehrend des Durchsehens.
Fuer wen es taugt
Wer einige hundert GB verlustfrei hat und nicht monatlich fuer ein Abo zahlen will, ist der typische Nutzer. Ein Raspberry Pi, der immer laeuft, ein altes Notebook im Leerlauf oder ein Container auf einem NAS, und die Sammlung lebt. Es will keine Grafikkarte, ist beim System nicht waehlerisch, und die eine gebaute Datei laeuft, sobald sie liegt.
Navidrome nimmt den schmalen Weg: nur Musikserver, nur nach Tags geordnet, nur auf das Subsonic-Protokoll gerichtet, und der Rest geht an hundertzwei Clients, die es je auf ihre Weise tun. Der Code steht unter GNU GPL in der dritten Fassung, das Quellverzeichnis traegt ueber vierundzwanzigtausend Sterne, und die Version ist bis 0.64.2 gewandert. Einen lokalen Musikordner in etwas zu verwandeln, das jederzeit erreichbar ist, hat sonst wenige Eingaenge.