Installation et settings de Ubooquity sur Synology via Docker

Installation et settings de Ubooquity sur Synology via Docker

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 âs 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.

La suite… bientôt ! (to be continued …)

Cet article a 13 commentaires

  1. Jack

    Bonjour,

    Enfin un tuto clair pour ubooquity sur NAS sans passer par lignes de commande … !
    J’attends la suite (et peut-être fin) avec impatience.

    Merci beaucoup !!

  2. Gelesty

    Bonjour, merci ! mais le lien “https://github.com/cromigon/ubooquity-docker.git” ne fonctionne pas !

    il em met URL du référentiel non valide… pouvez vous m’aider merci;)

  3. Gelesty

    Erratum ! c’est bon j’ai réussi !
    2 questions:
    -pourquoi: /opt/ubooquity-data et pas /volume1/docker/ubooquity, ou trouvez vous ce chemin ?
    en revanche maintenant comment je fais pour afficher ubooquity ? en externe avec le port 2202 ?

    merci

    1. Arnaud

      Bonsoir,
      Comment avez-vous fait pour résoudre votre problème ? (Cela peut servir pour les lecteurs suivants).
      Réponse à la première question : C’est comme cela qu’est construite l’image dont voici le source:

      FROM alpine:3.5
      MAINTAINER Niclas Björner

      ENV JAVA_HOME=”/usr/lib/jvm/java-1.8-openjdk/bin/java” APP_VERSION=”1.10.1″

      RUN apk –no-cache add openjdk8-jre-base openjdk8-jre-lib curl unzip && \
      mkdir -p /opt/ubooquity/fonts && \
      mkdir -p /opt/ubooquity-data && \
      mkdir -p /opt/data && \
      curl -Ss http://vaemendis.net/ubooquity/downloads/Ubooquity-${APP_VERSION}.zip -o /tmp/${APP_VERSION}.zip && \
      unzip /tmp/${APP_VERSION}.zip -d /opt/ubooquity && \
      rm /tmp/${APP_VERSION}.zip

      RUN wget http://vaemendis.net/ubooquity/downloads/themes/modern-1.7.0.zip -O /tmp/modern.zip && \
      unzip /tmp/modern.zip -d /opt/ubooquity-data/themes && \
      rm /tmp/modern.zip

      WORKDIR /opt/ubooquity
      EXPOSE 2202
      VOLUME /opt/ubooquity-data /opt/data

      ENTRYPOINT [“java”, “-jar”, “Ubooquity.jar”, “-workdir”, “/opt/ubooquity-data”, “-headless”]

      1. Gelesty

        je comprends mieux !
        je suis passé par “registre” dans docker et j’ai tapé cromigon-ubooquity et j’ai trouvé la bonne source.

        En revanche je n’arrive pas à le faire tourner ! quand je me connecte sur le bon port: il me met:
        Sorry, you are not authorized to access any file on this server

        Ensuite je n’arrive pas à rajouter votre -webadmin, le conteneur plante

        Et je ne sais pas ou rajouter mes médias ?

  4. Jonathan

    Bonjour Arnaud,
    Merci pour cette modification de tuto cependant je rencontre le même message d’erreur que Gelestry rencontre avec le nouveau lien fourni.
    Comment faire ?

  5. Seb

    Bonjour,
    Merci pour ton tuto.
    J’ai un Syno et effectivement, une fois installé le package Docker, on peut trouver l’image de cromignon dans le registre. Elle contient la version version 1.x d’Ubooquity.
    L’image de zerpex contient la dernière version d’Ubooquity (2.x).
    Je l’ai téléchargée (dans Docker) puis démarrée. Elle est entrain d’indexer mes petites fichiers…
    Seb

    1. emmanuel

      Bonjour, j’ai installé le même depuis docker mais je ne trouve pas le dossier pour installer les thèmes
      comment le retrouver<?

      1. Chris

        Bonjour, tu trouveras le dossier “themes” en ligne de commande en te connectant en ssh sur ton nas Synology. Voici le chemin : “/volume1/@docker/volumes/ID/_data/themes”. Pour une meilleur utilisation de Docker, il est préférable d’éviter d’utiliser l’interface graphique du Nas mais d’utiliser Portainer à la place (https://domopi.eu/ameliorer-la-gestion-de-vos-containers-docker-avec-portainer/). Par contre, je n’ai pas réussi à charger un thème grrrr si tu y arrives fais moi signe 🙂

  6. Marco

    Bonjour,

    Est il prévu de faire la suite du tutoriel ? Je ne comprend pas comment fonctionne Ubooquity.

    Je te remercie d’avance 🙂

    1. Arnaud

      Bonsoir, la suite est arrivée avec même l’installation de la version 2.1.2 de ubooquity.

Laisser un commentaire

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