Sign inSign up

mmtnrw/spotify-manager

By mmtnrw

Updated about 1 year ago

Image
0

3.0K

mmtnrw/spotify-manager repository overview

🎵 Spotify Playlist Manager

Ein selbst-gehosteter Service zum Herunterladen deiner Spotify-Playlists mit Web-Interface.

Features

  • Web-Interface mit Live-Updates
  • Spotify OAuth Authentication
  • Playlist-Verwaltung mit Multi-Select
  • Download-Queue mit Progress-Tracking
  • WebSocket für Echtzeit-Updates
  • Auto-Sync alle 24 Stunden
  • SQLite Database für Download-History
  • M3U Export für Emby/Plex
  • Docker-Ready mit einem Command starten

Installation

1. Repository klonen
git clone https://git.mmt.nrw:63500/mmtnrw/Spotify-Manager.git
cd Spotify-Manager
2. Spotify App erstellen
  1. Gehe zu https://developer.spotify.com/dashboard
  2. Erstelle eine neue App
  3. Setze Redirect URI: http://YOUR-IP:8888/api/auth/callback
  4. Kopiere Client ID und Client Secret
3. Konfiguration

Bearbeite docker-compose.yml:

environment:
  - SPOTIFY_CLIENT_ID=deine_client_id
  - SPOTIFY_CLIENT_SECRET=dein_client_secret
  - SPOTIFY_REDIRECT_URI=http://YOUR-IP:8888/api/auth/callback
4. Starten
docker-compose up -d
5. Zugriff

Öffne im Browser: http://YOUR-IP:8888

Verwendung

  1. Login mit Spotify Account
  2. Wähle Playlists aus
  3. Download startet automatisch
  4. Verfolge Progress in Echtzeit
  5. Finde Downloads in /media/Music/SpotifyManager/

Technologie

  • Backend: Python FastAPI
  • Frontend: Vanilla JS mit WebSockets
  • Download: yt-dlp (YouTube als Quelle)
  • Database: SQLite
  • Container: Docker mit Supervisor

Verzeichnisstruktur

/media/Music/SpotifyManager/
├── playlist-id-1/
│   ├── Artist - Song1.mp3
│   ├── Artist - Song2.mp3
│   └── playlist.m3u
├── playlist-id-2/
│   └── ...

API Endpoints

  • GET / - Status
  • GET /auth/login - Spotify OAuth URL
  • GET /auth/callback - OAuth Callback
  • GET /playlists - Liste aller Playlists
  • POST /download - Download starten
  • GET /stats - Download-Statistiken
  • WS /ws - WebSocket für Live-Updates

Umgebungsvariablen

VariableBeschreibungDefault
SPOTIFY_CLIENT_IDSpotify App Client IDrequired
SPOTIFY_CLIENT_SECRETSpotify App Secretrequired
SPOTIFY_REDIRECT_URIOAuth Redirect URIrequired
DOWNLOAD_DIRDownload-Verzeichnis/downloads
DOWNLOAD_QUALITYAudio-Qualität (128-320)320
DOWNLOAD_FORMATAudio-Formatmp3
AUTO_SYNC_INTERVALAuto-Sync in Stunden (0=aus)24

Lizenz

MIT

Author

MMT - 2024

Tag summary

Content type

Image

Digest

sha256:5b0b852e6

Size

344 MB

Last updated

about 1 year ago

docker pull mmtnrw/spotify-manager