Skip to main content

19_Navidrome

navidrome-navidrome-1

🎧 Your Personal Streaming Service

Imagedeluan/navidrome:latest
Version0.61.2
EtatUp 9 hours
Compose projectnavidrome
Reseaunavidrome_default
URLhttps://navidrome.juxjux.ovh
Sourcehttps://github.com/navidrome/navidrome

Ports

HoteContainerIP
45334533/tcp0.0.0.0
45334533/tcp::

Volumes

Source (hote)DestinationTypeMode
/home/debian/music/musicbindrwrw, :shared
/home/debian/docker/navidrome/data/databindrw

Integration Claude Code — MCP

Statut MCPMCP actif
Outils (prefix)mcp__navidrome__
ConfigurationScript Python : C:\Users\eliob\.claude\mcp_navidrome.py | Auth : Subsonic API avec hachage MD5 (user + token + sel)

Outils disponibles

  • ping
  • get_artists
  • get_artist
  • get_albums
  • get_album
  • get_song
  • get_genres
  • get_random_songs
  • get_playlists
  • get_playlist
  • create_playlist
  • get_starred
  • star
  • unstar
  • search
  • get_now_playing

Ce que nous pouvons faire ensemble

  • Parcourir artistes, albums et pistes de la mĂ©diathèque musicale
  • Rechercher un titre, artiste ou album
  • Voir ce qui est en cours de lecture (now playing)
  • GĂ©rer les playlists (crĂ©ation, lecture)
  • Étoiler/dĂ©signer des favoris
  • GĂ©nĂ©rer une sĂ©lection alĂ©atoire par genre

Scan quotidien automatique — 2026-06-24

Un cron tourne chaque nuit à 04h30 UTC pour rafraîchir le cache kDrive et déclencher un scan Navidrome.

Script

/home/debian/navidrome_scan.sh — log : /var/log/navidrome_scan.log

30 4 * * * bash /home/debian/navidrome_scan.sh

Fonctionnement

    vfs/refresh recursive sur le mount /home/debian/music (port RC 5576) — force la mise à jour du listing kDrive sans redémarrer le service rclone Lancement du scan Navidrome via l'API Subsonic : GET /rest/startScan

    Ce script ne redémarre pas le service rclone ni le container Navidrome : le vfs/refresh suffit pour que les nouveaux albums kDrive deviennent accessibles.

    Auth RC sur kdrive-music.service

    Le service kdrive-music.service a été mis à jour le 2026-06-24 pour inclure --rc-user=rcadmin --rc-pass=RcMusic2026!, ce qui permet d'utiliser vfs/refresh depuis rclone 1.74.3 (qui exige une auth RC).

    Commande de refresh manuel :

    rclone rc --rc-addr 127.0.0.1:5576 --rc-user=rcadmin --rc-pass=RcMusic2026! vfs/refresh recursive=true

    REX — 2026-06-24 : albums kDrive non visibles dans Navidrome

    Contexte

    De nouveaux albums ajoutés sur kDrive n'apparaissaient pas dans Navidrome. Le service kdrive-music.service était actif mais le cache VFS (dir-cache-time 72h) n'avait pas encore expiré pour les nouveaux dossiers.

    Cause

    Avec --dir-cache-time 72h, rclone met en cache le listing des répertoires pendant 72h. Tout nouveau dossier ajouté sur kDrive est invisible jusqu'à l'expiration du cache ou un refresh explicite.

    Solution immédiate

    rclone rc --rc-addr 127.0.0.1:5576 --rc-user=rcadmin --rc-pass=RcMusic2026! vfs/refresh recursive=true
    curl "https://navidrome.juxjux.ovh/rest/startScan?u=julien&p=Motdepasse18!&v=1.16.0&c=claude&f=json"

    Solution pérenne : cron quotidien navidrome_scan.sh (cf. section ci-dessus).


    REX — 2026-06-13 : FUSE corrompu / Symfonium inaccessible

    Contexte

    Après l'incident sécurité rclone du 2026-06-09 (CVE-2026-41179), le service kdrive-music.service a été relancé. Il est resté actif 4 jours sans crash apparent, mais le mount FUSE /home/debian/music était silencieusement corrompu.

    SymptĂ´mes

    • Symfonium (Subsonic) : erreur "trop d'erreurs, arrĂŞt de lecture" sur tous les appareils portables
    • Logs Navidrome : transport endpoint is not connected sur tous les fichiers audio (stream.view, getTranscodeDecision, cover art)
    • systemctl status kdrive-music.service : active (running) depuis 3 jours — aucune indication du problème

    Cause

    Le process rclone (PID 134100) était vivant depuis le 2026-06-09 06:40 UTC mais la connexion noyau FUSE était morte. L'erreur transport endpoint is not connected est kernel-level : le FUSE daemon tourne mais le file descriptor noyau est invalide. Pas de crash = pas de restart automatique par systemd.

    Procédure de résolution

    1. Redémarrer le service rclone : sudo systemctl restart kdrive-music.service
    2. Vérifier que le mount répond : ls /home/debian/music | head -5
    3. Redémarrer le container Navidrome (Portainer ou docker restart navidrome) — nécessaire même avec :shared, car le container garde l'ancienne référence FUSE corrompue
    4. Sur les appareils : force-fermer Symfonium et relancer — le token de session Navidrome est invalidé après le restart du container

    Notes

      Depuis rclone 1.74.3, vfs/refresh exige une auth RC (403 authentication must be set up). Sans --rc-user/--rc-pass dans le service, la commande échoue — utiliser directement le restart du service. La propagation :shared ne suffit pas à propager un nouveau mount FUSE à un container déjà démarré — le container doit être redémarré. Attention spool /tmp : un restart du service rclone avec --vfs-cache-mode full peut créer un fichier /tmp/rclone-spool* de plusieurs Go si des fichiers cachés sont marqués "dirty". Préférer vfs/refresh (avec auth RC) au restart quand le FUSE n'est pas corrompu.