Installation et settings de Ubooquity (1.10.1) sur Synology avec Docker

Edit [08/10/2023] Exit Ubooquity, je suis passé sur Kavita

J’ai eu plusieurs fois la même demande concernant mon article sur Ubooquity: Comment ça s’installe et comment ça se paramètre ?

Je vais décrire ici les différents steps permettant la création d’un serveur Ubooquity sur un Synology via un conteneur Docker. Ce tuto sera écrit en plusieurs fois mais j’espère bien l’avoir terminé dans la semaine, donc revenez de temps en temps sur cette page…

Les pré-requis

Ce tuto décrit l’installation de Ubooquity sur un NAS Synology équipé d’un processus Intel 64 bits. je ne sais pas s’il fonctionnera sur un NAS avec un processeur ARM ou autre. Mon Synology est une DS916+, équipé de 8Go de RAM (et de 18 To de disque)

J’ai rencontré des problèmes d’indexation et de “fuite mémoire” lors de l’indexation de la base de documents (environ 35000 documents) lorsque mon Synology n’avait que 2Go de mémoire. ceux-ci ont complètement disparus quand je suis passé à 8Go.

La version d’Ubooquity installée est la version 1.10.1 de 2016. Je ne suis pas passé en version 2.xx, la version 1.10.1 me satisfait pleinement et je ne suis pas sûr que les conteneurs Docker de Ubooquity en version 2 marchent correctement. Il est tout à fait possible de faire marcher les deux versions en parallèle me direz-vous … Oui, il faut juste un peu de temps !

[Edit du 23 mai 2020] Je suis finalement passé sur la version 2.1.2 de Ubooquity, toujours avec Docker. Je vous invite à lire mon nouvel article sur l’installation de cette nouvelle version ici. Si vous n’avez pas encore installé Docker sur votre Synology, l’installation est décrite ci-dessous et n’est pas reprise dans le nouvel article.

Ubooquity nécessite l’ouverture de ports sur la box, je décrirai l’ouverture des ports sur une Freebox, c’est ce que j’ai. mais j’étais chez Orange avant et c’est tout à fait possible de le faire avec une Livebox.

Je ne suis pas un pro de la technologie Docker, ce que je sais, je l’ai appris grâce à Reddit où les gens ont répondu gentiment à mes questions.

Certaines copie d’écran ne seront pas le reflet réel d’une installation car mon Docker et mon Ubooquiyy sont déjà installés et je ne vais pas tout casser pour tout vous montrer…

Installation de Docker sur le Synology

Tout d’abord, ouvrez une session sur votre Synology en tant qu’administrateur. Chez moi, le Synology est configuré avec une IP fixe et est accédé avec l’URL http://192.168.0.31:5000. le port 5000 est le port par défaut (il me semble). Vous vous identifiez avec un utilisateur de type administrateur.

Arrivé sur la console, cliquez sur l’icône “Centre de paquets”

Dans la barre latérale de navigation, cliquez sur “Tous les paquets” et repérez dans la zone de droite le paquet Docker et sa petite baleine. Cliquez sur “Installer”.

Une fois installé, vous retrouvez votre paquet dans la partie “Installé” du centre de paquets et au niveau du paquet Docker, vous avez soit un bouton “Lancer”, soit un bouton “Ouvrir”. Dans les deux cas, cliquez sur ce bouton. dans ce qui suit, nous supposerons que Docker est déjà lancé et que nous avons le bouton “Ouvrir”…

Paramétrage de Docker et installation du conteneur

Téléchargement de l’image

L’interface de Docker apparait alors. Si vous n’avez pas d’image de conteneur ou de conteneur en cours d’exécution, votre fenêtre sera différente de la mienne…

On peut voir ici que ‘ai deux conteneurs en fonctionnement, dont un qui nous concerne, le conteneur Ubooquity. Dans votre cas, nous allons supposer que vous n’avez pas ce conteneur Ubooquity dans la fenêtre Docker. Il va falloir aller le chercher.

Dans la barre latérale, cliquez sur “Image” puis sur le bouton puis sur “Ajouter” puis “Ajouter à partir d’une URL”. Dans la zone “Page du concentrateur”, indiquez l’URL suivante: https://github.com/cromigon/ubooquity-docker.git

Note 7/01/2020 : Depuis quelques temps déjà, Cromigon ne maintient plus son conteneur et l’image a été placée ici : https://raw.githubusercontent.com/cromigon/ubooquity-docker/master/Dockerfile

Puis cliquer sur “Ajouter”. Le téléchargement de l’image commence. attendez que cela soit terminé.

Une fois chargé, vous devriez avoir l’image affichée dans la liste des images:

Ici, on voit bien l’image cromigon/ubooquity:1.10.1 de 121MB disponible. J’ai aussi chargé d’autres images mais pour le moment, je n’ai pas encore eu la motivation pour les tester. la version actuelle me suffit amplement.

Une fois l’image chargée, vérifiez qu’elle est sélectionnée et cliquer sur “Lancer” afin de créer un conteneur exécutable. La fenêtre de paramètre du conteneur apparaît alors:

