La maison connectée et quelques trucs à éviter !

Il faudrait être geek aveugle pour ne pas remarquer l’incursion des devices connectés pour la maison dans notre univers techno.

Les 3 grands (Apple, Amazon et Google) se battent pour mettre en avant leurs assistants et leurs protocoles.

J’avais acheté il y a plusieurs années un Google Home Mini. Tout seul, le truc ne servait pas à grand chose, je ne m’en suis jamais vraiment servi (je viens de le revendre pour 15€).

Depuis plusieurs mois maintenant (disons 12 mois à peu près), j’ai un mixte de Alexa et Homekit (le système Apple) à la maison:

Je commande à la voix les éclairages et différents bidules et c’est Alexa qui s’exécute. Par contre tous les automatismes (allumage sur détection de mouvement ou seuils lumineux) se font avec Homekit. Ce système me donne assez satisfaction, conjuguant le meilleur des deux mondes ou presque…

Presque car il subsiste quand même des inconvénients ! 

En effet, j’ai parfois des problèmes de remontées d’état dans Homekit: Quand on allume avec Alexa, Homekit ne voit pas toujours que c’est allumé (ce problème est rare et pas bien gênant mais il froisse mon côté perfectionniste).

Ce qui me gêne également est de fournir de la data à Amazon sur mes faits et gestes. En effet, ce point là ne me perturbait pas trop jusqu’à l’écoute du Podcast « Tech Café Domotique » où cet aspect des choses a été abordé. Il suffit effectivement de faire un test simple. la maison connectée avec internet coupé ne fonctionne plus avec Amazon Alexa. Elle continue de fonctionner avec Homekit (mais sans Siri, l’assistant vocal). Bref, j’ai plus confiance en Apple qu’en les deux autres sur la protection de mes données).

Pour toutes ces petites choses, j’ai décidé de basculer toute ma modeste maison connectée sous Homekit, le système d’Apple. Cela tombe bien, Apple vient de sortir des adorables petites boules appelées Homepod Mini à peu près abordables et qui vont me permettre de commander à la voix la plupart des « déclencheurs ». Homekit pouvant être aussi commandé à partir d’un Mac, d’un Iphone, d’un Ipad ou même d’uneApple Watch, je suis sûr d’avoir toujours tout sous la main.

Pour savoir de quoi on parle, j’ai le matériel connecté suivant:

  • 16 lampes
  • 8 prises électriques
  • 3 caméras
  • 15 capteurs (mouvement, lumière, température)
  • 2 boutons poussoirs
  • 2 interrupteurs
  • 1 Apple TV 4K et 3 Homepod mini (et aussi 2 Alexa).

