LMS Plugins Docker

Attention : article inutile !

Combien d'utilisateurs en Chine ? Au moins un ! Derrière la grande muraille numérique, la vie de Github, la vie de Docker est bien difficile.

Il est possible d'installer le Logitech Media Server (LMS) mais ensuite la mise à jour des Plugins n'est pas possible :

C'est dommage, parce que l'on ne peut pas installer par exemple trois plugins auxquels on tient :

  • le plugin pour Radio France

  • Material Skin qui offre une interface somptueuse au LMS

  • Radio Paradise

Si vous êtes ailleurs qu'en Chine, vous n'avez pas vraiment d'intérêt à lire la suite ! Par contre, si vous êtes en Chine et que vous avez installé LMS dans Docker avec Portainer (houlala) alors voici comment faire pour régler ce problème.

Ha oui, comment faire ?

Mmm... Il y a certainement de meilleures façons de faire, j'expose celle trouvée "dans l'urgence". Le problème des plugins du LMS est que la Chine interdit le "RAW" depuis github (vous voyez sur la copie d'écran ci-dessus, le chemin est "/raw/master..." et cela ne peut pas fonctionner.

Alors pour résoudre ce problème :

  • l'idée est de proposer le fichier localement, sur une machine dans le réseau local

  • en modifiant le code du LMS.

Pur récupérer le repository des fichiers de plugins du LMS depuis github vers notre machine locale, on tape :

git clone https://github.com/LMS-Community/lms-plugin-repository.git

la commande git clone va récupérer le repository localement.

Ensuite on va taper la commande suivante :

python3 -m http.server

A ce moment le dossier est servi (sur le port 8000).

En une commande - merci python - on vient de lancer un serveur http qui nous montre nos dossiers. On peut le confirmer via un navigateur ouaibe, comme ci-contre.

L'adresse correspond à l'adresse IP de la machine sur laquelle on a fait un git clone.

Le dossier est disponible via le protocole http, sur le port 8000.



En parcourant l'arborescence via le navigateur, voilà ce que le LMS cherche en local, à cette adresse :

http://192.168.1.120:8000/lms-plugin-repository/extensions.xml

Bon, on sait où trouver les fichiers des plugins, maintenant comment l'indiquer au LMS ?

La suite, c'est dans Portainer.

Dans Docker + Portainer

On a un serveur qui sert les fichiers dont le LMS a besoin. Comment le dire au LMS dans Docker ?

Dans Portainer on va exécuter une console.

Dans la console on va faire installer l'éditeur "nano" pour modifier un fichier :

  • apt update

  • apt upgrade

  • apt install nano

Dans la console, déplacez vous dans le dossier suivant :

cd /lms/Slim/Plugin/Extensions

C'est dans ce dossier que ce trouve le dossier Plugin.pm que nous voulons modifier.

Pour le modifier, tapez :

nano Plugin.pm

C'est vers la ligne 130 que l'on veut effectuer deux changements, remplacer les adresses vers le repo github par les adresses servies en local

my %repos = (

# default repos mapped to weight which defines the order they are sorted in

'https://github.com/LMS-Community/lms-plugin-repository/raw/master/extensions.xml' => 1,

);


my $UNSUPPORTED_REPO = 'https://github.com/LMS-Community/lms-plugin-repository/raw/master/unsupported.xml';

Ensuite dans la liste des containers on va sélectionner le LMS et le redémarrer :

Maintenant nous avons tous les plugins affichés, on sélectionne ceux qui nous intéressent, à nous FIP et France Culture et le streaming en FLAC de Radio Paradise :

Conclusion

Ha, je ne sais pas moi. Un autre café ?