Navidrome auf Raspberry Pi 5 – private Spotify-Alternative selbstgehostet

Stell dir Navidrome wie dein eigenes kleines Spotify vor – nur ohne Werbung, ohne Abozwang und vor allem ohne, dass ein großer Konzern ständig mitlauscht, welche Songs du hörst. Navidrome ist ein Open-Source Musik-Streaming-Server, den du komplett selbst hostest. Das bedeutet: Deine gesamte Musiksammlung (egal ob MP3, FLAC, OGG oder andere Formate) bleibt bei dir zu Hause auf deinem Raspberry Pi – und du kannst sie von überall auf der Welt streamen, egal ob am Handy, Laptop oder Tablet.

Der große Unterschied zu Spotify und Co. liegt nicht nur darin, dass du keine monatlichen Gebühren zahlst. Du hast auch volle Kontrolle über deine Daten. Spotify sammelt viele Daten über deine Hörgewohnheiten – welche Lieder du magst, wann du Musik hörst und auf welchem Gerät. Was mit all diesen Informationen geschieht, muss ich wohl nicht erklären. Mit Navidrome gibt es das alles nicht. Deine Musik, deine Metadaten und deine Benutzerkonten bleiben auf deinem Server unter deiner Kontrolle. Kein Tracking, keine Profile, keine externen Server. Das ist echte digitale Freiheit, Bro.

Wichtiger Hinweis: Navidrome selbst läuft ressourcenschonend, aber für sehr große Musikbibliotheken mit vielen FLAC-Dateien solltest du auf eine dementsprechend potente Himbeere zurückgreifen. Ich erwähne hier absichtlich den Raspberry Pi 5, da mein System auf diesem läuft und ich keinen anderen getestet habe. Dieser ist dafür perfekt geeignet, weil er schnell genug ist, wenig Strom verbraucht und super leise arbeitet.

Raspberry Pi vorbereiten

Bevor du Navidrome installieren kannst, solltest du sicherstellen, dass dein Raspberry Pi auf dem aktuellen Stand ist. Dazu führst du im Terminal folgenden Befehl aus:

sudo apt update && sudo apt full-upgrade -y

Das sorgt dafür, dass alle Programme und Bibliotheken auf deinem Pi auf die neuesten Versionen gebracht werden. Dieser Schritt ist wichtig, um die Kompatibilität mit neuerer Software zu gewährleisten und bekannte Sicherheitslücken zu schließen.

Musikordner anlegen

Erstelle einen Ordner für deine Musikdateien:

mkdir -p /home/pi/music

Hier kannst du später deine MP3s, FLAC-Dateien oder andere Musikformate reinkopieren.

Navidrome mit Docker installieren

Um Navidrome einfach zu verwalten und sauber zu betreiben, nutzen wir Docker , ein Tool, das es ermöglicht, Anwendungen in sogenannten Containern laufen zu lassen. Das macht Updates einfacher und sorgt dafür, dass Navidrome stabiler läuft.

Zuerst installierst du Docker:

curl -sSL https://get.docker.com | sh
sudo usermod -aG docker pi

Nachdem du den Benutzer pi zur docker-Gruppe hinzugefügt hast, musst du dich einmal neu am Raspberry Pi anmelden oder ihn neu starten, damit diese Änderung wirksam wird.

Anschließend startest du Navidrome im Docker-Container:

Wichtig: Erstelle zuerst das Verzeichnis für die Navidrome-Daten auf deinem Raspberry Pi, bevor du den Docker-Befehl ausführst:

mkdir -p /home/pi/navidrome

Jetzt kannst du Navidrome starten:

docker run -d \
  --name=navidrome \
  -e ND_MUSICFOLDER="/music" \
  -v /home/pi/music:/music:ro \
  -v /home/pi/navidrome:/data \
  -p 4533:4533 \
  deluan/navidrome:latest

Hinweis: Es ist empfehlenswert, anstelle von latest eine spezifische stabile Version des Navidrome Docker Images zu verwenden, z.B. deluan/navidrome:0.55.2. Dadurch vermeidest du unerwartete Änderungen durch automatische Updates.

Jetzt läuft Navidrome bereits sauber im Docker-Container. Vorteil: Du brauchst dich um wenig kümmern und kannst später Updates ganz einfach einspielen.

Nächster Schritt: Öffne deinen Webbrowser und gehe zu http://raspberrypi.local:4533. Du solltest eine Registrierungsseite sehen, auf der du deinen ersten Administratorbenutzer für Navidrome erstellen kannst.

Wichtig: Falls du Probleme hast, dass Navidrome deine Musikdateien nicht findet, überprüfe die Berechtigungen des Ordners /home/pi/music. Stelle sicher, dass der Benutzer pi Leserechte für diesen Ordner und alle darin enthaltenen Dateien hat. Du kannst die Berechtigungen mit folgendem Befehl anpassen [16, 21, 25, 26]:

sudo chown -R pi:pi /home/pi/music