J’ai donc un peu d’expérience sur le sujet et je vais vous balancer ici quelques conseils qui peuvent vous éviter de partir sur de mauvaises pistes (pistes que j’ai bien sur essayées !)

  • Acheter en priorité des accessoires Homekit. C’est généralement un peu plus cher et on ne trouve pas forcément tous les accessoires voulus.
  • Sélectionner des éléments qui n’ont pas besoin de Hub du fabricant pour fonctionner (idéalement, le matériel avec le QR Code Homekit directement sur le device, c’est parfait)
  • Utiliser uniquement Homebridge pour les éléments exotiques (Balance Withings connectée, plugin météo). Homebridge peut s’installer directement en package sur un NAS Synology ou alors en conteneur Docker (ou même sur un Raspberry). J’ai essayé les 3 et j’ai finalement choisi le package Synology. Homekit marche vraiment bien mais rajoute une couche dont il convient de réduire l’épaisseur au minimum (temps de réponse, plugin à mettre à jour)
  • Il n’y a pas de problème pour allumer automatiquement des lumières, c’est pour les éteindre que cela se complique. En effet, trouver le bon déclencheur ou la bonne non-détection de mouvement en fonction de certains critères est parfois compliqué. Cela peut engendrer des effets de bord surprenant dus au temps de réaction de certains capteurs (notamment détection de lumière). Il faut prendre en compte également qu’un détecteur de mouvement n’est pas un détecteur de présence …
  • Ne pas hésiter à utiliser les capteurs de mouvement intégrés des caméras. Ainsi j’ai un scénario de bienvenue qui s’exécute lorsque j’arrive chez moi et qu’il fait nuit: Ce scénario se déclenche à l’ouverture de la porte d’entrée et allume les lumières de l’entrée. Je ne veux pas que ce scénario s’exécute lorsque je sors de chez moi (et que j’ouvre la porte pour sortir). je teste donc que la caméra de l’entrée ne détecte pas de mouvement au moment où la porte s’ouvre.
  • Procéder par itération: Homekit permet une programmation assez poussée et vraiment très séduisante avec Shortcuts laissant libre court à tous les scénarios ou presque. Pour ma part, j’ai par exemple certaines lumières qui s’allument avec une couleur qui dépend de la météo prévue. Ne pas développer tout de suite le scénario de 50 lignes mais l’augmenter au fur et à mesure que vous le stabilisez. Encore une fois, c’est souvent l’extinction qui est la plus ardue.
  • User et abuser du plugin Homebridge « Dummy Switch ». Ce truc va vous sauver la vie ! En effet, il permet de « fixer » un état persistant dans la configuration Homekit. Vous pouvez par exemple tester la valeur de ce switch virtuel avant de faire une action.
  • Ne pas conjuguer plusieurs protocoles. En effet, beaucoup de devices connectés sont compatibles avec les 3 ténors cités en introduction. Même si la cohabitation marche plutôt bien, choisir un système unique. Pour ma part, je vais réserver mes périphériques Alexa pour les questions d’ordre général (en quelle année a eu lieu la bataille de Marignan ?) et Homekit (Siri) pour les actions sur la maison.
  • Le graal étant la maison “automatique”, privilégier les automatismes plutôt que les actions à la voix ou à la watch 🙂
  • Se tenir à une même nomenclature pour tous les objets. Par exemple, appeler toutes les lumières des plafonds avec “Plafond” dans le nom (et pas “Plafond”, “Luminaire” ou “Lustre” suivant la pièce). Ainsi harmonisés, il est plus facile de commander à la voix.
  • Avec Homekit, ne pas agir directement sur des objets dans les automatisations mais plutôt sur des scènes. cela permet de conserver les automatisations intactes quand les objets sont modifiés. Ainsi, au lieu d’allumer simplement une lampe, créer une scène qui va allumer la lampe et une automatisation qui va appeler la scène.

Snif, mon blog …

C’est bien connu: Bien mal acquis …blabla … Il m’est arrivé une mésaventure très récemment qui m’a bien ennuyée.

J’ai fait très récemment l’expérience de l’installation d’un thème vérolé sur mon blog. Dans ce qui suit, je vous expose mon erreur ainsi que les différentes mesures prises, non seulement pour les corriger mais également pour me prémunir d’un nouvel incident.

L’erreur conduisant au problème

Ainsi donc, je récupère sur un site de torrents bien connu le thème Divi. Un thème WordPress très puissant qui me semble pouvoir faire tout ce que je désire pour mon blog et plus encore. Divi est un thème payant (89$ par an). Le récupérer pour pas un rond est effectivement une aubaine semble-t-il. J’installe le thème par la procédure classique sur le blog que vous lisez en ce moment (upload du .zip), Divi apparaît bien dans la liste des thèmes. Je demande à prévisualiser avant d’activer le thème de façon à me rendre compte du rendu par défaut du thème “out of the box”… Et là, patatras … Page blanche, le site ne se charge plus … pas de message d’erreur, juste un blocage infini du chargement… Je flaire aussitôt une “arnaque”, et je n’ai pas tort.

