ImportantLa 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 !