Vue normale
-
- Quand le chef intervient pendant ma présentation alors que j'attends toujours sa réponse sur ma demande d'augmentation
Quand la deadline tombe demain
Quand j’essaie d’aider un collègue et que je crée encore plus de bugs dans son code
Quand le lead dev me demande sur Teams comment faire pour se connecter en "route"
Quand j'ai plusieurs warnings mais absolument aucune erreur
Quand j'essaie d'apporter une petite modif au CSS
Quand ça fait déjà plusieurs heures que je m’acharne à corriger un bug
Quand j'inspecte le code legacy que je vais devoir faire évoluer
Quand je teste un bout de code "au talent" et que ça fonctionne du premier coup
Quand je récupère une clé d'API exposée publiquement
Quand mon script de backup commence à retourner plein de messages d'erreurs
Nouvelle version de Decypharr : très grosses nouveautés !
J’avais déjà présenté Decypharr « normal » et Usenet il y a quelques mois.
La nouvelle mouture ajoute notamment :
- Le support du streaming via Usenet (multi providers),
- La possibilité d’utiliser plusieurs comptes d’un même débrideur (pratique pour AD vu qu’il y a une limite de 5000 torrents/compte)
- Le support de montages rClone externes tout comme l’ajout d’un système de fichiers propre à Decypharr,
- Une refonte du WebDAV (plus pratique à parcourir),
- Lors de l’ajout manuel de .torrent/.nzb on peut maintenant choisir de créer du symlink (Plex), STRM (Jellyfin), télécharger localement ou aucun…
On n’oubliera pas mon outil DecypharrSeed qui permet de seeder tout ou partie des .torrents utilisés via Decypharr (qu’il faudrait que je traduise un jour en anglich pour qu’il ait plus de succès).
Pour l’installer, on peut reprendre le compose existant et simplement changer l’image (ça reprend sans risque la configuration existante) :
services:
decypharr:
#image: ghcr.io/sirrobot01/decypharr:latest
image: cy01/blackhole:fenrir
container_name: decypharr
restart: always
privileged: true
cap_add:
- SYS_ADMIN
security_opt:
- apparmor:unconfined
ports:
- 8282:8282
volumes:
- /mnt/:/mnt/:rshared
- /mnt/Fichiers/decypharr/qbit:/mnt/Fichiers/decypharr/qbit
- /mnt/Docker/decypharr/:/app
environment:
- TZ=Europe/Paris
devices:
- /dev/fuse:/dev/fuse:rwm






![]()
Quand on me demande si ça va après 6 heures assis devant mon écran sur le même bug
Quand je pars me faire un café et que j’entends la sonnerie d’un appel Teams
Quand je quitte la réunion d'équipe après avoir proposé une solution technique parfaite
Feishin : client et agrégateur de serveurs de musique Navidrome, Jellyfin et Subsonic
Je crois que j’ai ENFIN trouvé le lecteur de musique que j’aime !