La seule solution que j’ai est de me connecter sur l’interface de mon hébergeur web, d’accéder par ftp à mon arborescence et de supprimer le répertoire du thème Divi. J’essaie également une restauration de ma base de données WordPress à l’aide des snapshots quotidiens réalisés automatiquement par l’hébergeur: Cela ne fonctionne pas, la restauration se bloque et met la base dans un statut foireux. Je constate que mon site est de nouveau accessible mais complètement vierge: Tout a disparu et l’installation de WordPress m’est proposée, Snif.

La résolution

En essayant de me connecter à ma base de données avec PhpMyAdminn je constate que l’accès m’est refusé: Le thème vérolé a modifié le mot de passe d’accès à la base. Heureusement, quelqu’un qui connait bien WordPress m’indique que ce mot de passe en clair est dans le fichier wp-config du site. je me connecte donc avec ce nouveau mot de passe à ma base de données vierge et j’essaie de modifier le, mot de passe afin d’éviter une nouvelle intrusion. Peine perdue, la base étant en “Invalid status: restoring”, le changement de mot de passe n’est pas accepté.

Je décide donc quand même de faire repartir le blog (en créant quand même un ticket auprès de mon fournisseur pour remédier au problème de changement de mot de passe). J’exporte en local le snapshot de sauvegarde qui m’intéresse (drôlement confortable d’avoir une Save journalière), je supprime toutes les tables de ma base de données et je ré-importe: Tout fonctionne, je récupère tout mon site en quelques secondes.

Mesures prises

  1. C’est la dernière fois que j’installe un truc piraté sur un blog de production…et même sûrement sur n’importe quoi d’ailleurs. En effet, ce n’est pas parce que je vais tester un truc vérolé pendant 15 jours avec un comportement exemplaire qu’il ne va pas déclencher un cataclysme au bout d’un temps défini. Si, par exemple, mon blog avait été effacé 35 jours après l’installation du thème vérolé, toutes les sauvegardes journalières auraient été corrompues (il y a un mois de Save quotidiennes) et j’aurais été bien plus embêté !
  2. Création d’un Blog de test sur mon Synology de façon à tester avant de mettre en production. Je pourrais le faire en multisite chez mon hébergeur mais cela m’obligerait à partager ma base de données entre la production et le test. Je préfère deux bases séparées. De plus, sur mon Syno, c’est gratuit. je me demande même si je ne vais pas en faire une plateforme de secours avec recopie de la production tous les jours.
  3. Installation du plugin WordFence permettant, dans sa version gratuite, le Scan de détection de malwares dans l’installation.
  4. Installation d’un accès “authentification multifacteurs” (2FA) pour accéder à l’interface d’administration du blog (wp-admin) et également pour accéder à l’interface de mon compte chez l’hébergeur

Installation de Ubooquity 2.1.2 sur Synology avec Docker

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

1. Introduction

Pour cet article, je pars du principe que vous avez déjà installé Docker sur votre Synology. Si ce n’est pas le cas, je vous invite à lire cet article. Pour Docker en architecture Intel 64bits, il existe plusieurs conteneurs Ubooquity prêts à l’emploi. Ils n’ont pas tous la même popularité:

J’en ai testé deux et un seul des deux a démarré correctement:

  • linuxserver/ubooquity : Pas de problème
  • zerpex/ubooquity-docker : démarre, se plante au bout de 15 secondes puis redémarre et ainsi de suite …

En préalable, sur votre Synology, dans le répertoire /docker, créez un sous-répertoire linuxserver-ubooquity (avec votre compte administrateur).

2. Récupération de l’image

Dans Docker, sur votre Synology, allez sur Registre, tapez “ubooquity” dans le champ de recherche et sélectionnez le conteneur le plus populaire “linuxserver/ubooquity”. cliquez ensuite sur le bouton “Téléchargez”. Il vous est proposé de télécharger la “lastest” version, confirmez.

Positionnez-vous dans la partie “Image”, sélectionnez “linuxserver/ubooquity” et cliquez sur “Lancer”:

3. Paramétrage du conteneur

