Spotify: Nützliche Tools 😉

Spotify Playlists einfach auf dem NAS speichern und offline hören mit SpotTube und Docker

Spotify: Nützliche Tools 😉
Photo by Alexander Shatov / Unsplash

Durch einen Zufall bin ich über dieses Projekt gestolpert. Dieser Beitrag führt Schritt für Schritt durch die Installation und Konfiguration von SpotTube auf einer DiskStation oder einem Ugreen NAS zu akademischen Zwecken.

Voraussetzungen

Bevor mit der Installation von SpotTube begonnen werden kann, muss sichergestellt sein, dass der Container Manager auf der DiskStation oder Ugreen NAS installiert ist. Dies ist über das Paketzentrum der jeweiligen NAS-Oberfläche zu überprüfen. Dazu wird das Paketzentrum geöffnet und im Suchfeld nach "Container" gesucht. Ist der Container Manager bereits installiert, wird dies angezeigt. Andernfalls muss dieser zunächst installiert werden.

Ordnerstruktur anlegen

Für den Betrieb von SpotTube und die Speicherung der heruntergeladenen Musikdateien ist es notwendig, eine entsprechende Ordnerstruktur auf dem NAS anzulegen. Zunächst wird über die File Station (oder den Dateimanager bei Ugreen NAS) der Docker-Ordner aufgerufen. Dieser Ordner wird bei der Installation des Container Managers automatisch erstellt. Innerhalb des Docker-Ordners wird ein neuer Ordner mit dem Namen spottube erstellt. In diesem spottube-Ordner wird wiederum ein weiterer Ordner namens config angelegt. Dieser Ordner dient SpotTube zur Speicherung der Konfigurationsdateien.

Zusätzlich zu diesen Ordnern innerhalb des Docker-Verzeichnisses wird ein separater Ordner für die Musikdateien benötigt. Hierzu kann ein beliebiger freigegebener Ordner auf dem NAS verwendet werden. Im vorliegenden Beispiel wird ein neuer freigegebener Ordner namens Music im Hauptverzeichnis des NAS erstellt. Innerhalb dieses Music-Ordners wird anschließend ein weiterer Ordner mit dem Namen spottube angelegt. Dieser spottube-Ordner im Music-Verzeichnis dient als Zielordner für die heruntergeladenen MP3-Dateien. Es ist zu beachten, dass der Zielordner frei wählbar ist und später in der Docker Compose Datei entsprechend angepasst werden kann.

Docker Compose konfigurieren

Nachdem die Ordnerstruktur angelegt wurde, wird der Container Manager geöffnet und ein neues Projekt erstellt. Dazu wird im Container Manager auf "Projekt" und anschließend auf "Erstellen" geklickt. Als Projektnamen wird spottube vergeben. Als Pfad wird der zuvor erstellte spottube-Ordner im Docker-Verzeichnis ausgewählt. Als Quelle für die Konfiguration wird "Docker Compose erstellen" gewählt.

Im nächsten Schritt wird die Docker Compose Datei benötigt. Diese Datei wird kopiert und in das Textfeld im Container Manager eingefügt.

Die Docker Compose Datei beinhaltet folgende Konfiguration:

version: '3.8'
services:
  spottube:
    image: thewicklowwolf/spottube:latest
    container_name: spottube
    environment:
      - PUID=1000
      - PGID=1000
      - spotify_client_id=abc
      - spotify_client_secret=123
      - thread_limit=1
      - artist_track_selection=all
    volumes:
      - /path/to/config:/spottube/config
      - /data/media/spottube:/spottube/downloads
      - /etc/localtime:/etc/localtime:ro
    ports:
      - 5000:5000
    restart: unless-stopped

https://hub.docker.com/r/thewicklowwolf/spottube

Es ist wichtig, die Platzhalter für PUID und PGID mit den korrekten User- und Group-IDs des eigenen NAS-Systems zu ersetzen. Die Standard User ID auf Synology Systemen ist 1026 und die Standard Group ID ist 100. Auf Ugreen NAS-Systemen sind die Standard IDs 1000 für den User und 100 für die Group. Die korrekten IDs können über die Kommandozeile des NAS mit dem Befehl id <username> ermittelt werden. Der Pfad unter volumes für /volume1/music/spottube muss gegebenenfalls an den tatsächlichen Pfad des zuvor erstellten Musikordners angepasst werden, falls dieser abweicht. Die Felder SPOTIFY_CLIENT_ID und SPOTIFY_CLIENT_SECRET sind optional und können leer gelassen werden. SpotTube funktioniert auch ohne diese Angaben.

Nachdem die Docker Compose Datei eingefügt und die Anpassungen vorgenommen wurden, wird auf "Weiter" geklickt. Die Option "Webportal über Web Station einrichten" kann übersprungen werden. Durch Klick auf "Fertig" wird das Projekt erstellt und gestartet.

SpotTube starten und aufrufen

Der Container Manager beginnt nun mit dem Herunterladen des SpotTube Docker Images und der Erstellung des Containers. Sobald der Vorgang abgeschlossen ist und der Exit-Code 0 angezeigt wird, ist SpotTube erfolgreich gestartet. Der Container-Status sollte nun als "Wird ausgeführt" angezeigt werden.

Um auf die SpotTube Web-Oberfläche zuzugreifen, wird ein Webbrowser geöffnet und die IP-Adresse der DiskStation oder Ugreen NAS in die Adresszeile eingegeben, gefolgt vom Port 5010. Beispiel: http://<IP-Adresse-der-NAS>:5010. Daraufhin sollte die SpotTube Oberfläche im Browser erscheinen.

Die Oberfläche ist schlicht gehalten und bietet ein Feld zur Eingabe des Playlist-Links, eine Schaltfläche zum Herunterladen und ein Zahnrad-Symbol für die Einstellungen. In den Einstellungen können optional die Spotify Client ID und das Client Secret hinterlegt sowie der Dark Mode aktiviert werden.

Spotify Playlist herunterladen

Um eine Spotify Playlist herunterzuladen, wird zunächst in Spotify die gewünschte Playlist ausgewählt. Über das Drei-Punkte-Menü der Playlist wird "Teilen" und anschließend "Link zur Playlist kopieren" ausgewählt. Dieser kopierte Link wird nun in das Eingabefeld auf der SpotTube Oberfläche eingefügt. Durch Klick auf "Download" startet der Download-Vorgang.

SpotTube listet nun alle Titel der Playlist auf und beginnt mit dem Herunterladen und Konvertieren der Songs in MP3-Dateien. Der Fortschritt des Downloads wird in der Oberfläche angezeigt. Je nach Größe der Playlist kann der Download-Vorgang einige Zeit in Anspruch nehmen.

Überprüfung der Downloads

Nachdem der Download einer Playlist abgeschlossen ist, können die heruntergeladenen MP3-Dateien über die File Station (oder den Dateimanager) überprüft werden. Dazu wird der zuvor konfigurierte Musikordner aufgerufen. Innerhalb des spottube-Ordners befindet sich nun ein weiterer Ordner, der den Namen der heruntergeladenen Playlist trägt.

In diesem Ordner sind die einzelnen Songs als MP3-Dateien gespeichert und können direkt angehört werden.

Fazit

SpotTube erweist sich als äußerst nützliches Tool, um seine Playlisten im alten Auto verfügbar zu machen. Nicht jeder hat vielleicht mobiles Internet in seinem Radio.