Aller au contenu

[TUTO] [Docker] Navidrome, un remplaçant d'Audio Station et de DS Audio


CyberFr

Messages recommandés

J'ai longtemps utilisé DS Audio qui me donnait toute satisfaction malgré ses limitations. Par exemple quand dans Sécurité > Avancé, le niveau de profil TLS/SSL est réglé sur « Comptabilité moderne » DS Audio refuse de s'exécuter et il faut impérativement le rétrograder à « Comptabilité intermédiaire » ce qui est dommage. J'attendais patiemment une mise à jour qui résoudrait ce problème trivial jusqu'au jour où @.Shad. a réduit à néant tous mes espoirs en annonçant que les applications comme DS Audio n'étaient plus une priorité pour Synology. Le temps lui a donné raison puisque, depuis, Synology a annoncé l'abandon de Video Station et ce à partir de DSM 7.2.2.

J'ai donc cherché un remplaçant et, après avoir consulté l'offre d'applications sous Docker, j'ai choisi Navidrome. Cette application n'est pas une usine à gaz et ne fait qu'une chose : gérer de la musique mais elle le fait très bien. Elle se comporte comme un serveur Subsonic qui peut être utilisé par tous les clients qui sont compatibles et ils sont légions. On en trouve dans tous les environnements Windows, macOS, Linux, Apple TV et j'en passe. Cette page Liste des clients compatibles liste la plupart des clients qui le sont.

Pour plus d'informations sur sur les principales caractéristiques de Navidrome je vous renvoie sur cette page (en anglais) : Navidrome overview.

PRÉ-REQUIS

- Avoir installé Container Manager ou Docker suivant la version de DSM de votre NAS. Container Manager a remplacé Docker depuis DSM 7.2.

- Savoir ouvrir une session. SSH.

INSTALLATION SOUS DOCKER

Tous les containers gérés par Docker se trouvent dans une hiérarchie commune de File Station. Ce n'est pas obligatoire mais cela facilite bien des choses.

volumeX
   - docker
      - container1
      - navidrome
      - container3
      - etc
Le numéro du volume dépend de votre NAS, sur un NAS 2 baies ce sera volume1. Vous pouvez créer ces dossiers et leurs sous-dossier dans File Station.

À l'intérieur du dossier navidrome vous créez un sous-dossier data :

navidrome
   - data

FICHIER DE CONFIGURATION

C'est le fichier compose.yaml qui sera placé dans le dossier navidrome et sera utilisé lors du déploiement du conteneur. Synology utilise toujours le terme de docker-compose pour ce fichier alors qu'il n'est plus reconnu par docker.com.

#
# ╔═══════════════════════╗
# ║   N A V I D R O M E   ║
# ╚═══════════════════════╝
#
# https://www.navidrome.org/docs/
# https://www.navidrome.org/docs/installation/docker/

services:
  navidrome:
    image: deluan/navidrome:latest
    container_name: navidrome
    restart: unless-stopped
    user: XXXX:XXX               # INDIQUER LE USER ID : GROUP ID DE L'UTILISATEUR DU CONTAINER
    volumes:                     # IL DOIT AVOIR LES DROITS SUR DOCKER (R/W) ET MUSIC (RO)
      - ./data:/data
      - /volume1/music:/music:ro # le dossier peut être placé n'importe où dans l'arboressece à la
    ports:                       # différence de data qui doit se trouver dans docker/navidrome/data
      - "4533:4533"
    environment:
      ND_DEFAULTLANGUAGE: "fr"
      # calendrier des analyses : toutes les heures (https://crontab.guru)
      # on peut raccourcir le délai lors de l'import de musique et l'allonger lorsque la situation est stable
      ND_SCANSCHEDULE: "0 * * * *"
      ND_LOGLEVEL: warn
      ND_SESSIONTIMEOUT: 2h            # délai au delà duquel la session sera fermée
      ND_COVERJPEGQUALITY: 90          # niveau de qualité pour les jpg dont la taille est convertie
      ND_ENABLECOVERANIMATION: false   # animation tournante lorsq'une piste est jouée
      ND_LASTFM_ENABLED: false         # disable Last.fm
      ND_ENABLEFAVOURITES: false       # supprime les favoris
      ND_ENABLESTARRATING: false       # supprime les étoiles insuportables
      ND_ENABLEDOWNLOADS: false        # on ne peut pas télécharger d'albums à partir de Navidrome
#     ND_UILOGINBACKGROUNDURL:         # image utilisée lors de la connexion (actuellement image aléatoire)

Toutes les valeurs sous la ligne "environment" sont facultatives. Vous pouvez modifier leur contenu afin de tester les changements qui se produisent dans Navidrome. Concernant ND_SCANSCHEDULE, le calendrier des analyses est réglé sur toutes les heures. Ce délai est utile lors de l'ajout régulier de dossiers dans le dossier music et donc lors de la montée en charge de Navidrome. Lorsque les choses sont stabilisées vous pouvez le définir en '@every 24h' quotes comprises. De toute façon, au lancement de Navidrome, celui-ci met à jour ses fichiers caches.

