127 lines
6.0 KiB
Markdown
127 lines
6.0 KiB
Markdown
---
|
|
title: Spotizerr
|
|
created: 2026-06-07
|
|
updated: 2026-06-07
|
|
type: app
|
|
tags: [catalogue, downloads, spotify, music, python, yt-dlp]
|
|
confidence: medium
|
|
contested: false
|
|
sources:
|
|
- https://selfh.st/apps/?tag=downloads
|
|
- https://github.com/spotizerr/spotizerr
|
|
---
|
|
|
|
# 🟢 Spotizerr
|
|
> Téléchargeur de playlists et morceaux Spotify : récupère les métadonnées via l'API Spotify, puis télécharge les fichiers audio depuis YouTube Music via yt-dlp, avec taggage automatique.
|
|
|
|
| Métadonnée | Valeur |
|
|
| :--- | :--- |
|
|
| **Site web** | https://github.com/spotizerr/spotizerr |
|
|
| **GitHub** | https://github.com/spotizerr/spotizerr |
|
|
| **License** | MIT |
|
|
| **Langage** | Python (FastAPI) |
|
|
| **Étoiles** | 6 ⭐ |
|
|
| **Dernière MAJ** | 2025 |
|
|
| **Catégorie** | [[cat-downloads]] |
|
|
|
|
## Description
|
|
|
|
Spotizerr fait partie de la famille des **« Spotify → YouTube downloader »**, comme **spotDL** (le plus connu en CLI) ou [[app-yubal]] (focus YT Music). Son créneau : offrir une **API REST simple** + une UI web minimale pour automatiser la résolution de playlists Spotify en fichiers audio locaux, **sans compte YouTube**.
|
|
|
|
Le flow : on colle une URL de playlist/album/track Spotify → Spotizerr récupère la liste des titres via l'API publique Spotify (gratuit, pas d'auth pour la lecture) → pour chaque titre, il construit une recherche YouTube Music ciblée (artiste + titre) → délègue à **yt-dlp** pour le téléchargement audio → applique les tags ID3 (titre, artiste, album, n° de piste, année, cover) → range proprement.
|
|
|
|
Différenciation vs spotDL : spotDL est une CLI puissante mais sans UI, et demande souvent un setup Python/venv. Spotizerr mise sur le **« tout en un conteneur »** et une **API REST** (parfaite pour scripter, intégrer à [[app-navidrome]] via script d'import, ou déclencher depuis [[app-home-assistant]]). L'UI est volontairement spartiate.
|
|
|
|
**⚠️ Limitations honnêtes** : le matching Spotify → YouTube n'est pas parfait (remaster, live, version acoustique = mismatch possible). La qualité dépend de ce qui est disponible sur YouTube. Pour du **vrai CD-quality**, il faut passer par des services payants (Qobuz, Tidal via leur API) ou des outils comme [[app-music-grabber]] couplé à Lidarr.
|
|
|
|
**⚠️ Avertissement légal** : contourner les DRM d'un service de streaming pour télécharger sans abonnement est **illégal** dans la plupart des juridictions (DMCA, EU Copyright Directive). À utiliser uniquement sur du contenu sous licence libre, ou vos propres uploads, ou avec un abonnement actif (certains outils).
|
|
|
|
## Installation
|
|
|
|
### Docker Compose (recommandé)
|
|
|
|
```yaml
|
|
# docker-compose.yml
|
|
services:
|
|
spotizerr:
|
|
image: ghcr.io/spotizerr/spotizerr:latest
|
|
container_name: spotizerr
|
|
restart: unless-stopped
|
|
ports:
|
|
- "8083:8083"
|
|
environment:
|
|
- TZ=Europe/Paris
|
|
- SPOTIFY_CLIENT_ID=*** # pour métadonnées enrichies
|
|
- SPOTIFY_CLIENT_SECRET=***
|
|
- AUDIO_FORMAT=mp3
|
|
- AUDIO_QUALITY=320
|
|
- DOWNLOAD_DIR=/downloads
|
|
volumes:
|
|
- ./config:/app/config
|
|
- /data/music/spotizerr:/downloads
|
|
```
|
|
|
|
### Installation manuelle
|
|
|
|
```bash
|
|
git clone https://github.com/spotizerr/spotizerr
|
|
cd spotizerr
|
|
pip install -r requirements.txt # nécessite ffmpeg système
|
|
cp .env.example .env
|
|
python -m spotizerr
|
|
# API sur :8083, docs sur /docs (Swagger auto)
|
|
```
|
|
|
|
## Configuration
|
|
|
|
- **Spotify API** : client ID + secret (gratuit, dashboard developer.spotify.com) pour métadonnées enrichies, facultatif en lecture publique.
|
|
- **Format audio** : `mp3`, `flac`, `opus`, `m4a` — `mp3` 320 kbps est le défaut le plus compatible.
|
|
- **Quality preference** : `best` (yt-dlp default) ou forcer un bitrate.
|
|
- **Playlist sync** : une URL playlist peut être monitorée, re-téléchargée si de nouveaux tracks apparaissent.
|
|
- **Hooks** : script post-download, webhook optionnel.
|
|
- **API REST** : `POST /download` avec JSON `{url, format}` pour scripter.
|
|
|
|
## Alternatives
|
|
|
|
### Open Source
|
|
|
|
- **spotDL** (spotify-downloader) — la référence CLI, plus mature, plus de fonctionnalités (sync playlists, métadonnées complètes), pas d'UI web.
|
|
- [[app-yubal]] — équivalent côté YouTube Music (sans dépendance Spotify API).
|
|
- [[app-music-grabber]] — focus Lidarr, plus orienté backfill.
|
|
- [[app-jellyfin]] + **Jellyfin Spotify plugin** — streaming sans download.
|
|
- **SpotTube** (Kotlin, desktop) — UX client, pas self-hosted serveur.
|
|
|
|
### Propriétaires (ce que Spotizerr remplace)
|
|
|
|
- **Spotify Premium offline** —只能在客户端读,无法在别处读。
|
|
- **TuneMyMusic / Soundiiz** — transfert entre services, pas download local.
|
|
- **Tidal HiFi** — qualité supérieure (FLAC vrai), abonnement cher.
|
|
|
|
## Sécurité
|
|
|
|
- **Bus factor 1, projet très jeune** (< 10 ⭐, ~1 an) : **risque d'abandon élevé**, ne pas miser son installation musicale dessus en prod.
|
|
- **Spotify API credentials** : client secret dans `./config`, à chiffrer. Ne pas commit.
|
|
- **Cookies** : si vous passez par votre compte Spotify (auth), ils donnent accès à votre compte.
|
|
- **Légalité** : vérifier votre juridiction, en UE la directive Copyright 2019/790 permet le téléchargement pour usage privé dans certains cas limités (recherche).
|
|
- **Pas d'auth par défaut sur l'API** : ne pas exposer `:8083` sur Internet, l'API peut déclencher des downloads arbitraires.
|
|
- **yt-dlp dépendance** : sensible aux changements YouTube, peut casser du jour au lendemain (rare mais historique).
|
|
|
|
## Ressources
|
|
|
|
- Repository : https://github.com/spotizerr/spotizerr
|
|
- spotDL (alternative mature) : https://github.com/spotdl/spotify-downloader
|
|
- yt-dlp : https://github.com/yt-dlp/yt-dlp
|
|
- Spotify API dashboard : https://developer.spotify.com/dashboard
|
|
|
|
## Pages Liées
|
|
|
|
- [[cat-downloads]] — catégorie parente
|
|
- [[app-yubal]] — alternative YouTube Music
|
|
- [[app-music-grabber]] — alternative Lidarr
|
|
- [[app-lidarr]] — gestion bibliothèque
|
|
- [[app-navidrome]] — serveur streaming
|
|
- [[app-traefik]] — reverse proxy
|
|
- [[app-authentik]] — SSO
|
|
- [[recettes-docker-compose]] — templates
|
|
- [[securisation-home-lab]] — bonnes pratiques
|