6.7 KiB
title, created, updated, type, tags, confidence, contested, sources
| title | created | updated | type | tags | confidence | contested | sources | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Octo-Fiesta | 2026-06-07 | 2026-06-07 | app |
|
high | false |
|
🎉 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 |
| GitHub | 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é)
# 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)
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 QobuzYANDEX_OAUTH_TOKEN: token OAuth Yandex MusicNAVIDROME_BASE_URL/NAVIDROME_USER/NAVIDROME_PASSWORD: pour le scan post-téléchargementDOWNLOAD_DIR: répertoire de stockage (défaut/downloads)MAX_QUALITY:LOSSLESS(FLAC),HIGH(MP3 320),LOWLIBRARY_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
.envnon versionné, jamais dansdocker-compose.ymlcommité. - 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
- Wiki officiel (installation, providers, clients)
- Reddit : présentation détaillée
- Deezer ARL guide
- 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