Vous arrivez alors au paramétrage du conteneur, vous pouvez vous inspirer de ce que j’ai mis (Attention , j’ai 8 Go de RAM sur le serveur donc j’ai forcé un peu la dose car on va le voir, Ubooquity peut être assez gourmand en RAM quand il indexe ses fichiers). Si vous n’avez que 2Go, ne dépassez pas 1536Mo (ou un truc comme ça).

3.1 Paramétrages avancés

Cliquez ensuite sur “Paramètres avancés” et inspirez-vous …

3.2 Volumes

L’onglet “Volumes” est sûrement le plus “touchy” à saisir…

Quelques explications … Tout d’abord, le seul bouton que j’utilise est “Ajouter un dossier”. En effet, je veux indexer le contenu de dossiers/sous-dossiers dans lesquels j’ai mis mes fichiers (ePub, mobiles, pdf et quelques cbr/cbz). Attention aux majuscules/minuscules dans les noms …

A quoi sert ce paramétrage ? En fait, pour accéder à vos répertoires, le conteneur possède des points d’entrée. Ces points d’entrée sont dans la colonne “Chemin d’accès”. C’est à dire que le conteneur ne va connaître vos répertoires du Synology que par les noms que vous avez définis dans cette colonne. un seul point d’entrée et obligatoire et non modifiable : “/config”. tout le reste, vous pouvez mettre les noms de votre choix. En face de chaque “Chemin d’accès”, vous avez le vrai répertoire dans le quel le conteneur va lire. On a donc par ce paramétrage mappé les points d’entrée du conteneur avec les vrais dossiers su Synology. Pour ma part, en voici la description (on peut créer autant de points d’entrée que l’on veut):

  • /LivresPDF : Contient tous les livres (hors BD) en PDF, répartis dans plusieurs sous répertoires. Le dossier Livres est à la racine de mon volume principal sur le Synology
  • /books : Contient tous les ePub/mobi de la bibliothèque Calibre. celle ci est sur mon Mac et je la recopie tous les jours dans un répertoire du Synology
  • /config : C’est l’endroit où Ubooquity va stocker ses infos, paramétrage, base de données, etc. C’est à vous de créer ce répertoire avant de démarrer le conteneur pour la première fois (indiqué au début de ce poste)
  • /Magazines : Tous les magazines en PDF (Le répertoire Magazines est à la racine du volume)
  • /BD : Toutes les BD (à la racine aussi …)

Pour vous donner une idée de l’arborescence sur le Synology:

Vous pouvez créer autant de points d’entrée que vous le souhaitez. C’est en effet lors de la configuration de Ubooquity une fois le conteneur lancé que nous définirons ces points d’entrée. Le seul obligatoire est “/config”.

3.3 Paramètrage des ports de communication

Comme pour les répertoires, il faut mapper les ports “virtuels” du conteneur avec les vrais ports de communication du Synology. Dans cet exemple, les ports par défaut du conteneur sont 2202 et 2203. J’ai fait correspondre ces deux ports au 2204 et 2203 car le port 2202 du Synology était déjà occupé.

3.4 Les derniers onglets …

Dans l’onglet “Liens”, je n’ai rien mis. Pour le dernier onglet, “Environnement’, si vous envisagez d’indexer des pdf de plus de 300Mo (c’est mon cas), je vous conseille de rajouter la variable MAXMEM que vous fixerez selon votre quantité de RAM et la quantité que vous avez indiquée dans le paramétrage du conteneur. La variable MAXMEM est passée en paramètre à Ubooquity lors du démarrage. Pour ma part, MAXMEM=4096. (Mo)

4. Lancement du conteneur

Un petit résumé de votre conteneur s’affiche à la fin de l’assistant, cochez la case “Exécutez ce conteneur lorsque l’assistant a terminé” puis validez le tout … Vous devriez avoir un écran similaire au mien:

5. Paramètrage de Ubooquity

