NAS MUSIK

Docker Musik-API

Streaming-Backend für die AudioStream-App. Die API liefert Songliste, Stream, Cover und Favoriten aus deiner Musikbibliothek auf dem NAS — erreichbar über eine eigene Domain.

Docker Node.js Range-Streaming

In der App einrichten

Medien-Tab → Docker-Chip (Wal-Symbol) oder Einstellungen → NAS Musik API.

  1. Domain eintragen — z. B. https://music.deine-domain.de
  2. Verbindung testen — grüner Haken bei /api/health
  3. Medien-Tab → Docker-Chip tippen → Songliste lädt automatisch

Beispiel-Domain

Die App speichert die URL in den Einstellungen (MusicDockerAPIConfig). Kein Server ist voreingestellt — jeder Nutzer trägt seine eigene Domain ein.

API-Endpunkte

Alle Pfade relativ zur konfigurierten Basis-URL. Kein URL-Rewrite auf /api nötig.

MethodePfadBeschreibung
GET/api/healthStatus-Check ({"status":"ok"})
GET/api/songsAlle Songs als JSON
GET/api/stream/:idAudio-Stream (HTTP Range 206)
GET/api/artwork/:idCover aus ID3-Tags (JPEG/PNG)
GET/api/favoritesListe der Favoriten-IDs
POST/api/favorites/toggleFavorit umschalten — Body: {"songId":"..."}
Cover werden serverseitig aus MP3/M4A extrahiert und als Binärdaten ausgeliefert — nicht als JSON.

Deploy auf NAS

Container music-nas-api auf Port 9190.

  1. Projektordner backend/music-api auf das NAS kopieren
  2. Deploy-Skript ausführen:
cd backend/music-api
chmod +x deploy-to-nas.sh
./deploy-to-nas.sh

Volume-Mapping

/volume1/Music/music im Container

Docker-Netzwerk

Container muss im Netzwerk proxy-net sein (wie NPM).

Nginx Proxy Manager

HTTPS-Terminierung über NPM — Weiterleitung an den API-Container.

FeldWert
Domainmusic.deine-domain.de
SchemeHTTPS (Let's Encrypt)
Forward Hostnamemusic-nas-api
Forward Port9190
Block Common Exploitsan
Kein URL-Rewrite auf /api setzen — die App ruft die Pfade direkt auf.