Mini serveur UPnP ReadyMedia (minidlna)

ReadyMedia (anciennement MiniDLNA) est un logiciel serveur destiné à être totalement compatible avec les clients DLNA / UPnP. Le démon MiniDNLA envoie des fichiers multimédia (musique, images et vidéo) aux clients d’un réseau. Les exemples de clients incluent des applications telles que Totem et Kodi, ainsi que des périphériques tels que des lecteurs multimédias portables, des smartphones, des téléviseurs et des systèmes de jeu (tels que la PS3 et la Xbox 360).

ReadyMedia est une alternative simple et légère à MediaTomb, mais présente moins de fonctionnalités. Il ne possède pas d’interface Web pour l’administration et doit être configuré en modifiant un fichier texte.

Installation du serveur

Sur un système archlinux :

# pacman -S minidlna

Configuration en utilisateur

On commence par créer les fichiers et les répertoires nécessaires localement dans le répertoire config de l’utilisateur puis on modifie la configuration.

$ install -Dm644 /etc/minidlna.conf ~/.config/minidlna/minidlna.conf
$ nano ~/.config/minidlna/minidlna.conf

Les lignes à modifier dans le fichier de configuration (minidlna.conf) :

media_dir=/home/$USER/dir
db_dir=/home/$USER/.config/minidlna/cache
log_dir=/home/$USER/.config/minidlna

On peut maintenant démarrer minidlna avec la commande suivante:

$ minidlnad -f /home/$USER/.config/minidlna/minidlna.conf -P /home/$USER/.config/minidlna/minidlna.pid

Lancement avec systemd –user

Systemd offre la possibilité d’utiliser des unités dans l’espace de l’utilisateur en lui permettant de démarrer, d’arrêter, d’activer ou de désactiver une unité. On va donc utiliser cette possibilité pour lancer minidlna.

Pour cela, on crée le fichier minidlna.service dans ~/.config/systemd/user/ :

$ nano .config/systemd/user/minidlna.service

On le remplit :

[Unit]
Description=minidlna server
After=network.target

[Service]
Type=simple
ExecStart=/usr/bin/minidlnad -S -f %h/.config/minidlna/minidlna.conf -P %h/.config/minidlna/minidlna.pid

[Install]
WantedBy=default.target

Il faut ensuite activer le service puis le démarrer :

$ systemctl --user enable minidlna
$ systemctl --user start minidlna

Il peut être utile de démarrer le service minidlna juste après le démarrage de la session utilisateur et de laisser l’instance d’utilisateur systemd en cours d’exécution après la fermeture de la dernière session, par exemple pour qu’un processus utilisateur puisse s’exécuter sans session ouverte. La persistance est utilisée à cet effet. On utilise la commande suivante pour activer la persistance pour un utilisateur spécifique :

$ loginctl enable-linger username

Enfin on vérifie que le serveur minidlna est bien lancé avec les bonnes options :

$ systemctl --user status minidlna
$ ps ax | grep minidlnad

Ce qui renvoie :

● minidlna.service - minidlna server
   Loaded: loaded (/home/username/.config/systemd/user/minidlna.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2018-10-30 11:46:00 CET; 1h 36min ago
 Main PID: 8864 (minidlnad)
   CGroup: /user.slice/user-1000.slice/user@1000.service/minidlna.service
           └─8864 /usr/bin/minidlnad -S -f /home/username/.config/minidlna/minidlna.conf -P /home/username/.config/minidlna/minidlna.pid

Et :

8864 ?    Ssl    0:00 /usr/bin/minidlnad -S -f /home/username/.config/minidlna/minidlna.conf -P /home/username/.config/minidlna/minidlna.pid

 

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.