Nous pouvons passer maintenant à la partie paramètrage de Ubooquity (pour l’instant, nous n’avons que paramétré le conteneur Docker pour son exécution).

5.1 Adresse IP du Synology

Allez sur votre navigateur web préféré, situé sur le même réseau local que votre Synology. vous devez connaître l’adresse IP de votre NAS. Si vous ne la connaissez pas, allez sur la console et lancez le panneau de configuration, vous la trouverez dans “Centre d’infos’. Il est conseillé pour la suite d’avoir attribué une adresse fixe au serveur Synology, c’est bien plus simple …(Remarque, on peut aussi accéder au serveur via son nom, ici : SynoArnaud.)

5.2 Administration de Ubooquity

Retour donc dans votre navigateur, nous allons nous connecter à l’écran d’administration de Ubooquity. Le port d’admin de Ubooquity pour ce conteneur est 2203, port que nous avons mappé sur le Synology en 2203 (pas de changement). L’adresse IP de mon Synology étant 192.168.0.31, je tape la ligne suivante dans la barre d’URL du navigateur:

Pour le premier lancement, il vous sera demandé de définir un mot de passe administrateur, vous pourrez ensuite vous connecter en saisissant ce mot de passe pour arriver à l’interface de configuration:

Je ne vais pas définir ici toutes les options disponibles dans Ubooquity. Je vais détailler uniquement le paramétrage des points d’entrée (définis lors de la création du conteneur Docker) ainsi que la création d’un utilisateur.

5.2.1 Les bandes dessinées

Nous nous rendons d’abord dans l’onglet “Comics” afin de paramétrer l’entrée (ou les entrées) des bandes dessinées:

On peut voir que j’ai créé un point d’entrée /BD correspondant au /BD de la colonne “Chemin d’accès” qui va pointer sur le répertoire /BD. Ceci est un peu perturbant car tout a le même nom… Un peu plus loin, pour les livres, c’est différent, vous comprendrez peut-être mieux. C’est en cliquant sur le bouton “ADD FOLDER” que Ubooquity vous proposera la liste des points d’entrée connus par lui-même et que vous avez définis lors du paramétrage du conteneur. Lorsque vous aurez créé des utilisateurs, vous pourrez les ajouter à l’aire de la petite icône à droite de la ligne afin qu’ils puissent accéder à la ressource.

5.2.2 Livres autres que les BD

On voit les 3 points d’entrée qui ont été définis précédemment lors de la création du conteneur. Si vous décidez d’ajoutez un nouveau répertoire à scanner par Ubooquity, vous avez deux solutions:

  • C’est un sous-répertoire de ce qui existe dèjà et qui est défini dans Ubooquity: Vous n’avez rien à faire, Ubooquity va le scanner au prochain scan.
  • C’est un nouveau répertoire hors de tout ce qui existe dans Ubooquity: Vous devez arrêter le conteneur, modifier le paramétrage et rajouter un dossier dans l’onglet Volumes du conteneur, relancer le conteneur (vous ne perdrez rien, pas d’inquiétude). vous devez ensuite rajouter le point d’entrée dans le paramètrage (comics ou books) et relancer un scan …

5.2.3 Création d’un utilisateur

Pour la création d’un utilisateur, cela se déroule dans la partie “Security”:

Faire “ADD USER”, donner un nom et un mot de passe pour le nouvel utilisateur et cliquer sur “CREATE USER”. rien de plus simple.

5.3 Le premier scan…

Vous pouvez revenir à l’onglet “GENERAL” et cliquer sur “LAUNCH NEW SCAN”.

A signaler: Le premier scan est long (48h dans mon cas pour presque 40000 documents …) car l’intégralité des répertoires est parcourue et indexée. Par la suite, seuls les nouveaux fichiers/répertoires seront indexés (Ubooquity détecte les changements de nom, de date et de taille).

L’utilisation de Ubooquity.