Navidrome a besoin de son propre dossier pour y maintenir sa base de donnée musicale, c'est le dossier "data" dans docker/navidrome. Par contre le dossier qui contient les morceaux de musique peut se trouver n'importe où dans l'arborescence à tel point que j'ai choisi le dossier "music" géré par Audio Station qui existait donc déjà. Je n'ai pas eu à tout reprendre à partir de rien. Par précaution ce dossier est en lecture seule ce qui garantit que Navidrome ne pourra pas le modifier mais en contrepartie il n'est pas possible de charger des fichiers musicaux directement à partir de l'application ce qui n'est pas forcément une mauvaise chose. C'est pourquoi j'accède au fichier music en SMB, monte le dossier sur le bureau et fait toutes les modifications nécessaires avec des logiciels spécialisés comme Metadics ou XLD. Navidrome par exemple ne sait pas à partir d'un CD créer un album au format FLAC. Il ne sait pas non plus modifier des méta-données. Il faut donc le faire en dehors de l'application.

L'utilisateur de Navidrome

Le plus simple et ce qui garantit un niveau de sécurité minimum est de créer un utilisateur dédié à Navidrome. Il doit appartenir au groupe "users". L'accès à tous les dossiers partagés lui est interdit sauf docker en lecture/écriture afin que Navidrome puisse mettre à jour ses données. Comme évoqué plus haut il peut accéder. au dossier music (ou tout autre dossier que vous aurez choisi) en lecture seule.

Permissions.thumb.png.bf36497c64d0bceae8c3aa48ccb6b6e2.png

L'accès à toutes les applications lui est interdit.

Applications.thumb.png.c91944e5974fd324dd14d77a0accfe92.png

 

Pour connaître l'identifiant de votre utilisateur ouvrez une session SSH en tant qu'administrateur et tapez "id nav_agent" où nav_agent est l'utilisateur que vous avez créé :

CyberFR@DS220:~$ id nav_agent
uid=1044(nav_agent) gid=100(users) groups=100(users)

Ces valeurs doivent remplacer les XXX qui figurent dans la ligne "user" du fichier de configuration.

Vous devez ajouter le fichier de configuration, sous le nom compose.yaml, à la racine du dossier navidrome dans File Station.

navidrome
   - data
   - compose.yaml

 

DÉPLOIEMENT DU CONTENEUR AVEC CONTAINER MANAGER

Rendez-vous dans la partie "Projet" de Container Manager et choisissez Créer.

CM1.thumb.png.d0f2e8a7db4a407f052d868e593a5394.png

 

CM1.1.thumb.png.fbfc10d27bc46310dd8dbed626c54bbc.png

Lorsque vous indiquez le chemin du projet c'est à dire le dossier navidrome qui se trouve dans docker, Container Manager vous demande s'il faut utiliser le fichier compose.yaml qui s'y trouve, vous cochez la case pour confirmer.

CM2.png.05eb531e8c9ecb6fad07f0ede08fa2a3.png

Container Manager affiche ce fichier et vous signale d'éventuelles erreurs. Cliquez sur Suivant. On ne configure pas de portail Web.

-t8CeG9yyo7

 

-RKPWoCjk6n

On choisit de démarrer le projet dés sa création. Après avoir cliqué sur Effectué, le projet est créé.

 

DÉPLOIEMENT DU CONTENEUR AVEC SYNOLOGY DOCKER

Ouvrez une session SSH en tant que root et rendez-vous dans le dossier navidrome.
cd /volume1/docker/navidrome

Tapez
docker-compose up -d
pour déployer le conteneur. Vous obtiendrez une suite de message vous indiquant la réussite (ou l'échec) de l'opération.

 

-qHMPqydLum

 

ACCÈS À NAVIDROME

C'est bien beau, le conteneur est lancé mais il reste à accéder à Navidrome. Pour ce faire tapez « http://192.168.1.2:4533 » dans votre navigateur préféré où 192.168.1.2 est l'IP locale du NAS et 4533 le port défini pour Navidrome dans le fichier de config.

 

-zSHVGErWfF

 

Modifié par CyberFr
Lien vers le commentaire
Partager sur d’autres sites

  • CyberFr a modifié le titre en [TUTO] Installer Navidrome, un remplaçant d'Audio Station et de DS Audio sous Docker

salut

bonne idée de présenter des alternatives aux apllis Synology.
Une question (sans avoir pris le temps de regarder le site de Navidrome) Il y a une aplli pour téléphone ?
aller je vais voir la demo de Navidrome 🙂

encore merci

Lien vers le commentaire
Partager sur d’autres sites

  • CyberFr a modifié le titre en [TUTO] [Docker] Navidrome, un remplaçant d'Audio Station et de DS Audio

Merci pour ce tutoriel @CyberFr.
Gros point fort de Navidrome aussi, bien que je ne l'utilise pas, c'est son API compatible Subsonic.
Ca me permet de synchroniser à distance mes musiques sur ma montre Garmin quand je vais courir, j'évite de me trimballer mon GSM du coup. 🙂 

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.