NAS Synology + Calibre Web (Automated) : créez votre propre bibliothèque numérique !
Sommaire
I. Présentation
Cet article présente la mise en place des solutions Calibre Web et Calibre Web Automated sur un NAS Synology, à l'aide d'un conteneur Docker. Qu'est-ce que ces applications ? Qu'est-ce qui m'a conduit à les utiliser ? Réponse ci-dessous !
L'organisation des ressources numériques au format PDF, notamment les livres numériques (eBooks), peut être assez fastidieuse et inefficace si l'on se limite à l'utilisation de l'Explorateur de fichiers de Windows (ou d'un autre système d'exploitation). Il n'est pas facile de retrouver un document, de savoir lequel on a déjà lu, etc... Lorsque l'on recherche une solution pour organiser, classer et rechercher facilement une ressource dans sa collection de livres numériques, il y a le nom d'une application qui revient régulièrement : Calibre.
Cette application entièrement gratuite et open source s'appuie sur une base de données. Elle est accessible au travers d'un client lourd qui s'installe directement sur un ordinateur. Un autre projet, développé en parallèle et qui nous intéresse aujourd'hui, propose un équivalent basé sur une interface web : Calibre Web. Son interface en HTML5, dont vous avez un aperçu ci-dessous, vous permet de parcourir votre bibliothèque et de consulter vos ressources depuis un navigateur Web.
Remarque : cette application n'effectue pas l'indexation des documents PDF, elle sert surtout à organiser les ressources par catégories, par étagères, par tags, etc.
Puis, dans cet article, nous découvrirons également Calibre Web Automated, une version améliorée de Calibre Web ! Vous n'avez plus qu'à lire la suite de cet article pour en savoir plus.
II. Mise en place de Calibre Web sur un NAS
Dans la suite de cet article, nous verrons comment installer Calibre Web sur un NAS Synology. Sachez qu'il y a deux façons de l'utiliser :
- Utiliser Calibre Web en complément de Calibre, c'est-à-dire que les deux vont utiliser la même base de données.
- Utiliser Calibre Web sans Calibre, ce qui implique de générer malgré tout une base de données vide (nous en reparlerons).
A. Créer le conteneur Docker pour Calibre Web
La première étape du déploiement consiste à se connecter sur l'interface DSM de votre NAS Synology pour créer les répertoires nécessaires au bon fonctionnement de cette application. Nous utiliserons l'image Docker de chez LinuxServer.io, accessible via ce lien :
Dans le répertoire "docker" (vous devez installer Container Manager si ce n'est pas déjà fait), vous devez créer l'arborescence suivante :
- calibre-web
- books
- config
Comme ceci :
Ensuite, lancez l'application Container Manager sur votre NAS, cliquez sur "Projet" puis sur le bouton "Créer". Une fenêtre similaire à celle ci-dessous va s'ouvrir. Vous devez compléter les champs suivants :
- Nom du projet : calibre-web
- Chemin : sélectionnez le répertoire "/docker/calibre-web" créé auparavant
- Source : sélectionnez l'option "Créer un fichier docker-compose.yml"
Vous obtenez une zone de saisie puisque l'assistant attend le code de votre fichier Docker Compose.
Voici le code que j'ai utilisé dans le cadre de ce déploiement :
---
services:
calibre-web:
image: lscr.io/linuxserver/calibre-web:latest
container_name: calibre-web
environment:
- PUID=1032
- PGID=100
- TZ=Europe/Paris
- DOCKER_MODS=linuxserver/mods:universal-calibre
- OAUTHLIB_RELAX_TOKEN_SCOPE=1 #optional
volumes:
- /volume1/docker/calibre-web/config:/config
- /volume1/docker/calibre-web/books:/books
ports:
- 8083:8083
restart: unless-stopped
Vous devez prêter attention aux options suivantes :
PUID
etPGID
: les informations sur le compte à utiliser pour exécuter le conteneur Docker. Pour comprendre ces deux options, je vous oriente vers mon tutoriel de prise en main de Container Manager et vers celui permettant de récupérer le PUID et le PGID d'un utilisateur de DSM.TZ
: le fuseau horairevolumes
: vous devez éventuellement adapter les chemins pour mapper les répertoires créés précédemment dans le conteneur.ports
: nous utiliserons le port8083
au niveau externe pour le conteneur (valeur de gauche), donc vous devez adapter si vous préférez utiliser un autre port ou si vous l'utilisez déjà pour un autre service.
Poursuivez et lancez la création du projet.
Quand c'est fait, vous devriez voir votre projet associé à un seul et unique conteneur baptisé "calibre-web".
Ouvrez un navigateur et accédez à l'interface de Calibre Web : http://<adresse IP de votre NAS>:8083. Pour vous connecter la première fois, utilisez le nom d'utilisateur "admin" et le mot de passe "admin123".
Bienvenue sur Calibre Web !
B. Associer une base de données Calibre
Désormais, vous devez associer une base de données Calibre à l'application Calibre Web. Sinon, elle ne pourra pas fonctionner. Souvenez-vous, vous avez deux options. Pour ma part, je souhaite utiliser Calibre Web de façon autonome, sans Calibre, donc.
Note : si vous souhaitez utiliser à la fois Calibre et Calibre Web, vous devez déplacer le fichier de base de données sur le NAS. Ainsi, il sera accessible par Calibre Web et dans Calibre, chargez la base depuis l'emplacement réseau.
Vous pouvez récupérer le modèle de base de données disponibles sur le GitHub de Calibre Web, en cliquant sur ce lien. Sinon, vous pouvez le faire manuellement en suivant les étapes ci-dessous.
Il est nécessaire de télécharger et d'installer Calibre pour créer une base de données vierge. Celle-ci sera ensuite utilisée par Calibre Web. L'idée étant d'avoir une structure de base de données. Vous pouvez télécharger Calibre via le lien suivant :
Vous n'avez qu'à installer l'application et à effectuer une mise en route. Cela va créer une base de données sur votre ordinateur. Par la suite, quand vous aurez récupéré le fichier de base de données (voir ci-dessous), vous pourrez désinstaller Calibre de votre PC.
Le fichier metadata.db
est stocké à l'emplacement suivant : C:\Utilisateurs\<votre utilisateur>\Bibliothèque calibre
Vous devez copier-coller le fichier metadata.db
sur votre NAS, au sein du répertoire suivant : /docker/calibre-web/books
.
Quand c'est fait, retournez sur l'interface de Calibre Web et à l'étape "Database Configuration", cliquez sur le bouton pour charger la base de données.
Vous devez ensuite explorer le système de fichiers, et remonter dans l'arborescence (via "..") jusqu'à pouvoir accéder au dossier /books
dans lequel se situe le fichier de base de données. Sélectionnez le fichier et validez.
Voilà, désormais, vous pouvez profiter de Calibre Web en tant qu'application autonome.
C. Configurer l'application Calibre Web
Avant d'évoquer l'ajout d'un premier livre numérique, nous allons évoquer quelques options de configuration. Cliquez sur "admin" en haut à droite afin de personnaliser le compte (1). Vous pouvez changer le nom de l'utilisateur (2) et surtout modifier le mot de passe (3). Vous avez aussi la possibilité de choisir la langue (4).
Note : en complément, dans les options de l'application, vous pouvez configurer la protection anti-brute force via l'option "Limit failed login attempts".
Cliquez ensuite sur le bouton "Administration" en haut à droite. Sur la page qui apparait, vous pouvez accéder à toutes les options de l'application. Cliquez sur le bouton "Éditer la configuration principale".
Développez la section "Configuration des options" de façon à activer l'option suivante : "Autoriser le téléchargement de fichier". Cela va permettre de charger vos ressources numériques directement à partir de l'interface web de Calibre Web. Libre à vous d'activer d'autres options, selon vos besoins.
Remarque : le répertoire
books
sert à stocker les livres numériques, mais vous ne pouvez pas simplement déposer les fichiers dans ce répertoire. Calibre Web ne va pas lire le contenu de ce répertoire pour intégrer tout seul ces fichiers. Vous devez passer par le bouton "Téléverser", ce qui aura pour effet de créer le livre dans la base de données et de le stocker dans le dossierbooks
. Calibre Web organise ses données d'une façon bien précise.
Vous êtes prêt à charger votre première ressource. Il peut s'agir d'un document PDF ou d'un fichier dans un autre format, notamment EPUB.
D. Ajouter son premier livre
En cliquant sur le bouton "Téléverser", vous pouvez charger votre fichier. Ensuite, il sera possible de personnaliser le titre, l'auteur, la description, ajouter des tags, etc... Et, même ajouter la couverture (par défaut, il utilise la première page de la ressource). Calibre Web peut récupérer des informations lui-même, en fonction des métadonnées renseignées dans le fichier source.
Voici un exemple :
Note : la zone de recherche vous permet de retrouver facilement vos livres, notamment selon différents critères (description, titre, tags, auteur, etc.).
L'opération est à répéter pour chaque ressource à ajouter. Vous pouvez ensuite explorer votre bibliothèque grâce aux catégories disponibles sur la gauche, y compris voir les livres que vous n'avez pas encore lus.
Quand vous cliquez sur une ressource, vous pouvez la télécharger ou la lire directement dans le navigateur (le lecteur EPUB est plutôt bien !). Vous pouvez aussi l'éditer ou l'ajouter une étagère, ce qui peut être pratique pour organiser vos livres. De plus, les étagères sont partageables entre plusieurs utilisateurs.
Note : si vous arrêtez la lecture d'un livre et que vous poursuivez par la suite, vous reprenez directement à la page où vous étiez.
III. Aller plus loin avec Calibre Web Automated
Si vous avez une importante collection de livres à importer dans Calibre Web, cela peut s'avérer long, car vous devez traiter les livres un par un... Dans ce cas, vous pourriez imaginer une mise en route initiale avec l'application Calibre, pour ensuite migrer votre base de données sur une instance Calibre Web.
Sinon, il y a un autre projet intéressant en cours de développement : Calibre-Web-Automated (CWA), il semble gommer certains défauts de Calibre Web (CW), en automatisant certaines actions. C'est un projet qui a été lancé en juin 2024 et qui est en phase de développement intensive (donc, potentiellement, il n'est pas aussi stable que Calibre Web).
A. Calibre Web vs Calibre Web Automated
Calibre-Web Automated (CWA) se présente comme une version améliorée de Calibre-Web. Il hérite de son interface graphique, même s'il a aussi son propre thème. Calibre Web Automated des fonctionnalités supplémentaires pour automatiser et améliorer la gestion de votre bibliothèque d'eBooks. Voici les principaux avantages de CWA par rapport à Calibre-Web :
- Importation automatique des livres : CWA surveille un dossier désigné et importe automatiquement les nouveaux eBooks ajoutés, simplifiant ainsi le processus d'ajout de livres à votre bibliothèque (oubliez le processus d'ajout un par un évoqué précédemment).
- Conversion automatique des formats : lors de l'importation, CWA convertit automatiquement les eBooks dans le format souhaité (par défaut, EPUB), assurant une compatibilité optimale avec divers appareils de lecture.
- Mise à jour des métadonnées et des couvertures : les modifications apportées aux métadonnées et aux couvertures via l'interface de CWA sont appliquées directement aux fichiers ePub, garantissant que les informations mises à jour sont présentes lors de l'envoi des livres à des appareils comme les Kindle.
- Sauvegarde automatisée : CWA propose un service de sauvegarde automatique, conservant les versions originales des fichiers traités pour éviter toute perte de données.
- Gestion simplifiée : avec des fonctionnalités telles que l'édition et la suppression en lot, CWA facilite la gestion de grandes bibliothèques d'eBooks.
- Synchronisation des métadonnées : CWA permet d'exploiter la base de données d’isbndb.com pour récupérer les métadonnées des livres.
- Page de suivi des statistiques du serveur : une nouvelle page de statistiques affiche diverses statistiques sur l'activité de CWA en arrière-plan (imports, conversions, etc.).
B. L'installation et la migration vers Calibre Web Automated
La bonne nouvelle, c'est qu'il est très facile de migrer de Calibre Web à Calibre Web Automated ! Voyons comment le déployer sur un NAS. Vous pouvez tout à fait le déployer en parallèle de Calibre Web (mais les deux utilisent le même port, sinon adaptez le port de la seconde application).
Créez les répertoires suivants :
Vous remarquerez qu'il y a un nouveau répertoire : ingest
. Il joue un rôle clé puisqu'il sert à automatiser l'ajout en masse de nouveaux livres. Il vous suffit de déposer vos fichiers dans ce dossier (PDF, EPUB, MOBI, etc...) et l'application va les ingérer. Ils seront ensuite supprimés de ce dossier pour être classé dans votre librairie. C'est une fonction très intéressante !
Pour migrer de Calibre Web à Calibre Web Automated, vous devez simplement :
- Copier le contenu du dossier
config
de l'un vers l'autre - Copier le contenu du dossier
books
de l'un vers l'autre
Vous conservez ainsi votre bibliothèque actuelle et vos paramètres. Une autre solution consiste à ne pas faire de copier-coller, mais simplement monter les dossiers de CW dans CWA.
Donc, depuis Container Manager, vous pouvez déployer CWA sur le même principe que CW, à la différence que le fichier Docker Compose n'est pas tout à fait le même. Vous devez utiliser une image propre à ce projet, et monter cette fois-ci 3 répertoires.
Voici le code que vous pouvez utiliser (les adaptations à effectuer sont les mêmes que pour CW).
---
services:
calibre-web-automated:
image: crocodilestick/calibre-web-automated:latest
container_name: calibre-web-automated
environment:
- PUID=1032
- PGID=100
- TZ=Europe/Paris
volumes:
- /volume1/docker/calibre-web-automated/config:/config
- /volume1/docker/calibre-web-automated/ingest:/cwa-book-ingest
- /volume1/docker/calibre-web-automated/books:/calibre-library
ports:
- 8083:8083
restart: unless-stopped
Ensuite, vous pouvez accéder à votre instance CWA et accéder à votre bibliothèque.
L'interface d'administration contient désormais d'autres paramètres spécifiques aux fonctionnalités ajoutées par cette version améliorée de Calibre Web. Par défaut, tous les documents importés automatiquement seront convertis en EPUB. Dans certains cas, cela ne s'effectue pas bien (le texte est illisible et remplacé par du noir). Si vous rencontrez ce problème, vous pouvez désactiver cette fonctionnalité ou ajuster sa configuration dans "CWA Settings".
Calibre Web Automated est très prometteur ! Il vaut la peine d'être testé (ce qui est possible en parallèle de CW) et il évolue très régulièrement. La preuve, il y a déjà eu 15 versions depuis juin 2024.
IV. Conclusion
Calibre Web est une application légère et intéressante pour organiser ses ressources numériques, en particulier les livres de type "eBooks", qu'ils soient au format PDF, EPUB ou MOBI. D'autres fonctionnalités sont disponibles au travers des options de l'application, et le GitHub du projet évoque même une intégration possible avec LDAP, Google et GitHub OAuth pour l'authentification.
Quant à Calibre Web Automated, cela vous permet d'avoir des fonctionnalités supplémentaires et une interface plus moderne. La fonctionnalité clé, de mon point de vue, c'est la possibilité d'importer en masse des eBooks simplement en les positionnant dans un répertoire. Ce sera très pratique pour ceux qui veulent mettre en place cette solution et qui ont déjà une bibliothèque importante.
Qu'en pensez-vous ?
Merci Florian pour ce superbe tuto qui change un peu de l’admin Windows 🙂 (pour moi en tout cas)
Superbe découverte, je n’ai pas de Syno mais j’ai un serveur Docker, ca suffira
Si tu as la même chose pour les BD tu feras un heureux
Merci pour les différent tuto Synology / Docker
Ils sont super bien expliqué