Spotify hat Daily Drive am 17. März 2026 beerdigt.
Keine automatisch aktualisierte Mischung aus Nachrichten, Podcasts und Musik mehr.
Einfach weg. [1]
Also: Alternative suchen.
Gefunden: dailydrive von patdeg – ein kleines Node.js‑Tool, das genau das macht, was Spotify uns weggenommen hat:
Deine eigene Daily‑Drive‑Playlist bauen. Voll automatisiert. [1]
Was dailydrive macht
Das Projekt rekreiert im Prinzip das alte „Your Daily Drive“:
- zieht die neuesten Episoden deiner Lieblings‑Podcasts
- mischt Musik dazu (Top‑Tracks, Genres, Playlists – frei konfigurierbar)
- ordnet alles nach einem Muster (z.B. 1 Podcast, 4 Songs, wiederholen)
- überschreibt eine definierte Spotify‑Playlist mit diesem Mix
- läuft automatisiert per
cronodersystemdauf einem Linux‑Kistchen (Raspberry Pi, Server, altes Notebook – egal) [1]
Oder kurz:
Du stellst einmal alles ein, ab dann baut eine kleine JavaScript‑App jeden Tag deine persönliche „Drive“-Playlist. [1]
Voraussetzungen
Bevor du loslegst, brauchst du:
- Spotify Premium (Pflicht für Dev‑Apps seit Feb 2026, plus Limit von 5 Usern pro App) [1]
- einen Spotify Developer Account
- irgendeine Linux‑Kiste (Raspberry Pi reicht völlig)
- minimalen Komfort mit Terminal / SSH
Installation – in kurz
- Repo klonen
git clone https://github.com/patdeg/dailydrive.git
cd dailydrive
Code-Sprache: PHP (php)
- Installer ausführen
chmod +x install.sh
./install.sh
Der Installer:
- installiert Node.js (falls nötig)
- zieht die Dependencies
- legt eine
config.yamlan (bzw. Vorlage) [1]
Spotify‑App anlegen
Damit das Tool deine Playlists anfassen darf, braucht es eine eigene Spotify‑App. [1]
- Geh ins Spotify Developer Dashboard.
- Erstelle eine neue App:
- Name: z.B.
Daily Drive - Beschreibung: „Personal Daily Drive playlist tool“
- Redirect URI:
http://127.0.0.1:8888/callback(wichtig: 127.0.0.1, nichtlocalhost) [1] - Häkchen bei Web API und Web Playback SDK
- Name: z.B.
- Unter Settings → User Management:
- deine Spotify‑Mail hinzufügen (sonst 403‑Fehler beim Schreiben der Playlist) [1]
- Client ID und Client Secret merken.
Playlist vorbereiten
- In Spotify eine neue leere Playlist anlegen, z.B. „My Daily Drive“.
- Rechtsklick → Teilen → Link zur Playlist kopieren.
- Aus dem Link den Playlist‑ID‑Teil rausziehen – das, was nach
/playlist/kommt. [1]
config.yaml bearbeiten
Das ist das Herzstück. Hier legst du fest:
- welche Playlist gefüllt wird
- welche Podcasts du hören willst
- woher die Musik kommt
- in welchem Muster alles gemischt wird [1]
Du startest mit der Vorlage:
cp config.example.yaml config.yaml
nano config.yaml
Code-Sprache: CSS (css)
Wichtige Punkte:
- Spotify‑App‑Daten eintragen:
- Client ID
- Client Secret
- Playlist ID eintragen
- Podcasts definieren (IDs, Anzahl Episoden, optional
position: firstfür News am Anfang) [1] - Music‑Sources konfigurieren:
- Top‑Tracks
- Genres
- Playlists
Beispiel für Top‑Tracks:
music:
top_tracks:
enabled: true
time_range: "short_term" # ~4 Wochen
count: 30
Code-Sprache: PHP (php)
Beispiel für Genre‑Discovery:
music:
genres:
- dance pop
- pop rock
- electropop
Wenn du Top‑Tracks und Genres gleichzeitig verwendest, splittet das Script automatisch 50/50:
Halb Komfortzone, halb Entdeckung. [1]
Podcast‑IDs und Playlist‑IDs finden
- Podcast:
- Show in Spotify öffnen
… → Teilen → Link zur Show kopieren- Der Teil nach
/show/ist die ID [1]
- Playlist:
… → Teilen → Link zur Playlist kopieren- Der Teil nach
/playlist/ist die ID [1]
Mix‑Pattern: Wie der Flow klingt
Das Muster stellt P für „Podcast Episode“ und M für „Song“ dar. [1]
Beispiele:
PMMM→ 1 Podcast, 3 Songs, wiederholenPMMMM→ 1 Podcast, 4 Songs, wiederholenPMMPMMM→ 1 Podcast, 2 Songs, dann 1 Podcast, 3 Songs, wiederholenPM→ abwechselnd Podcast / SongMMMPMMMM→ 3 Songs, 1 Podcast, 4 Songs, wiederholen
Zusätzlich kannst du Podcasts mit position: first vorne anpinnen, z.B. News‑Shorts:
podcasts:
- name: "NPR News Now"
id: "6BRSvIBNQnB68GuoXJRCnQ"
episodes: 1
position: first
Code-Sprache: JavaScript (javascript)
Die laufen dann immer zuerst, danach greift das Pattern. [1]
Einmalige Authentifizierung
npm run setup
- Script startet einen kleinen Webserver auf
127.0.0.1:8888 - Browser geht auf, du loggst dich bei Spotify ein
- Token wird lokal in
.spotify-token.jsongespeichert [1]
Kein Monitor / Headless‑Server?
SSH‑Trick:
ssh -L 8888:127.0.0.1:8888 user@dein-server
npm run setup
Code-Sprache: CSS (css)
Dann die URL im lokalen Browser öffnen, der Port wird getunnelt. [1]
Erster Lauf: Playlist bauen
npm start
Danach in Spotify deine Ziel‑Playlist öffnen:
Da sollte jetzt dein neuer Daily‑Mix drin liegen – Podcasts und Songs im definierten Pattern. [1]
Wenn du nur testen willst:
npm test
Das zeigt dir, welche Inhalte ins Playlist‑Update gehen würden, ohne tatsächlich die Playlist zu überschreiben. [1]
Automatisieren: damit du nie wieder dran denken musst
Variante A: Cronjob
crontab -e
Eintrag für 4:00 und 16:00 Uhr:
0 4,16 * * * cd /home/$USER/dailydrive && /usr/bin/node index.js >> /tmp/dailydrive.log 2>&1
Code-Sprache: JavaScript (javascript)
Variante B: systemd Timer (robuster, schöner) [1]
sudo cp systemd/dailydrive.service /etc/systemd/system/[email protected]
sudo cp systemd/dailydrive.timer /etc/systemd/system/[email protected]
sudo systemctl daemon-reload
sudo systemctl enable dailydrive@YOUR_USERNAME.timer
sudo systemctl start dailydrive@YOUR_USERNAME.timer
Zeitplan anpassen:
sudo systemctl edit dailydrive@YOUR_USERNAME.timer
Code-Sprache: CSS (css)
Standard: 4:00 und 16:00 Uhr. [1]
Nice Extra: Taste‑Profile per KI
dailydrive kann deine Genres automatisch aus deinen Top‑Tracks ableiten.
Dafür nutzt es ein LLM über Demeterics. [1]
- Demeterics‑Key holen
- in
.enveintragen:
DEMETERICS_API_KEY=dmt_dein_key_oder_dmt_key;sk-dein-openai-key
Dann:
npm run taste
Das Skript analysiert deine Top‑Tracks und baut passende Genre‑Tags für deine config.yaml. [1]
Stabilität & Technik‑Nerdkram
Unter der Haube passiert:
- Zugriff auf die Spotify Web API über
spotify-web-api-node - OAuth 2.0 Authorization Code Flow
- Tokens werden automatisch aktualisiert und lokal gespeichert
- Podcast‑Episoden:
GET /v1/shows/{id}/episodes - Musik:
GET /v1/me/top/tracksGET /v1/searchfür GenresGET /v1/playlists/{id}/tracks
- Playlist‑Update über
PUT /v1/playlists/{id}/items(neuer Endpunkt seit den API‑Änderungen 2026) [1]
Damit das Ding dir nicht während des Hörens ständig die Playlist umsortiert, gibt es ein State‑Caching in state.json.
Wenn sich keine neuen Podcast‑Episoden ergeben, wird das Update einfach übersprungen. [1]
Typische Fehler & schnelle Fixes
- „Not authenticated!“
→npm run setupnoch mal ausführen. [1] config.yaml not found
→cp config.example.yaml config.yamlund bearbeiten. [1]- Token abgelaufen
→ ebenfallsnpm run setup. [1] - 403 Forbidden beim Playlist‑Update
→ deine eigene Mail im Spotify‑Dev‑Dashboard unter „User Management“ eintragen. [1] - Playlist bleibt leer
→npm testchecken: liefern die Podcasts / Playlists überhaupt Inhalte? IDs prüfen. [1]
Was besser ist als das alte Spotify Daily Drive
Spotify hat dir früher „irgendwas“ gemischt.
Jetzt bestimmst du:
- welche Podcasts drin sind (und wie viele Episoden)
- wo sie im Mix landen (News zuerst, Long‑Form später)
- welche Musikquellen genutzt werden
- wie das Pattern aussieht
- wann die Playlist aktualisiert wird [1]
Du bist nicht mehr von einem Launenschalter im Spotify‑Backend abhängig.
Wenn Spotify wieder eine Funktion killt – egal. Du baust dir die halt selber.
Fazit
Wenn du Daily Drive vermisst und keine Lust hast, jeden Tag manuell News‑Podcasts und Musik zusammenzuklicken:
dailydriveist leichtgewichtig- schnell eingerichtet
- komplett unter deiner Kontrolle
- und läuft auf praktisch jeder Linux‑Kiste im Hintergrund [1]
Du hast dir das Ding installiert, es „läuft genial“ – exakt dafür ist das Projekt gebaut.
Einmal sauber konfigurieren, dann einfach ins Auto steigen, Play drücken und die Maschine machen lassen.
So muss das.


Schreibe einen Kommentar