Möchtest Du Songs von Spotify herunterladen und lokal auf Deinem NAS speichern? Mit Spottube ist das möglich! In diesem Beitrag zeigen wir Dir, wie Du Spottube auf einer Synology DiskStation oder einem Ugreen NAS installierst. Dabei gehen wir davon aus, dass bereits ein /volume1/docker/
-Verzeichnis existiert, und erstellen nur die benötigten Unterordner für Spottube. Außerdem erklären wir, wie Du Spottube auch ohne Spotify Client ID und Secret nutzen kannst.

Dieser Blogbeitrag dient ausschließlich zu Vorführzwecken und soll zeigen, wie SpotTube technisch funktioniert. Das Herunterladen von urheberrechtlich geschützter Musik ohne die Erlaubnis des Rechteinhabers ist illegal und kann strafrechtliche Konsequenzen nach sich ziehen. Bitte informiere dich über die gesetzlichen Regelungen in deinem Land und nutze das Tool nur im Rahmen der geltenden Gesetze.
Voraussetzungen
- Synology DiskStation oder Ugreen NAS mit installiertem Docker
- Docker Compose (auf Synology über die Docker-App, auf Ugreen NAS über die Kommandozeile)
- Ein vorhandenes
/volume1/docker/
-Verzeichnis (auf beiden Systemen) - Optional: Spotify Client ID und Secret (falls Du Spotify-Songs herunterladen möchtest)
Schritt 1: Ordner für Spottube erstellen
Auf beiden Systemen (Synology DiskStation und Ugreen NAS) müssen wir zwei Ordner erstellen: einen für die Konfiguration und einen für die heruntergeladenen Songs.
Auf der Synology DiskStation
- Öffne die File Station auf Deiner Synology DiskStation.
- Navigiere zu
/volume1/docker/
. - Erstelle einen neuen Ordner namens /
spottube
. - In diesm Ordner erstellst Du einen weiteren Ordner namens
/config
. - Erstelle einen weiteren Ordner für die heruntergeladenen Musiktitel,
z. B./volume1/music/spottube
. (Hier kannst Du einen Ordner Deiner Wahl verwenden – Beachte das Du den Pfad in der docker-compose.yml anpassen musst.)
Auf dem Ugreen NAS
- Öffne den Filemanager Deines Ugreen NAS.
- Navigiere zu
/volume1/docker/
. - Erstelle einen neuen Ordner namens
spottube.
- Auch hier erstellst Du in diesem Ordner einen weiteren Ordner namens
/config
. - Erstelle einen Ordner für die Downloads, also deine heruntergeladene Musik
z. B./volume1/music/spottube
. (Hier kannst Du einen Ordner Deiner Wahl verwenden – Beachte das Du den Pfad in der docker-compose.yml anpassen musst)
Schritt 2: Docker Compose Datei anpassen
Hier ist die Docker Compose Datei, die wir für das erstellen unseres Spottube Docker Containers verwenden. Beachte, dass die Spotify Client ID und Client Secret optional sind. Wenn Du diese nicht hast, lasse die Werte wie sie sind. Spottube sollte auch ohne diese Angaben funtionieren. Kopiere diese docker-compose:
version: '3.3'
services:
spottube:
image: thewicklowwolf/spottube:latest
container_name: spottube
environment:
- PUID=1026 # UID für den admin-Benutzer auf Synology (auf Ugreen anpassen standart 1000)
- PGID=100 # GID für die users-Gruppe auf Synology (auf Ugreen anpassen standart 10)
- spotify_client_id=abc # Optional: Deine Spotify Client ID
- spotify_client_secret=123 # Optional: Deine Spotify Client Secret
- thread_limit=1
- artist_track_selection=all
volumes:
- /volume1/docker/spottube/config:/spottube/config # Pfad für die Konfiguration
- /volume1/music/spottube:/spottube/downloads # Pfad für die Downloads
- /etc/localtime:/etc/localtime:de
ports:
- 5010:5000
restart: unless-stopped
Anpassungen für Synology DiskStation
PUID=1026
(Standard-UID für den admin-Benutzer auf Synology)PGID=100
(Standard-GID für die users-Gruppe auf Synology)- Pfade:
/volume1/docker/spottube/config
und/volume1/music/spottube
Anpassungen für Ugreen NAS
PUID=1000
(Standard-UID für den admin-Benutzer auf Ugreen)PGID=100
(Standard-GID für die users-Gruppe auf Ugreen)- Pfade:
/volume1/docker/spottube/config
und/volume1/music/spottube
Schritt 3: Docker Compose ausführen
Auf der Synology DiskStation
- Öffne den Containermanager auf Deiner Synology DiskStation.
- Gehe zu Projekte und erstelle ein neues Projekt
- Gib deinem Projekt einen Namen zb.: spottube.
- Als Pfad wählst du
/docker/spottube/
- Wähle docker-compose Datei erstellen und füge den kompletten Code von Schritt 2 hinzu.
- Passe, falls nötig deine UID und GID, sowie den Ordner für Downloads an.
- Überspringe setup Webportal via Webstation
- Führe das Projet aus.
Auf dem Ugreen NAS
- Öffne den Docker auf Deinem Ugreen NAS.
- Gehe zu Projekte und erstelle ein neues Projekt
- Gib deinem Projekt einen Namen zb.: spottube.
- Als Pfad wählst du
/docker/spottube/
- Füge den kompletten Code aus Schritt 2 in das Feld für docker-compose.yml ein.
- Passe, falls nötig deine UID und GID, sowie den Ordner für Downloads an.
- Führe das Projet aus.
Schritt 4: Spottube verwenden
Nachdem der Container gestartet wurde, kannst Du Spottube über die IP-Adresse Deines NAS und den Port 5010
aufrufen. Zum Beispiel: http://192.168.178.10:5010
.
Ohne Spotify Client ID und Secret
Falls Du keine Spotify Client ID und Secret hast, kannst Du Spottube trotzdem nutzen. Die Funktionen sind möglicherweise eingeschränkt, aber das Herunterladen von Songs sollte grundsätzlich funktionieren.
Mit Spotify Client ID und Secret
Wenn Du eine Spotify Client ID und Secret hast, gib diese in der Weboberfläche von Spottube ein. Dadurch erhältst Du Zugriff auf erweiterte Funktionen wie das Herunterladen von Songs aus Deinen Playlists.
Fazit
Mit Spottube kannst Du ganz einfach Songs von Spotify herunterladen und auf Deiner Synology DiskStation oder Ugreen NAS speichern. Die Installation ist dank Docker Compose unkompliziert, und Du kannst Spottube sogar ohne Spotify Client ID und Secret nutzen. Viel Spaß beim Herunterladen und Genießen Deiner Musik!
Hallo,
ich bekomme nachdem ich den Spotifylink in Spottube eingefügt und auf Download klicke, folgende Fehlermeldung:
“error: invalid_client, error_description: Invalid client”
Hast du eine Idee was das sein kann?
Schöne Grüße und besten Dank für deine Arbeit und Mühe
Bei erscheint der selbe Fehler!
Ihr müsst die Client ID und Secret hinzufügen: https://support.heateor.com/get-spotify-client-id-client-secret/
Wir haben es auf mehreren Geräten ausprobiert und es funktioniert auch immer ohne CLient ID. Einige Nutzer berichten auch, dass nicht alle Playlists herunterladbar sind, das Problem hatten wir bisher auch noch nicht.
Ich habe mal noch einen Blogbeitrag zu Playlistdl erstellt. Schaut mal hier: http://kutt.modern-maverick.net/Z989sC
Playlistdl macht das gleiche wie Spottube. Vielleicht funktioniert das bei Euch besser. Ein Video dazu folgt in Kürze.
Viel Erfolg!
Das Programm hatte ich auch getestet. Ich fand die Qualität nicht so gut. Die Lieder der Playlist von Spotify wurden von YouTube geladen
Ich bekomme immer angezeigt “Link found” und kurze Zeit später dann “Download failed”. Unter dem YT-Video meint ein User dazu, dass es an den Berechtigungen auf dem NAS-Ordner liegt. Ich habe eigentlich alles so, wie im Video erklärt gemacht bzw eingestellt. Wo könnte der Fehler liegen bzw. welche Berechigungen sind zwingend erforderlich?
Du bzw. der Container brauchen lese- und schreibrechte für den download ordner. Das Problem scheint an deiner UID und GID zuliegen. Hast Du diese mal abgefragt? Alternativ kannst du auch playlistdl verwenden: http://kutt.modern-maverick.net/Z989sC Playlistdl macht das gleiche wie Spottube. Vielleicht funktioniert das bei Dir besser. Ich mach auch noch nächste Woche ein Video dazu.
Hallo Miles,
Ich hab dasselbe Problem wie Eric.
Der Ordner “music” existierte bereits auf dem volume1. Die Rechte für mein User sind gesetzt. Schreibfehler hab ich mehrfach geprüft. Woran könnte es noch liegen?
Gruss Thomas
Hi Thomas, wie oben geschrieben scheint das Problem an der UID und GID zuliegen. So fragst Du diese ab: https://www.youtube.com/shorts/vh_y9alPssw
Alternativ kannst du auch playlistdl verwenden: http://kutt.modern-maverick.net/Z989sC Playlistdl macht das gleiche wie Spottube. Vielleicht funktioniert das bei Euch besser. Ich mach nächste Woche ein Video dazu.
Bei mir erscheint ebenfalls ein Fehler: “error: {‘code’: 400, ‘message’: ‘Unauthorized request’, ‘extra’: {‘_notes’: ‘Usage of this endpoint is not permitted under the Spotify Developer Terms and Developer Policy, and applicable law’}}, error_description: None” Schade! Hätte ich wirklich gerne mal ausprobiert.