Initial vault setup

This commit is contained in:
2026-06-09 18:40:21 +02:00
commit bda02d587f
3692 changed files with 402457 additions and 0 deletions
@@ -0,0 +1,120 @@
---
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