Introduction
Navidrome est un serveur de streaming possédant une interface web pour gérer sa collection musicales. Outre son interface SWeb, il est compatible avec une multitude de clients sur Android, iOS, Mac, Linux et Windows.
Pour cette installation j’utilise l’image officielle qui est présente ici : deluan/navidrome.
Nous utiliserons ‘swag’ (voir article installation de swag) pour accéder à notre serveur depuis l’extérieur
Remarque : J’ai créé au préalable un utilisateur omdocker (voir l’article création d’un utilisateur). J’ai créé aussi un répertoire qui contiendra toutes mes installations docker. Dans ce blog, j’utiliserais pour exemple le chemin /volume/docker.
Nous allons créer aussi le répertoire ‘navidrome’ en ligne de commande sur le NAS (connexion en SSH) dans notre répertoire docker : /volume/docker et lui donner les droits pour l’utilisateur ‘omdocker’ (sinon ‘root’ par défaut).
sudo mkdir navidrome
sudo chown -R omdocker:users navidrome
Le fichier de configuration
Si vous souhaitez sécuriser le lancement de ‘navidrome’, je vous engage à parcourir l’article sécuriser Docker.
Il est important de bien respecter l’indentation des fichiers de configurations : pas de tabulation. Attention aussi à la version du fichier, il y a des légères évolutions de syntaxe d’une version à l’autre.
Le fichier yml en détails. Il faut remplacer pour votre configuration :
- user : l’UID et le GID de votre utilisateur,
- ip_local : à remplacer par l’adresse IP de votre serveur Docker,
- TZ : Votre zone de temps,
- /data/docker : Le chemin vers le répertoire de votre application.
version: "3"
services:
navidrome:
image: deluan/navidrome:latest
user: 1002:100 # omdocker
ports:
- 192.168.2.252:4533:4533
restart: unless-stopped
environment:
- TZ=Europe/Paris
# Optional: quelques options
ND_SCANSCHEDULE: 1h
ND_LOGLEVEL: info
ND_SESSIONTIMEOUT: 24h
ND_BASEURL: ""
volumes:
- /data/docker/config/navidrome:/data
- /mnt/musiques:/music:ro
Vous copiez le contenu de ce fichier dans votre interface de gestion Portainer en allant dans ‘Stacks‘ et ‘Add stack‘.
Donnez un nom à votre pile, par exemple ‘navidrome‘, puis déployer cotre containeur en cliquant en bas sur ‘Deploy the stack’.
Après une phase de téléchargement de l’image, puis d’installation de l’application, vous devriez arriver sur cet écran si tout s’est bien passé :
Nous pouvons maintenant nous connectez à ’navidrome’ localement avec l’URL http://IP_SERVER:4533 (l’adresse et le port est a adapté suivant votre fichier de configuration) ou sinon depuis l’extérieur https://navidrome.subdomain.domain.tld (voir la configuration Swag plus bas).
Configuration de Swag
La configuration d’un containeur avec ‘swag’ est la plupart du temps très simple. ‘swag’ propose par défaut des fichiers de configurations prédéfinis pour de nombreux services.
Ces fichiers se trouvent dans le répertoire d’installation de swag : /volume/docker/swag/nginx/proxy-confs/
Nous allons simplement recopier ce fichier et le renommer ‘navidrome.subdomain.conf’.
cp navidrome.subdomain.conf.sample navidrome.subdomain.conf
Nous relançons le containeur swag soit via ‘Portainer’, soit en ligne de commande sudo docker restart swag pour qu’il prenne en charge la redirection du containeur ’navidrome’.
Nous pouvons maintenant nous connecter à ’navidrome’ depuis l’extérieur avec l’URL https://navidrome.subdomain.domain.tld (Le domaine et le sous domaine est à adapter suivant le vôtre).
Premier lancement
Pendant la phase de lancement de votre container ; ’navidrome’ vas scanner votre bibliothèque musical et créer une base de données locales ‘navidrome.db’ dans votre répertoire data (dans notre pile /data/docker/config/navidrome).
Vous pouvez voir les erreurs de ‘parsing’ de votre bibliothèque musicale en parcourant les logs du lancement du container. Vous pouvez corriger les erreurs de parsing avec un logiciel comme MusicBrainz Picard
Il vous sera demandé de créer un utilisateur avec les droits d’administrateur lors de votre première connexion :
Navidrome utilise les tags de vos fichiers musicaux pour constituer sa base de données ; vous risquez de voir certains de vos albums apparaitrent plusieurs fois. Comme expliquez plus haut, utilisez un logiciel comme ‘MusicBrainz Picard’ pour corriger tous les problèmes liés aux tags des fichiers musicaux.
L’interface web de l’application est assez classique. Ici avec la lecture d’un album :