Afficher/cacher Sommaire
Calibre-Web
-
How To Create a calibre Ebook Server on Ubuntu 20.04 Calibre Web est une application Web offrant une interface propre pour naviguer, lire et télécharger des livres électroniques en utilisant une base de donnéesCalibre existante.
-
Ce logiciel est un “fork” de library sous licence GPL v3.
Caractéristiques
- Interface HTML5 Bootstrap 3
- configuration graphique complète
- Gestion des utilisateurs avec des permissions par utilisateur à grain fin
- Interface administrateur
- Interface utilisateur en brésilien, tchèque, néerlandais, anglais, finnois, français, allemand, grec, hongrois, italien, japonais, khmer, polonais, russe, chinois simplifié, espagnol, suédois, turc, ukrainien.
- Flux OPDS pour les applications de lecture de livres électroniques
- Filtrez et recherchez par titres, auteurs, tags, séries et langues.
- Créer une collection de livres personnalisée (étagères)
- Prise en charge de l’édition des métadonnées des livres électroniques et de la suppression des livres électroniques de la bibliothèque Calibre.
- Prise en charge de la conversion des eBooks par les binaires Calibre
- Restriction du téléchargement des livres électroniques aux utilisateurs connectés
- Support pour l’enregistrement public des utilisateurs
- Envoi d’eBooks vers des appareils Kindle d’un simple clic de souris
- Synchronisation de vos appareils Kobo avec votre bibliothèque Calibre via Calibre-Web
- Prise en charge de la lecture des eBooks directement dans le navigateur (.txt, .epub, .pdf, .cbr, .cbt, .cbz, .djvu)
- Téléchargement de nouveaux livres dans de nombreux formats, y compris les formats audio (.mp3, .m4a, .m4b)
- Prise en charge des colonnes personnalisées de Calibre
- Possibilité de masquer le contenu en fonction des catégories et du contenu des colonnes personnalisées par utilisateur.
- Possibilité de mise à jour automatique
- Connexion “Magic Link” pour faciliter la connexion aux eReaders
- Connexion via LDAP, google/github oauth et via l’authentification proxy.
Debian server
Prérequis
Vérifier si debian est à jour
sudo apt update
sudo apt upgrade
Les outils
sudo apt install git sqlite3 imagemagick python3-setuptools python3-pip
Installation via pip
Installation application **calibre-web** dans le répertoire **$HOME**
cd $HOME
# Clonez calibre-web
git clone https://github.com/janeczku/calibre-web.git
# déplacer vers **/opt**
sudo mv calibre-web /opt/
# les droits
sudo chown $USER. -R /opt/calibre-web/
# Allez dans le dossier
cd /opt/calibre-web
# Mise à jour dernière version pip
/usr/bin/python3 -m pip install --upgrade pip
# installation des prérequis
/usr/bin/python3 -m pip install --target vendor -r requirements.txt
cd ~
Service systemd calibre-web
Utilisation fichier systemd pour le lancement automatique
sudo nano /etc/systemd/system/calibre-web.service
Contenu du fichier
[Unit]
Description=Service calibre-web
After=network.target
[Service]
Type=simple
User=utilisateur
ExecStart=/usr/bin/python3 /opt/calibre-web/cps.py
[Install]
WantedBy=multi-user.target
ATTENTION! , User est l’utilisateur connecté ($USER)
Lancer le service calibre-web :
sudo systemctl start calibre-web
Vérifier:
sudo systemctl status calibre-web
● calibre-web.service - Service calibre-web
Loaded: loaded (/etc/systemd/system/calibre-web.service; disabled; vendor preset: enabled)
Active: active (running) since Thu 2022-03-31 15:28:26 CEST; 11s ago
Main PID: 23838 (python3)
Tasks: 3 (limit: 4718)
Memory: 72.7M
CGroup: /system.slice/calibre-web.service
└─23838 /usr/bin/python3 /opt/calibre-web/cps.py
Mar 31 15:28:26 server32771 systemd[1]: Started Service calibre-web.
Activation
sudo systemctl enable calibre-web
proxy nginx
configuration nginx pour un serveur local à l’écoute sur le port 8083, mappage de Calibre-Web à /calibre :
http {
server {
client_max_body_size 20M;
location /calibre {
proxy_bind $server_addr;
proxy_pass http://127.0.0.1:8083;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Scheme $scheme;
proxy_set_header X-Script-Name /calibre;
}
}
}
Remarque : Si vous utilisez SSL dans votre proxy inverse sur un port non standard (par exemple 12345), la ligne proxy_redirect suivante peut être nécessaire :
proxy_redirect http://$host/ https://$host:12345/ ;
Le domaine “calibre.yanspm.com” est activé avec les certificats let’s encrypt
Le fichier de configuration nginx
cat /etc/nginx/conf.d/calibre-web.conf
server {
listen 80;
listen [::]:80;
## redirect http to https ##
server_name calibre.yanspm.com;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name calibre.yanspm.com;
include ssl_params;
include header_params;
location / {
proxy_pass http://127.0.0.1:8083;
}
access_log /var/log/nginx/calibre-access.log;
error_log /var/log/nginx/calibre-error.log;
}
Vérifier
sudo nginx -t
Redémarrer nginx
sudo systemctl reload nginx
accès à la configuration https://calibre.yanspm.com/config
puis cliquer sur Connexion
Par défaut: Nom d’utilisateur: admin , Mot de passe: admin123
Paramétrage , cliquer sur Admin (pas sur admin avec le a minuscule)
Cliquer sur Add new user
Username : yannick
Email address : div@cinay.xyz
Password : xxxxxx
Kindle email:
Language : français
Show books with language : Show all
Cliquer sur submit
Se reconnecter avec l’utilisateur yanspm
Cliquer sur Admin et sélectionner admin , cocher la case “Supprimer cet utilisateur”
Cliquer sur Soumettre
Il reste l’utilisateur/administrateur yanspm
Yunohost
Ajout domaine (facultatif)
Ajout domaine et certificats ebook.yanfi.space
yunohost domain add ebook.yanfi.space
yunohost domain cert-install ebook.yanfi.space --no-checks
Application calibre-web
Installer l’application Calibre-web
yunohost app install https://github.com/YunoHost-Apps/calibreweb_ynh
Choose the domain where this app should be installed [cinay.eu | gitea.cinay.eu | map.cinay.eu | static.cinay.eu | yanfi.net | yanfi.space | ebook.yanfi.space | searx.yanfi.space | zic.yanfi.space] (default: yanfi.space): ebook.yanfi.space
Choose the path where this app should be installed (default: /calibre): /
Choose an administrator user for this app [yann | claudine | yanfi]: yann
Should this app be exposed to anonymous visitors? [yes | no] (default: no): yes
Select a default language [fr | en | es | de] (default: fr):
Do you want to allow uploading of books? [yes | no] (default: no):
Do you want to allow access to the library to all Yunohost users? [yes | no] (default: yes):
Synchro bibliothèque avec rsync
Synchronisation du dossier local /home/yunohost.multimedia/share/eBook/
avec le dossier distant /home/usernl/backup/BiblioCalibre
du serveur xoyaz.xyz
L’opération est exécutable en mode su seulement
rsync -avz --delete --rsync-path="sudo rsync" -e "ssh -p 55036 -i /home/admin/.ssh/OVZ-STORAGE-128 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" usernl@xoyaz.xyz:/home/usernl/backup/BiblioCalibre/* /home/yunohost.multimedia/share/eBook/ && chown calibreweb.calibreweb -R /home/yunohost.multimedia/share/eBook/
Créer une tâche crontab
sudo -s
crontab -e
# Synchronisation du dossier local /home/yunohost.multimedia/share/eBook/ avec le dossier distant /home/usernl/backup/BiblioCalibre du serveur xoyaz.xyz
# Tous les jours à 4h00 du matin
0 4 * * * rsync -avz --delete --rsync-path="sudo rsync" -e "ssh -p 55036 -i /home/admin/.ssh/OVZ-STORAGE-128 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" usernl@xoyaz.xyz:/home/usernl/backup/BiblioCalibre/* /home/yunohost.multimedia/share/eBook/ && chown calibreweb.calibreweb -R /home/yunohost.multimedia/share/eBook/
Les traductions
find /var/www/calibreweb/cps/templates/ -name "*.*" -type f -exec sed -i "s#'Sort according to book date, newest first'#'Trier selon la date du livre, le plus récent en premier'#g" {} \;
find /var/www/calibreweb/cps/templates/ -name "*.*" -type f -exec sed -i "s#'Sort according to book date, oldest first'#'Trier selon la date du livre, le plus ancien en premier'#g" {} \;
find /var/www/calibreweb/cps/templates/ -name "*.*" -type f -exec sed -i "s#'Sort title in alphabetical order'#'Trier le titre par ordre alphabétique'#g" {} \;
find /var/www/calibreweb/cps/templates/ -name "*.*" -type f -exec sed -i "s#'Sort title in reverse alphabetical order'#'Trier le titre en ordre alphabétique inverse'#g" {} \;
find /var/www/calibreweb/cps/templates/ -name "*.*" -type f -exec sed -i "s#'Sort authors in alphabetical order'#'Trier les auteurs par ordre alphabétique'#g" {} \;
find /var/www/calibreweb/cps/templates/ -name "*.*" -type f -exec sed -i "s#'Sort authors in reverse alphabetical order'#'Trier les auteurs par ordre alphabétique inverse'#g" {} \;
find /var/www/calibreweb/cps/templates/ -name "*.*" -type f -exec sed -i "s#'Sort according to publishing date, newest first'#'Trier selon la date de publication, les plus récentes en premier'#g" {} \;
find /var/www/calibreweb/cps/templates/ -name "*.*" -type f -exec sed -i "s#'Sort according to publishing date, oldest first'#'Trier selon la date de publication, la plus ancienne en premier'#g" {} \;
Les fichiers de traduction française dans le dossier /var/www/calibreweb/cps/translations/fr/LC_MESSAGES/
Editer et modifier le fichier messages.po
Convertir le po
vers mo
, lien http://po2mo.net/
Redémarrer le service calibreweb
systemctl restart calibreweb
Paramétrage
Ouverture du lien https://ebook.yanfi.space
Trucs et astuces
Paramétrer les colonnes à afficher
émarrez Calibre et ouvrez la fenêtre des paramètres. Sélectionnez l’option “Ajouter mes propres colonnes” dans la catégorie “Interface utilisateur”.
marquer les livres comme lus
Marquer des livres électroniques dans Calibre comme lus et non lus
Par défaut, Calibre n’offre pas de fonction directe avec laquelle vous pouvez trier les livres par lecture et non lus. Cependant, vous pouvez créer vos propres colonnes et créer cette fonctionnalité vous-même, même si c’est un peu compliqué. Dans notre galerie de photos, vous pouvez voir les étapes comme un itinéraire de clic.
- Démarrez Calibre et ouvrez la fenêtre des paramètres. Sélectionnez l’option “Ajouter mes propres colonnes” dans la catégorie “Interface utilisateur”.
- Vous verrez maintenant toutes les colonnes créées dans Calibre. Pour la fonction de lecture, vous devez créer votre propre colonne. Pour ce faire, cliquez sur le vert plus à droite ou sur le bouton “Ajouter une colonne personnalisée” en bas de l’écran.
- Dans la fenêtre qui s’ouvre, sélectionnez “Oui/Non” sous “Création rapide”. Calibre remplit désormais automatiquement les colonnes avec certaines données. Entrez le mot clé “lu” (sans guillemets) sous “Nom recherché”. Sous l’en-tête de colonne, saisissez une description, telle que “Lu?”.Valeur par défaut “Non”, Confirmez ensuite avec OK pour créer la colonne.
- Assurez-vous maintenant que la coche est placée à côté de la colonne “Lu?” Que vous venez de créer. Ne fermez pas la fenêtre avec le X, mais enregistrez vos modifications avec la touche “Appliquer”.
Un redémarrage de Calibre est nécessaire - De retour dans votre bibliothèque, faites un clic droit pour sélectionner un livre puis sous “Modifier les métadonnées” sélectionnez l’option “Modifier les métadonnées individuellement”. Sous l’onglet “Métadonnées définies par l’utilisateur”, vous pouvez désormais facilement sélectionner si un livre est lu ou non lu.
Lier le champ “lu” avec calibre-web
Se connecter en administrateur sur calibre-web