121 lines
6.7 KiB
Markdown
121 lines
6.7 KiB
Markdown
---
|
|
title: Octo-Fiesta
|
|
created: 2026-06-07
|
|
updated: 2026-06-07
|
|
type: app
|
|
tags: [catalogue, music, music-streaming, subsonic, deezer, qobuz, csharp, dotnet]
|
|
confidence: high
|
|
contested: false
|
|
sources:
|
|
- https://selfh.st/apps/?tag=Music+Streaming
|
|
- https://github.com/V1ck3s/octo-fiesta
|
|
- https://www.reddit.com/r/selfhosted/comments/1q24538/octofiesta_a_subsonic_proxy_that_fills_the_gaps/
|
|
---
|
|
|
|
# 🎉 Octo-Fiesta
|
|
|
|
> Proxy Subsonic en C#/.NET qui complète à la volée votre bibliothèque Navidrome avec Deezer, Qobuz, SquidWTF ou Yandex Music, télécharge la piste manquante en FLAC et la range proprement dans vos dossiers.
|
|
|
|
| Métadonnée | Valeur |
|
|
| :--- | :--- |
|
|
| **Site web** | [github.com/V1ck3s/octo-fiesta](https://github.com/V1ck3s/octo-fiesta) |
|
|
| **GitHub** | [https://github.com/V1ck3s/octo-fiesta](https://github.com/V1ck3s/octo-fiesta) |
|
|
| **License** | GPL-3.0 |
|
|
| **Langage** | C# (.NET 9), 99.9 % |
|
|
| **Étoiles** | ≈528 ⭐ (47 sur selfh.st/apps) |
|
|
| **Dernière MAJ** | 2026-05-15 (v0.9) |
|
|
| **Catégorie** | [[cat-music]] |
|
|
|
|
## Description
|
|
|
|
Octo-Fiesta est un **proxy Subsonic** qui s'intercale entre votre client Subsonic (Aonsoku, Feishin, Substreamer, Navic…) et votre serveur Subsonic ([[app-navidrome]] le plus souvent). Quand le client demande une piste absente de la bibliothèque locale, Octo-Fiesta interroge les providers configurés (Deezer, Qobuz, SquidWTF, Yandex Music), télécharge le fichier en haute qualité (jusqu'au **FLAC 24-bit / 192 kHz**), **tague correctement** l'ID3 (titre, artiste, album, track number, année, label) et **embed la pochette**, puis range tout dans `Artist/Album/Track` à la racine de la bibliothèque. Au prochain scan, Navidrome voit la nouvelle piste comme locale.
|
|
|
|
L'idée est de **fusionner la commodité d'un service de streaming** (millions de titres) avec la propriété d'une bibliothèque personnelle auto-hébergée : tout ce que vous écoutez finit par devenir un fichier sur votre disque. La fonctionnalité « garder la musique pour toujours » est centrale : une piste jouée une fois sera là pour toujours, indépendamment de l'évolution des catalogues des providers. Octo-Fiesta supporte aussi les **playlists externes** : recherche, découverte, téléchargement d'une playlist Deezer/Qobuz/Yandex avec génération automatique d'un fichier `m3u`.
|
|
|
|
Architecture : un seul binaire .NET 9 (`octo-fiesta`) écoutant sur le port `5274` par défaut, plus un volume de téléchargement persistant. Les providers sont implémentés sous forme de plugins ; SquidWTF est le seul qui ne nécessite aucun identifiant (proxy public), les autres requièrent des credentials. Le wiki officiel détaille la procédure d'obtention de l'**ARL token Deezer**, du **User ID/Token Qobuz** et de l'**OAuth Yandex Music** (`#access_token=` dans l'URL de redirection).
|
|
|
|
## Installation
|
|
|
|
### Pré-requis
|
|
- Un serveur [[app-navidrome]] (ou autre compatible Subsonic) déjà fonctionnel
|
|
- Docker + Docker Compose (recommandé) ou .NET 9 SDK
|
|
|
|
### Docker (recommandé)
|
|
|
|
```yaml
|
|
# docker-compose.yml
|
|
services:
|
|
octo-fiesta:
|
|
image: ghcr.io/v1ck3s/octo-fiesta:latest
|
|
container_name: octo-fiesta
|
|
ports:
|
|
- "5274:5274"
|
|
environment:
|
|
- DEEZER_ARL=votre_arl_token_ici
|
|
- QOBUZ_USER_ID=123456
|
|
- QOBUZ_TOKEN=votre_token
|
|
- YANDEX_OAUTH_TOKEN=
|
|
- NAVIDROME_BASE_URL=http://navidrome:4533
|
|
- NAVIDROME_USER=admin
|
|
- NAVIDROME_PASSWORD=admin
|
|
volumes:
|
|
- ./downloads:/downloads:rw
|
|
- ./config:/config:rw
|
|
restart: unless-stopped
|
|
```
|
|
|
|
Démarrage : `docker compose up -d`. Pointez ensuite votre client Subsonic sur `http://IP:5274` au lieu de l'URL Navidrome.
|
|
|
|
### Manuelle (.NET 9)
|
|
|
|
```bash
|
|
git clone https://github.com/V1ck3s/octo-fiesta.git
|
|
cd octo-fiesta
|
|
dotnet build -c Release
|
|
dotnet run --project src/OctoFiesta
|
|
```
|
|
|
|
## Configuration
|
|
|
|
Variables d'environnement principales (ou `.env.example` recopié en `.env`) :
|
|
|
|
- `DEEZER_ARL` : jeton ARL Deezer (cf. wiki officiel)
|
|
- `QOBUZ_USER_ID`, `QOBUZ_TOKEN` : credentials Qobuz
|
|
- `YANDEX_OAUTH_TOKEN` : token OAuth Yandex Music
|
|
- `NAVIDROME_BASE_URL` / `NAVIDROME_USER` / `NAVIDROME_PASSWORD` : pour le scan post-téléchargement
|
|
- `DOWNLOAD_DIR` : répertoire de stockage (défaut `/downloads`)
|
|
- `MAX_QUALITY` : `LOSSLESS` (FLAC), `HIGH` (MP3 320), `LOW`
|
|
- `LIBRARY_DIR` : chemin vu par Navidrome où ranger les fichiers
|
|
|
|
Penser à **déclencher un scan Navidrome** après chaque batch de téléchargements (manuel ou via l'API). Wiki officiel : guides d'obtention de credentials par provider, et tableau des qualités max par service.
|
|
|
|
## Alternatives
|
|
|
|
**Open Source :** [[app-lightweight-music-server]] (C++/Subsonic), [[app-navidrome]] (serveur Subsonic cible), [[app-gonic]] (Subsonic Go), [[app-airsonic-advanced]] (Subsonic Java), [[app-listenarr]] (divers audio), **Spotizerr** (download Spotify), [[app-decypharr]] (arr-like proxy), **streamrip** (CLI Python multi-providers), [[app-soulbeet]] (sync Spotify → library), [[app-soulsync]] (variante), [[app-music-grabber]] (acquisition audio).
|
|
|
|
**Propriétaire (que cette app remplace) :** Spotify (qui ne télécharge pas vraiment), Deezer Premium (cloud only), Qobuz Studio (cloud only), Yandex Music Plus, **Tidal HiFi** (≈10 €/mois). Octo-Fiesta vous donne l'équivalent d'un Deezer HiFi **avec rétention définitive** et **interopérable** avec n'importe quel client Subsonic.
|
|
|
|
## Sécurité
|
|
|
|
- Les **credentials** (ARL, OAuth) sont sensibles : stockez-les dans un fichier `.env` non versionné, jamais dans `docker-compose.yml` commité.
|
|
- Octo-Fiesta n'embarque **pas d'authentification** côté proxy : posez-le derrière un reverse proxy (NPM, Traefik) avec auth basique ou SSO (Authelia/Authentik).
|
|
- Attention au **légal** : ne rediffusez pas les fichiers téléchargés, usage strictement personnel. Deezer/Qobuz interdisent la redistribution.
|
|
- Volume `./downloads` : vérifiez la taille, les FLAC 24-bit peuvent peser ~150 Mo/track.
|
|
- Les tokens providers **expirent** (Deezer ~3 mois) : prévoyez une rotation et un monitoring.
|
|
|
|
## Ressources
|
|
|
|
- [Dépôt GitHub](https://github.com/V1ck3s/octo-fiesta)
|
|
- [Wiki officiel (installation, providers, clients)](https://github.com/V1ck3s/octo-fiesta/wiki)
|
|
- [Reddit : présentation détaillée](https://www.reddit.com/r/selfhosted/comments/1q24538/octofiesta_a_subsonic_proxy_that_fills_the_gaps/)
|
|
- [Deezer ARL guide](https://github.com/V1ck3s/octo-fiesta/wiki/Getting-Deezer-Credentials-(ARL-Token))
|
|
- [[app-navidrome]] — le serveur Subsonic cible
|
|
|
|
## Pages Liées
|
|
|
|
- [[cat-music]] — Catégorie Music
|
|
- [[recettes-docker-compose]] — Templates Docker Compose
|
|
- [[app-navidrome]] — Subsonic cible
|
|
- [[app-lightweight-music-server]] — Subsonic C++ (autre serveur)
|
|
- [[securisation-home-lab]] — Reverse proxy + auth
|