J’ai jamais été consommateur de musique, de qualité lossless du moins (Rikito, si tu me lis), au point d’être un gros membre de WCD et ses successeurs où je ne suis d’ailleurs plus.
Mais en bon geek curieux, j’ai toujours eu un œil sur les solutions d’hébergement/téléchargement/streaming de musique. Je me contente d’ajouter des .torrent à Decypharr/AllDebrid, ne voulant plus stocker directement chez moi (hormis un peu de partage via DecypharsSeed) et ne supportant plus Lidarr (même en hébergeant mon instance pour les métadonnées).
Il m’a cependant été impossible de trouver un lecteur (Web et/ou iOS/Android) qui réponde à mes besoins : beau & moderne, simple, avec recherche par genres, artistes similaires, playlists et paroles notamment. En gros : une copie de Spotify.
J’ai relancé il y a quelques semaines mon Navidrome qui prenait la poussière dans un vieux reste de stack audio auto-hébergée. Après avoir des années utilisé Subsonic et dérivés, Plex ou encore Jellyfin pour jouer un peu de musique, j’étais passé sur Navidrome pour sa modularité et « bonne allure » de serveur de streaming dédié à ce type de médias.
Comme je veux l’utiliser avec Decypharr/AD, j’ajuste les volumes en conséquence :
– /mnt/:/mnt/:rshared
– /mnt/Fichiers/decypharr/qbit/music:/music:ro
Et j’utilise toujours Spotify, en sus de Deezer, pour les métadonnées. Pour le reste des variables d’environnement, tout est expliqué dans la documentation.
Pour cet article je n’ai mis que 3 albums en test.
services:
navidrome:
image: deluan/navidrome:latest
user: 1000:1000
ports:
- "4533:4533"
restart: always
environment:
- TZ=Europe/Paris
- ND_BASEURL=https/audio.domain.tld
- ND_AGENTS=spotify,deezer
- ND_DEEZER_ENABLED=true
- ND_ENABLEDOWNLOADS=false
- ND_ENABLEEXTERNALSERVICES=false
- ND_HTTPSECURITYHEADERS_CUSTOMFRAMEOPTIONSVALUE=SAMEORIGIN
- ND_IGNOREDARTICLES="The El La Los Las Le La Les Os As O A Du"
- ND_IMAGECACHESIZE=10GB
- ND_LASTFM_ENABLED=false
#- ND_LISTENBRAINZ_BASEURL=https://mb.domain.tld
- ND_LISTENBRAINZ_ENABLED=true
- ND_RECENTLYADDEDBYMODTIME=true
- ND_SCANNER_ENABLED=true
- ND_SCANNER_SCHEDULE="0 * * * *"
- ND_SCANNER_WATCHERWAIT="10s"
- ND_SCANNER_ARTISTJOINER= " | "
- ND_SCANNER_FOLLOWSYMLINKS=true
- ND_SCANNER_PURGEMISSING=always
- ND_SEARCHFULLSTRING=true
- ND_SPOTIFY_ID=xxx
- ND_SPOTIFY_SECRET=xxx
- ND_SUBSONIC_ARTISTPARTICIPATIONS=true
volumes:
- /mnt/:/mnt/:rshared
- /mnt/Docker/navidrome:/data
- /mnt/Fichiers/decypharr/qbit/music:/music:ro

Mais il me manquait encore surtout un tri par genres et… une WebUI plus moderne.
Je suis tombé sur Feishin qui est à la fois un client (desktop/Web) de streaming pour Navidrome, Jellyfin et Subsonic et un agrégateur de serveurs puisqu’on peut en ajouter plusieurs. On peut donc imaginer un partage de serveurs de musique Jellyfin entre amis.



Gavé d’options !




Attention, c’est avant-tout un client desktop (tous OS) et donc ne propose pas de système d’authentification. Ce qui fait que lorsque comme moi on l’installe en Docker pour en profiter hors LAN (via mon iPhone notamment), il faut ajouter un système d’authentification tel qu’Authelia ou bien « à l’ancienne », via Nginx proxy Manager dans mon cas :
Sur une machine Linux (ou dans un Docker), installer de quoi créer le mot de passe encoder à filer ensuite à NPM.
sudo apt install apache2-utils
Puis, créer un fichier htpasswd avec un utilisateur et un mot de passe dans un dossier auquel accède NPM
root@StreamBox:/home/aerya/docker/npm/data# htpasswd -c htpasswd aerya
New password:
Re-type new password:
Adding password for user aerya
Et on peut alors passer ça en paramètre dans NPM pour avoir le fameux pop-up d’identification quand on va sur l’URL concernée

Comme j’ai déjà Navidrome qui tourne sur https://audio.domain.tld, je mets Feishin sur https://music.domain.tld

Et le compose de Navidrome est très léger vu que ce n’est qu’une interface pour un autre outil
services:
feishin:
container_name: feishin
image: 'ghcr.io/jeffvli/feishin:latest'
environment:
- SERVER_NAME=Musique
- SERVER_LOCK=false
- SERVER_TYPE=navidrome
- SERVER_URL=https://audio.domain.tld
- TZ=Europe/Paris
ports:
- 9180:9180
restart: always
À la 1ère connexion il faut ajouter ton serveur. Il propose par défaut celui configuré dans le compose du dessus


Sur AndroidTV, j’utilise Symfonium de Tolriq, que j’ai bien connu dans une autre vie. Application payante (onetime 7-10€ selon frais) mais qui vaut le coup, jetez un œil à sa présentation sur le PlayStore.
Et sur iPhone, j’avais Amperfy et suis passé depuis peu sur Arpeggi, qui est en TestFlight (et closed source hélas…).




![]()