Indexation baie Synology : installation de Synology-mediamon

📌 Important

La solution prĂ©sentĂ©e ci-dessous ne fonctionne plus (pb dĂ©marrage automatique, plantages frĂ©quents), et de plus n’est plus maintenue.
Voir désormais ce nouvel article pour une autre solution, Synoindex Watcher.

L’indexation automatique d’une baie Synology n’est pas optimale, et pose souvent problème quand on passe par NFS pour copier les fichiers (par exemple). J’avais Ă©crit l’annĂ©e dernière un article pour installer le paquet “Media Indexer” de Francis Besset.

Hélas, depuis le passage en DSM 6, cela ne marchait plus vraiment : je retrouvais souvent le service arrêté. Et en allant aux nouvelles, le paquet a été retiré, et manifestement il ne faut pas compter sur une nouvelle version.

Je me suis donc tournĂ© vers une autre solution appelĂ©e synology-mediamon. L’installation n’a rien de compliquĂ©e, mais elle se passe en mode “ligne de commande”. Je fais donc ce petit tuto en français, n’en ayant pas trouvĂ© d’autres.

Tout ceci ne concerne bien entendu que les rĂ©pertoires dĂ©finis pour le “Indexing Service” dans le Control Panel :

La première chose Ă  faire est d’installer Python 3 s’il n’a pas Ă©tĂ© installĂ© prĂ©cĂ©demment. Rien de plus simple, aller dans le Package Center, sĂ©lectionner “Community” dans la partie gauche, et donc installer Python 3. Vous verrez peut-ĂŞtre qu’une autre version de Python est installĂ©e (la v2) : peu importe, installer Python 3 Ă  cĂ´tĂ©.

Il va d’abord falloir rĂ©cupĂ©rer le fichier zip de la page github de synology-mediamon. Cliquer sur “Clone or Download” Ă  droite, puis sur “Download ZIP”. En plus du readme, il y a deux fichiers qu’il va falloir copier dans /volume1/homes/admin/ : mediamon.py et S99mediamon.sh. On peut utiliser le File station de Synology pour ce faire :

Passons maintenant Ă  la partie “ligne de commande”. Il va falloir activer SSH pour pouvoir se connecter Ă  la baie Synology : aller dans le Control Panel, sĂ©lectionner “Terminal et SNMP” dans la partie gauche, cocher SSH et lui attribuer un numĂ©ro de port :

Il ne reste plus qu’Ă  se connecter Ă  partir d’un terminal (l’adresse IP de la baie est indiquĂ©e dans le Control Panel -> Info Center -> onglet Network). Dans mon cas, cela donne ceci :

ssh admin@192.168.1.14 -p 2158

Taper ensuite la commande suivante pour ĂŞtre l’utilisateur root (il faudra retaper le mot de passe) :

sudo su

On installe ensuite pyinotify :

python3 -m ensurepip
python3 -m pip install pyinotify

Pour vérifier que pyinotify fonctionne, taper :

python3 -m pyinotify -v /tmp

Vous devez alors voir des choses comme ceci défiler (taper Ctrl + C pour arrêter) :

Pour que synology-mediamon démarre automatiquement, Il faut maintenant copier S99mediamon.sh dans le répertoire /usr/local/etc/rc.d/, puis lui accorder les permissions 0755 :

cp /volume1/homes/admin/S99mediamon.sh /usr/local/etc/rc.d/
chmod 755 /usr/local/etc/rc.d/S99mediamon.sh

Il ne reste plus qu’Ă  redĂ©marrer votre baie Synology pour vĂ©rifier que le service dĂ©marre bien automatiquement. Sinon, taper la commande suivante :

/usr/local/etc/rc.d/S99mediamon.sh start

Pour vĂ©rifier que tout fonctionne, ajouter des fichiers (via NFS tant qu’Ă  faire) dans l’un des rĂ©pertoires /volume1/photo, /volume1/music, ou /volume1/video, et vĂ©rifier le fichier de log de mediamon. On doit voir  dĂ©filer des “synoindex -a” pour chaque fichier ajoutĂ© (pour chaque inode j’ai l’impression !) :

VoilĂ , ça a l’air de bien fonctionner, pas de problème depuis que je l’ai installĂ©.

Le dĂ©veloppeur note que si vous avez un très grand nombre de fichiers multimĂ©dias, le message d’erreur “No space on device” peut survenir. Cela ne signifie pas qu’il n’y a plus d’espace disque, mais que l’on a atteint la limite du nombre de fichiers surveillĂ©s. Il est possible d’augmenter cette limite en tapant la commande suivante (en tant que root) :

echo fs.inotify.max_user_watches=100000 | sudo tee -a /etc/sysctl.conf; sudo sysctl -p

Bonne indexation !

Blog ouvert depuis le 25 décembre 2005
Généré avec Hugo
Thème Stack conçu par Jimmy