Jusque là, nous n’avons pas encore utilisé le logiciel, nous l’avons installé, paramètres et peuplé. Pour accéder à l’interface utilisateur, il faut se connecter sur l’autre port de communication défini en 3.3. Le port d’utilisation à utiliser est le 2204 (mappé sur le 2202 du conteneur). Il faut avoir de préférence défini des utilisateurs avant d’accéder à l’interface de consultation.

Comme pour l’interface d’administration, rendez-vous dans votre navigateur. dans mon cas, il me suffit de taper l’adresse du Synology suivie du port 2204/ubooquity pour accéder au logiciel:

Il suffit d’entrer le nom et mot de passe d’un utilisateur créé en 5.2.3 pour accéder au paradis … Tous vos documents apparaissent dans les différentes sections correspondant aux répertoires de votre Synology.

6. Accès au serveur depuis l’extérieur de votre réseau local (c’est à dire depuis le monde entier).

Ce qui suit permettra décrit le paramètrage à mettre en oeuvre afin d’accéder à Ubooquity en dehors de chez vous et de permettre ainsi à vos amis de bénéficier des services de votre serveur Ubooquity. Je suis pour ma part chez Free, l’exemple ci-dessous concernera donc un paramétrage sur la box de Free.

6.1 Un Synology en IP fixe (statique) sur votre réseau local.

Il est important que votre serveur Synology ait tout le temps la même adresse IP sur votre réseau local. je vous invite pour cela à lire cet article.

6.2 Redirection des ports sur la Box de Free.

Nous avons besoin d’accéder aux ports 2203 et 2204 du Synology (définis au point 3.3). Il faut accéder à l’interface de paramétrage de la Freebox à l’adresse : http://mafreebox.freebox.fr

En bas à gauche, le bouton rouge vous permet de vous connecter en mode admin et à sortir du mode “Invité”. On arrive à l’écran suivant:

Cliquer sur “Paramètres de la Freebox:

Sélectionner l’onglet “Mode avancé”. puis l’icône “gestion des ports”:

Une liste s’ouvre (plus ou moins remplie, peut être même vide …). Cliquer sur “Ajouter une redirection”, le formulaire de saisie d’une redirection apparait:

Il nous faut rediriger les deux ports donc nous ajouterons 2 redirections (donc deux fois ce formulaire). pour la première redirection, saisissez les informations suivantes:

  • IP Destination: Choisissez votre NAS dans la liste déroulante (ici: SynoArnaud)
  • IP Source: En général, pas de choix possible, c’est “Toutes”
  • Protocole: Laisser TCP
  • Port de début: 32xxx (c’est à vous de choisir une valeur de port pour se connecter de l’extérieur. il est possible que 32xxx soit indisponible car déjà utilisée, dans ce cas en choisir une autre, proche). Je ne vous mets pas ma vraie valeur par sécurité. une valeur correcte serait 32745 par exemple
  • Port de fin: Même valeur que port de début
  • Port de destination: 2203

Vous devez avoir 2 redirections dans votre liste à la fin du paramétrage. L’accès à l’interface admin de Ubooquity se fait par le port 32xxx et l’accès pour consultation par le port 32yyy.

6.3 Accès depuis l’internet au serveur

Si vous ne l’avez jamais fait, il est nécessaire de paramétrer le Synology afin qu’il s’ouvre un peu à l’internet. Ce paramétrage est très bien documenté sur le site de Synology.

Vous avez donc une adresse internet pour votre serveur Synology. cette adresse est du style : http://xxxxxxxxxxx.myds.me:32xxx

L’autre solution serait de passer par votre adresse IP fixe (à demander à votre opérateur internet s’il en propose. c’est mon cas chez Free où je possède une IP fixe avec ports non partagés).

Pour accéder de l’extérieur à votre serveur Ubooquity:

  • en mode admin: http://xxxxxxxxxxx.myds.me:32xxx/ubooquity/admin
  • en mode consultation : http://xxxxxxxxxxx.myds.me:32yyy/ubooquity

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).