quart-temps Posté(e) le 7 septembre 2020 Posté(e) le 7 septembre 2020 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: https://sasquatters.com/calibre-web-docker/ https://github.com/janeczku/calibre-web 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/ Dans les paquets de la communauté, recherchez et installez Docker. Suivre l'excellent tuto de @.Shad. https://www.nas-forum.com/forum/topic/65309-tuto-docker-introduction/ 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. Après téléchargement, vous retrouverez le paquet dans l'onglet image. Lancez le container pour le configurer. Donnez un nom évocateur à votre conteneur, et allez dans les paramètres avancés. 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). 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. - 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). Dans l'onglet "Paramètres des ports", choisissez le port local. Il est préférable d'utiliser celui par défaut: 8083. Voici comment j'ai configuré l'onglet "Environnement". 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é. - à l'aide du logiciel putty, ou programme équivalent, connectez vous à votre NAS avec les identifiants administrateur de celui-ci. 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: 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 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 ---- 2 Citer
belidi Posté(e) le 30 septembre 2020 Posté(e) le 30 septembre 2020 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 : Vérifier la connexion Vérifier le proxy et le pare-feu ERR_CONNECTION_REFUSED je n'ai pas ce message si je me connecte au syno pour d'autres application .. Une indication ? merci pour aide 0 Citer
quart-temps Posté(e) le 1 octobre 2020 Auteur Posté(e) le 1 octobre 2020 (modifié) Salut, tu as essayé de te connecter également à d'autres application Docker ? Modifié le 1 octobre 2020 par quart-temps 0 Citer
belidi Posté(e) le 1 octobre 2020 Posté(e) le 1 octobre 2020 Bonjour, Oui, Hassio (home assistant) qui fonctionne 0 Citer
.Shad. Posté(e) le 1 octobre 2020 Posté(e) le 1 octobre 2020 Quelle est l'adresse que tu entres dans ton navigateur ? (aucun besoin de cacher l'adresse IP, c'est une IP privée on n'en fera rien) 0 Citer
belidi Posté(e) le 1 octobre 2020 Posté(e) le 1 octobre 2020 http://192.168.1.11:8083/ Pour home assistant c'est http://192.168.1.11:8023/ 0 Citer
.Shad. Posté(e) le 1 octobre 2020 Posté(e) le 1 octobre 2020 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. 0 Citer
oracle7 Posté(e) le 1 octobre 2020 Posté(e) le 1 octobre 2020 @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 : Quelle est la valeur de la variable d'environnement "PATH" car celle-ci est partiellement masquée dans la copie d'écran ? 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😉 0 Citer
quart-temps Posté(e) le 1 octobre 2020 Auteur Posté(e) le 1 octobre 2020 Salut, la variable PATH est celle par défaut : /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin Concernant le docker-compose.yml. Pourrais-tu stp me dire où je peux te le trouver 😉 0 Citer
oracle7 Posté(e) le 1 octobre 2020 Posté(e) le 1 octobre 2020 @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😉 0 Citer
quart-temps Posté(e) le 1 octobre 2020 Auteur Posté(e) le 1 octobre 2020 il y a 12 minutes, oracle7 a dit : Vu ta réponse, c'est que tu n'as pas utilisé cette autre façon de créer un conteneur. Non, effectivement. Je l'aurai mentionné dans le tuto le cas échéant 😉 0 Citer
belidi Posté(e) le 1 octobre 2020 Posté(e) le 1 octobre 2020 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 0 Citer
.Shad. Posté(e) le 2 octobre 2020 Posté(e) le 2 octobre 2020 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 : et toi tu fais : 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 ? 0 Citer
belidi Posté(e) le 2 octobre 2020 Posté(e) le 2 octobre 2020 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 1 Citer
oracle7 Posté(e) le 2 octobre 2020 Posté(e) le 2 octobre 2020 @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😉 0 Citer
quart-temps Posté(e) le 2 octobre 2020 Auteur Posté(e) le 2 octobre 2020 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 0 Citer
oracle7 Posté(e) le 2 octobre 2020 Posté(e) le 2 octobre 2020 @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😉 0 Citer
.Shad. Posté(e) le 2 octobre 2020 Posté(e) le 2 octobre 2020 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. 0 Citer
oracle7 Posté(e) le 2 octobre 2020 Posté(e) le 2 octobre 2020 @.Shad. Bonjour, il y a 1 minute, .Shad. a dit : Ces variables sont créées par l'image lors du déploiement du conteneur. OK je l'avais compris mais ma question portait sur l'utilité de ces variables ? Cordialement oracle7😉 0 Citer
.Shad. Posté(e) le 2 octobre 2020 Posté(e) le 2 octobre 2020 Et bien j'imagine la même utilité qu'ailleurs pour le PATH, mais pour tous les binaires situés à l'intérieur du conteneur. HOME c'est assez clair ^^ TERM j'imagine que ça a un rapport avec le terminal, mais comme ça... je ne sais pas. 0 Citer
oracle7 Posté(e) le 2 octobre 2020 Posté(e) le 2 octobre 2020 @.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😉 0 Citer
oracle7 Posté(e) le 3 octobre 2020 Posté(e) le 3 octobre 2020 @.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😉 0 Citer
.Shad. Posté(e) le 3 octobre 2020 Posté(e) le 3 octobre 2020 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. 0 Citer
oracle7 Posté(e) le 3 octobre 2020 Posté(e) le 3 octobre 2020 @.Shad. Bonjour, Merci pour cette réponse clair et précise. Comme d'hab ...😎 Cordialement oracle7😉 0 Citer
Messages recommandés
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.