Navidrome absichern und automatisch starten lassen

Docker sorgt automatisch dafür, dass Navidrome beim Neustart wieder hochfährt.

Optional: Firewall einrichten

sudo apt install ufw
sudo ufw allow 4533
sudo ufw enable

Diese Befehle installieren und aktivieren die Firewall ufw und erlauben eingehende Verbindungen auf Port 4533, dem Standardport von Navidrome. Das ist eine gute Sicherheitsmaßnahme.

Wie greifst du mit Handy oder PC auf deine Musik zu?

Navidrome unterstützt die Subsonic API. Damit kannst du verschiedene Apps nutzen.

In der App gibst du als Serveradresse folgendes ein:

http://raspberrypi.local:4533

Tipp: Falls die Verbindung über raspberrypi.local nicht funktioniert, versuche es mit der IP-Adresse deines Raspberry Pi im lokalen Netzwerk. Du kannst die IP-Adresse mit dem Befehl ip a oder hostname -I im Terminal deines Raspberry Pi herausfinden.

 

Warum kein HTTPS (und wie du es einrichtest, wenn du willst)

Navidrome bringt von Haus aus kein HTTPS mit. Das heißt, wenn du Navidrome so startest, läuft es nur über unverschlüsselte HTTP-Verbindungen. Innerhalb deines Heimnetzes (WLAN/LAN) ist das in der Regel kein großes Problem.

Aber: Wenn du von unterwegs oder außerhalb deines Heimnetzes zugreifen möchtest, solltest du definitiv HTTPS nutzen, um deine Verbindung zu verschlüsseln.

Caddy als Reverse Proxy nutzen

Caddy ist perfekt für diese Aufgabe. Caddy übernimmt für dich die HTTPS-Konfiguration und erneuert Zertifikate automatisch.

Zuerst installierst du Caddy:

sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo tee /etc/apt/trusted.gpg.d/caddy.gpg > /dev/null
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy.list
sudo apt update
sudo apt install caddy

Dann konfigurierst du Caddy für deine Domain (z. B. musik.meinedomain.de):

sudo nano /etc/caddy/Caddyfile

Inhalt:

musik.meinedomain.de {
  reverse_proxy localhost:4533
}

Wichtig: Ersetze musik.meinedomain.de durch deinen tatsächlichen Domainnamen, unter dem du Navidrome erreichen möchtest.

Hinweis: Um eine Domain mit Caddy nutzen zu können, benötigst du eine registrierte Domain und korrekt konfigurierte DNS-Einträge, die auf die öffentliche IP-Adresse deines Raspberry Pi verweisen. Außerdem müssen die Ports 80 und 443 in der Firewall deines Raspberry Pi und gegebenenfalls in deinem Router geöffnet sein, damit Caddy ein SSL-Zertifikat erhalten und HTTPS-Verbindungen entgegennehmen kann.

Dann neustarten:

sudo systemctl restart caddy

Jetzt erreichst du Navidrome sicher über https://musik.meinedomain.de – mit automatisch erneuertem SSL-Zertifikat. Komfort pur, Bro!

Wie sicherst du dein System und hältst es aktuell?

Damit deine Konfiguration und Daten nicht verloren gehen, solltest du regelmäßig ein Backup deiner Navidrome-Daten machen:

tar czvf navidrome-backup.tar.gz /home/pi/navidrome

Diese Sicherung speichert die Konfiguration und Datenbank von Navidrome in einer Datei namens navidrome-backup.tar.gz.

Wichtig: Dieser Befehl sichert nicht deine Musikbibliothek unter /home/pi/music. Du solltest deine Musikdateien separat sichern, zum Beispiel mit dem Befehl rsync -av /home/pi/music /dein/backup/pfad/.

Diese Sicherung kannst zb in einer Nextcloud speichern. Es ist ratsam, Backups an einem anderen Ort als dem Raspberry Pi selbst zu speichern.

Für Updates bei Docker reicht es, den Container neu zu ziehen:

docker pull deluan/navidrome:latest
docker stop navidrome
docker rm navidrome

Dann startest du ihn einfach erneut wie oben beschrieben.

Wichtiger Hinweis: Vergiss nicht, auch dein Raspberry Pi OS und Docker selbst regelmäßig zu aktualisieren, um Sicherheitslücken zu schließen und die Stabilität zu gewährleisten.

Verwende dazu die Befehle

sudo apt update && sudo apt full-upgrade -y

für das Betriebssystem und

sudo apt update && sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y

für Docker.

Erledigt

Mit Navidrome hast du jetzt einen vollwertigen Musik-Streamingdienst aufgebaut, der:

  • Deine Privatsphäre respektiert
  • Keine Werbung oder Abo-Kosten hat
  • Deine gesamte Musikbibliothek überall verfügbar macht
  • Dir volle Kontrolle gibt

Du hast jetzt offiziell dein eigenes Spotify. Glückwunsch.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert