Aller au contenu

[Tuto] Calibre-web via Docker


quart-temps

Messages recommandés

Le but de ce tuto est de vous expliquer comment j'ai réussi à mettre en place calibre-web dans Docker. J'utilise Calibre-web afin d'accéder à distance à ma base de donnée stockée sur mon NAS et alimentée en SMB via le logiciel calibre installé sur mon PC.
 
Pour sa rédaction je me suis inspiré des sources suivantes:
Et surtout les précieux conseils de @.Shad. Un grand merci à lui.
 
Je ne suis pas un expert des NAS, un simple utilisateur depuis plusieurs années. Merci de bien vouloir excuser mes éventuelles erreurs ou approximations. Je suis preneur de toute remarque et prêt à modifier le tuto.
 
Pour installer calibre-web:
 

1. Installez Docker.

Activez les paquets de la communauté https://packages.synocommunity.com/

0.thumb.png.6252461310325ae7c5331c8acdeb3272.png
 
Dans les paquets de la communauté, recherchez et installez Docker. Suivre l'excellent tuto de @.Shad.
 
2. Installez et configurez Calibre-web
Une fois Docker installé, lancez Docker, recherchez "calibre-web" dans les paquets de Docker (onglet "Registre").
Choisir la version de linuxserver (ce tuto se base sur cette version). Double-cliquez sur linuxserver/calibre-web et choisissez latest.
image.thumb.png.b563de30e9e9fcc649aef855aeeb4246.png
Après téléchargement, vous retrouverez le paquet dans l'onglet image. Lancez le container pour le configurer.
image(1).thumb.png.fdfba79de09360ea5c371993a6cd98d3.png
Donnez un nom évocateur à votre conteneur, et allez dans les paramètres avancés.
image(2).png.f656f25357f6ad254f169a4dee50d60e.png
Dans les paramètres avancés, cochez "Activer le redémarrage automatique" et créez un raccourci sur votre bureau DSM en utilisant l'adresse de votre NAS, suivi du port du conteneur (8083).
image(3).thumb.png.b06c27357a980b4995421de451be5e7c.png
 
Allez dans l'onglet "Volume". Cette étape est importante afin que Docker mette en lien les dossiers utiles à Calibre-Web et ceux de votre Nas.
Il y a deux dossiers à configurer:
- le dossier de configuration. Il s'agit ici de faire correspondre le dossier /config créé par défaut par Calibre-web (attention: ne pas changer son intitulé: /config) au dossier docker/calibre-web de votre NAS. Ce dossier calibre-web doit être créé dans le dossier partagé docker.
 
image.png.d956d558c163e04705b6dcdc541ed9c0.png
 
- le dossier contenant votre base de donnée Calibre. Si vous utilisez déjà Calibre sur votre PC en stockant vos ebooks sur votre NAS via SMB par exemple, ce dossier existe déjà, et c'est à ce dossier qu'il faudra faire correspondre le dossier /books de calibre-web (attention: ne pas modifier le nom de dossier par défaut de calibre web: /books). Sinon, créez un dossier partagé destiné à accueillir votre Bibliothèque.
 
J'insiste: les noms de dossier de la colonne (Fichier/Dossier) peuvent être choisis librement selon vos usages, mais il ne faut absolument pas modifier les noms de dossier de la colonne "Chemin d'accès" dont Calibre-web a besoin pour fonctionner (/books et /config).
image(4).png.6602dc1512518272c0f1285bbcd27d41.png
Dans l'onglet "Paramètres des ports", choisissez le port local. Il est préférable d'utiliser celui par défaut: 8083.
 
image(5).png.12966cdaf50ced687dbd8bc8a5664385.png
Voici comment j'ai configuré l'onglet "Environnement".
image(6).png.a6cc07d19f42cb086cfb72ec0d440c71.png
En gros, il s'agit de laisser les valeurs par défaut (en particulier LANGUAGE et LANG qui fonctionnent pour nous français même si la valeur par défaut est en_US). Seuls PGID, PUID et TZ doivent être ajoutés.
Ajoutez donc votre fuseau horaire (liste des fuseaux https://en.wikipedia.org/wiki/List_of_tz_database_time_zones).
 
Pour ce qui est de PUID et de PGID, il va falloir aller récupérer ces valeurs en vous connectant en tant qu'administrateur, via SSH à l'aide de Putty.
Petite explication: PUID (Personal User ID) et PGID (Personal Group ID) sont les identifiants de l'utilisateur DSM qui va utiliser docker/calibre-web. Pour des raisons de sécurité, il est préférable de créer un utilisateur aux droits limités à l'utilisation de calibre-web et aux dossiers utiles à son fonctionnement.
1) Créer l'utilisateur. Créer un utilisateur, dans le groupe "users" et lui donner les droits aux dossiers partagés de Docker et au dossier partagé contenant les ebooks (les dossiers renseignés précédemment dans l'onglet "Volume").
Attention: une question se pose quant au groupe auquel doit appartenir cet utilisateur. Je cite .Shad. :
Attention que l'utilisateur ET le groupe doivent avoir les droits sur les deux dossiers en question, si malheureusement ton groupe (users) t'octroie certains droits, et que tu comptes sur l'utilisateur pour les compléter (ce qui serait logique), calibre te dira qu'il n'a pas accès à /books, car bizarrement il faut une redondance au niveau du groupe et de l'utilisateur.
 
Dans mon cas, afin d'éviter que n'importe quel utilisateur du groupe "users" accède aux ebooks, je n'ai pas donné de permissions pour les deux dossiers à tout le groupe users. Si un jour je me rends compte que cela crée des problèmes, je créerai un groupe dédié à l'utilisateur dédié de calibre-web.
2) récupérer les identifiants PGID et PUID de cet utilisateur.
- vérifiez que votre accès SSH est bien activé dans DSM. Pensez à le désactiver à la fin de l'installation, si vous n'utilisez pas votre accès SSH fréquemment, pour des raisons de sécurité.
image(7).thumb.png.ef6d42cc169599a638ade92802818a6a.png
- à l'aide du logiciel putty, ou programme équivalent, connectez vous à votre NAS avec les identifiants administrateur de celui-ci.
image(8).png.79d4fe71a26b0e925bedec30af32f6a2.png
J'ai créé un utilisateur "Liseuse" dédié exclusivement à l'utilisation de calibre web dans docker. Ce sont les identifiants de cet utilisateur que je vais récupérer avec la commande id suivi du nom de l'utilisateur:
image(10).png.ab9e7f3f672205da2920851f4599cd9a.png
 
La console vous renvoi ses PUID et PGID. Notez ces valeurs et renseignez dans l'onglet "environnement".
 
Appliquez pour lancer le conteneur.
Il s'agit ensuite de configurer calibre-web.
Avec votre navigateur web, pointez sur votre adresse local et sur le port du conteneur tel que vous avez configuré. Dans mon cas http:/192.168.0.1:8083
 
image(11).png.52e5eb63bda9b1d0cef27fd55f0d9870.png
 
Renseignez les identifiants du compte admin par défaut (pensez à modifier très rapidement le mot de passe):
Username: admin
Password: admin123
 
Vous allez ensuite devoir indiquer l'endroit où calibre-web doit récupérer vos livres: \books

Et voilà, ça devrait marcher.

 

---- FIN ----

image.png

 

 

image(8).png

image(11).png

Lien vers le commentaire
Partager sur d’autres sites

  • 3 semaines après...

Bonjour,

 

J'ai bien suivi le tuto (très clair) mais lorsque je veux me connecter j'ai ceci:

Ce site est inaccessible

192.168.* .* n'autorise pas la connexion.

Voici quelques conseils :

ERR_CONNECTION_REFUSED
 
je n'ai pas ce message si je me connecte au syno pour d'autres application .. Une indication ?
merci pour aide 
 
 
Lien vers le commentaire
Partager sur d’autres sites

Regarde sur ton impression d'écran, on voit que le port local c'est 32783, 8083 c'est le port du conteneur.
Et qu'est-ce qu'il fait là le port 3389 ?

Actuellement, ça marchera (sous réserve que tout a bien été paramétré) si tu vas à l'adresse http://192.168.1.11:32782

Reprend le tutoriel, il y a des choses qui t'ont échappé à mon avis.

Lien vers le commentaire
Partager sur d’autres sites

@quart-temps

Bonjour,

Je vais essayé d'installer calibre-web avec tes indications mais après avoir lu et relu ce guide, j'aurais quelques questions :

  1. Quelle est la valeur de la variable d'environnement "PATH" car celle-ci est partiellement masquée dans la copie d'écran ?
  2. Pour faire encore plus simple et être sûr de ne rien oublier dans le paramétrage, aurais-tu STP le fichier "docker-compose.yml" correspondant ?

Cordialement

oracle7😉

Lien vers le commentaire
Partager sur d’autres sites

@quart-temps

Bonjour,

Vu ta réponse, c'est que tu n'as pas utilisé cette autre façon de créer un conteneur.

Ce que dit la doc :

Citation

Compose est un outil permettant de définir et d'exécuter des applications Docker multi-conteneurs. Avec Compose, vous utilisez un fichier YAML pour configurer les services de votre application. Ensuite, avec une seule commande, vous créez et démarrez tous les services à partir de votre configuration.

et pour citer @.Shad. dans son TUTO sur docker :

Citation

Ça permet entre autre d'adopter une forme plus analytique et donc plus lisible, on peut également définir plusieurs "services" (voir image ci-dessus) au sein d'un même fichier docker-compose.yml

Donc en clair, au lieu de passer par tous les écrans de docker pour constituer le conteneur (ce qui s'avère au final assez limitatif sur les possibilités de paramétrage), on constitue un fichier "docker-compose.yml" qui regroupe alors tous les éléments nécessaires à la création du conteneur.

Je vais donc essayer le créer moi même en espérant ne pas me tromper.

Merci tout de même pour le PATH.

Cordialement

oracle7😉

 

Lien vers le commentaire
Partager sur d’autres sites

Ok

Apres avoir desinstaller et ensuite reinstaller calibre-web, je suis un peu plus loin. j'arrive a l'interface web de calibre-web avec l'adresse : http://192.168.1.11:32785/config. (8083 ne fonctionnent pas). Premiere fenêtre ou l'on me demande d'indiqué l'emplacement de la bibliothèque et ou (cf tuto) j'indique /books , réponse emplacement - bd est incorrect. 

dans l'emplacement "volume" j'ai bien indiqué . apres essai divers j'en suis arrivé a ceci :

le fichier metadata.db est situe dans le dossier : /media/calibre . Chemin repris a la rubrique volume (/books). Lorsque j'indique à la page configuration le chemin de la bibliothèque  /books j'ai une erreur m'indiquant que la bd est incorrecte.

Si je déplace le fichier metadata a un autre emplacement  : /media    , /media/temp et que je modifie en consequence ce chemin dans la configuration de calibre-web (volume), cela fonctionne sauf que je n'ai pas les "imagettes" des livres et ne peut pas les lire ni les telechargé 

 

P.S.

J'utilise bicbuckstrim, qui lit correctement le fichier metadata sans erreur 

 

 

Lien vers le commentaire
Partager sur d’autres sites

Il y a 12 heures, belidi a dit :

http://192.168.1.11:32785/config. (8083 ne fonctionnent pas).

Ca ne peut pas fonctionner car tu fais correspondre le port 32785 (tu as sûrement laissé en "auto") du NAS avec le port 8083 du conteneur, en gros il te faut :

image(5).png.12966cdaf50ced687dbd8bc8a5664385.png

et toi tu fais :

Capture d’écran 2020-10-01 à 14.38.56.png

Pour l'accès à la DB, il faudrait voir ce que tu as monté comme volume, quel est l'équivalent chez toi de l'image de @quart-temps ?

image(4).png.6602dc1512518272c0f1285bbcd27d41.png

Lien vers le commentaire
Partager sur d’autres sites

Ok,

 

Merci pour les informations, problème du port réglé et pour la bibliothèque, n'étant pas un utilisateur linux expert (je me débrouille) mais pas vraiment compris l'erreur, malgré l'utilisation du terminal et commande ls -l , dans les droits . j'ai donc recréer un dossier et déplacé lez dossiers livres et la base de données  et enfin tout est OK

 

Encore un grand merci pour l'aide

Lien vers le commentaire
Partager sur d’autres sites

@quart-temps

Bonjour,

  • Dans ce TUTO tu parles d'UN utilisateur "Liseuse" dont tu récupères les PUID et GUID. Mais lorsque l'on dispose de plusieurs utilisateurs potentiels, à part leur donner les droits qui vont bien sur les répertoires partagé docker et Bd_Calibre, comment fait-on pour les PUID et GUID de chacun ? Il faut aussi les mettre en variables de la section "environment:" ? C'est pas clair pou moi ...
     
  • Pour comprendre, quelle est l'utilité de définir respectivement les variables PATH, HOME et TERM ?

Cordialement

oracle7😉

 

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

pour des raisons de sécurité, j'ai créé un utilisateur dont la seule fonction est d'accéder à la bibliothèque Calibre.

Je renseigne les PGID et PUID afin de permettre à Docker de gérer cet utilisateur DSM.

Lorsqu'il y a plusieurs utilisateurs potentiels, il est recommandé de gérer les accès via le backend admin de Calibre Web qui permet d'accorder des droits spécifiques à chaque utilisateur. C'est ainsi que je procède personnellement. Certes les identifiants ne sont pas les mêmes que ceux des utilisateurs DSM, mais ça permet d’ouvrir ta bibliothèque à une personne non utilisateur DSM. mes gamins par exemple ont accès uniquement aux livres taggués "enfants".

Concernant le détail des variables PATH, HOME et TERM, je m’excuse je dois te renvoyer vers la doc.

Peut être que @.Shad.peut te renseigner ?

Au plaisir,

QT

Lien vers le commentaire
Partager sur d’autres sites

@quart-temps

Bonjour,

Merci de ta réponse rapide.

Donc un seul utilisateur type Liseuse puis c'est à gérer avec le backend admin.

Je suppose que le backend admin de calibre-wed est accessible via un menu de l'application une fois connecté à celle-ci, non ?

Pour les variables, je pose la question car je viens justement d'éplucher la doc sur github mais sans succès, peut-être que j'ai mal cherché aussi ...

Cordialement

oracle7😉

 

Lien vers le commentaire
Partager sur d’autres sites

il y a 12 minutes, quart-temps a dit :

PATH, HOME et TERM

Ces variables sont créées par l'image lors du déploiement du conteneur.

il y a 3 minutes, oracle7 a dit :

Je suppose que le backend admin de calibre-wed est accessible via un menu de l'application une fois connecté à celle-ci, non ?

Oui tout se fait par l'interface d'administration par après.

Lien vers le commentaire
Partager sur d’autres sites

@.Shad.

Bonjour,

Comme je ne suis pas convaincu de leur utilité (la doc Github ou dockerhub ne disant rien à leur propos, même dans leurs exemples de configuration), je vais faire abstraction de ces variables et verrais bien ce qui ce passe. Il sera toujours temps de les rajouter si besoin en est vraiment.

Merci tout de même de ta réponse.

Cordialement

oracle7😉

Lien vers le commentaire
Partager sur d’autres sites

@.Shad. @quart-temps

Bonjour,

Encore des questions "existentielles" pour ma bonne compréhension :

  • Je n'ai pas trouvé dans la doc docker-compose l'option "APPNAME" alors qu'elle fait partie des variables d'environnement dans les copies d'écran ci-avant. Est-elle renseignée par le système après création du conteneur ? Quelle est son utilité ?
  • Il n'y a rien concernant l'usage d'un réseau par le conteneur. Est-ce normal ? Si Oui ou Non, pourquoi ? Le réseau "bridge" est utilisé par défaut et on a pas besoin de le préciser ?
  • Enfin vis à vis de l'usage : comment cela se passe dans le cas où l'on souhaite lire un livre avec une tablette ou une liseuse depuis l'extérieur ? Il suffit simplement depuis ce périphérique de se connecter (avec VPN pour pas) à par ex : "liseuse.ndd.tld" sachant qu'une redirection est en place dans le proxy inversé du NAS telle que "htpps://liseuse.ndd.tld:443" vers "http://localhost:8083" ?

Merci de vos réponses.

Cordialement

oracle7😉

Lien vers le commentaire
Partager sur d’autres sites

Il y a 4 heures, oracle7 a dit :

Je n'ai pas trouvé dans la doc docker-compose l'option "APPNAME" alors qu'elle fait partie des variables d'environnement dans les copies d'écran ci-avant. Est-elle renseignée par le système après création du conteneur ? Quelle est son utilité ?

Toutes ces variables sont des variables créées par le conteneur nécessaire pour son fonctionnement.
La liste des variables qui représentent un intérêt pour l'utilisateur https://hub.docker.com/r/linuxserver/calibre-web

Il y a 4 heures, oracle7 a dit :

Il n'y a rien concernant l'usage d'un réseau par le conteneur. Est-ce normal ? Si Oui ou Non, pourquoi ? Le réseau "bridge" est utilisé par défaut et on a pas besoin de le préciser ?

Quand tu ne précises rien, le conteneur est créé en mode bridge, c'est lié aux réglages par défaut du démon dockerd (et c'est l'utilisation qu'on désire habituellement).

Il y a 4 heures, oracle7 a dit :

Enfin vis à vis de l'usage : comment cela se passe dans le cas où l'on souhaite lire un livre avec une tablette ou une liseuse depuis l'extérieur ? Il suffit simplement depuis ce périphérique de se connecter (avec VPN pour pas) à par ex : "liseuse.ndd.tld" sachant qu'une redirection est en place dans le proxy inversé du NAS telle que "htpps://liseuse.ndd.tld:443" vers "http://localhost:8083" ?

Exactement.

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.