Le nom du conteneur sera sûrement différent pour vous car pour ma part, j’ai déjà un conteneur “cromigon-ubooquity” qui tourne. Docker m’a donc rajouté un petit “1” à la suite du nom du conteneur. Modifiez les paramètres généraux sont comme indiqués sur la copie d’écran (privilèges, limitation des ressources et limites de la mémoire). Cliquez ensuite sur “Paramètres avancés”. C’est là que survient la partie un peu délicate du paramétrage.

Onglet “Paramètres avancés”

Sur ce premier écran de paramétrage, j’ai activé le redémarrage automatique.

Onglet Volume

Sur le deuxième onglet “Volume”, la fenêtre se présente ainsi:

Cette fenêtre va vous permettre de relier un répertoire physique à une entrée logique de cotre conteneur Docker. La zone “Fichier/Dossier” indique le nom de l’emplacement que va connaître votre conteneur Docker (le nom “logique” et la zone “Chemin d’accès” correspond à un véritable chemin physique sur votre Synology. Pour ma part, j’ai les entrées suivantes pour ce mapping (attention de bien respecter minuscules et majuscules):

Seule la ligne “docker/Ubooquity” est obligatoire.

On peut voir que j’ai un nom logique “Magazines” qui pointe sur un volume /Magazines. Pour les livres en pub et moi, j’ai un processus périodique qui recopie tout le répertoire des data de calibre de mon mac vers un répertoire du Synology.En effet, j’ai remarqué que Calibre n’aime pas travailler sur un répertoire situé sur un NAS. Et à la lecture de différentes forum, il est préférable en effet de travailler en local…

Le répertoire /opt/ubooquity-data qui va contenir toute l’indexation de Ubooquity est créé automatiquement lors de la création du conteneur.

Tous les volumes sont en rw (lecture/écriture) pour ubooquity (à vrai dire, je pense que l’on peut les mettre en read only sauf pour le répertoire /opt/ubooquity-data. A essayer).

Onglet Réseau

J’ai laissé par défaut la création du réseau proposé: bridge.

Onglet Paramètre des ports

Tout se joue pour moi sur le port 2202, c’est le port proposé par défaut. Ja’i aussi mis le port local à 2202 en fixe (au lieu de “auto”).

Onglet Liens

je n’ai rien mis dans cet onglet …

Onglet Environnement

j’ai les données suivantes sur cet écran. A noter qu’il s’agit des entrées par défaut sauf pour la zone “commande” où j’ai rajouté “-webadmin” pour pouvoir administrer Ubooquity à travers la console d’administration.

Le lancement…

Une fois tout configuré, il ne vous reste lus qu’à appliquer le paramétrage et à cliquer sur “Suivant” dans la fenêtre “Créer un conteneur”:

Un résumé apparait alors pour le conteneur qui sera créé. Vous pouvez le valider par “Appliquer”. Cochez “Exécuter ce conteneur lorsque l’assistant a terminé”.

Si tout ce passe bien, vous retrouverez votre conteneur en ordre de marche dans la zone “conteneur” de la fenêtre Docker:

La petite icône curseur en bout de ligne vous permet d’arrêter et de relancer le conteneur.

Edit: Je vous invite à suivre le nouveau tutoriel traitant de la nouvelle version 2.1.2 de Ubooquity (toujours avec Docker sur Synology).

La gratuité des applications sur smartphone: Le beurre et l’argent du beurre ?

Lorsque Apple met en avant une application sur son App Store, il m’arrive d’aller jeter un coup d’œil curieux sur les copies d’écran et autres vidéos faisant la promotion de l’appli à l’intérieur du Store.

L’application y est décrite par ses concepteurs et on y trouve aussi d’autres éléments comme les commentaires. C’est précisément sur ces commentaires et l’évaluation de l’application que je souhaite revenir…

Lorsque l’application en question est un jeu, il est très fréquent que ce jeu propose le premier niveau gratuitement ou plus généralement que l’on puisse jouer de façon basique gratuitement au jeu. C’est une technique assez commune et ma foi assez judicieuse pour découvrir le jeu et décider si, oui ou non, il est intéressant d’acheter l’application.

Quantité de gens téléchargent donc l’application, commencent à jouer et laissent ensuite une appréciation et une notation dans le store. La notation va de 0 à 5 étoiles et beaucoup de personnes mettent 2 ou 3 étoiles accompagnées d’un commentaire indiquant qu’ils ont bien apprécié le jeu mais que c’est vraiment dommage qu’il faille payer pour avoir plus …

J’imagine que ces gens qui veulent avoir les applications et jeux gratuits travaillent bénévolement dans leur vie. Comment peuvent-ils imaginer que des concepteurs d’application, dont c’est le métier et très souvent l’unique source de revenu, travaillent dur pour donner le résultat de leur labeur à tout le monde sans contrepartie ? C’est hallucinant ! Les gens commencent à oublier qu’il y a une économie, des familles, derrière ces applications. Lorsque l’application est seulement financée par la publicité, ces mêmes gens se plaignent des pubs qui troublent « l’expérience de jeu ». Rien ne les force à jouer pourtant !

La notation des applications ne doit pas être un exutoire à la colère de personnes déçues de devoir payer pour avoir plus. Pour cela, il faudrait que seules les personnes ayant acheté l’application puissent déposer commentaires et notations. Nous aurions alors une notation bien plus significative du rapport qualité/prix de l’application et ainsi un classement vraiment pertinent des applications dans les stores.