Calibre-Web

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 à grain fin par utilisateur
  • Interface d’administration
  • Interface utilisateur en néerlandais, anglais, français, allemand, italien, italien, polonais, russe, chinois simplifié, espagnol.
  • Flux OPDS pour les applications de lecture de livres électroniques
  • Filtrer et rechercher par titres, auteurs, balises, séries et langue
  • 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 livres électroniques du format EPUB au format Kindle (mobi/azw)
  • Restreindre le téléchargement de livres électroniques aux utilisateurs connectés
  • Prise en charge de l’enregistrement des utilisateurs publics
  • Envoyez des livres électroniques aux appareils Kindle d’un simple clic.
  • Prise en charge de la lecture de livres électroniques directement dans le navigateur (.txt,.epub,.pdf,.cbr,.cbt,.cbz)
  • Télécharger les nouveaux livres en format PDF, epub, fb2
  • Prise en charge des colonnes personnalisées Calibre
  • Possibilité de masquer le contenu en fonction des catégories pour certains utilisateurs
  • Capacité de mise à jour automatique
  • Ouverture de session “Magic Link” pour faciliter l’ouverture d’une session sur les lecteurs électroniques.

Prérequis

Les outils

sudo apt install sqlite3 python-pip imagemagick
sudo apt-get install python-setuptools 
pip install wheel

Installation

Installation application **calibre-web** dans le répertoire **/home/yann**

cd $HOME
git clone https://github.com/janeczku/calibre-web.git
cd calibre-web
# installation des prérequis
pip install --system --target vendor -r requirements.txt
cd ..
# déplacer vers **/opt**
sudo mv calibre-web /opt/
# les droits
sudo chown $USER. -R /opt/calibre-web/

Service 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/python /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 Wed 2019-04-03 10:47:45 CEST; 9s ago
 Main PID: 29858 (python)
    Tasks: 2 (limit: 4915)
   CGroup: /system.slice/calibre-web.service
           └─29858 /usr/bin/python /opt/calibre-web/cps.py

avril 03 10:47:45 yanspm.com systemd[1]: Started Service calibre-web.
avril 03 10:47:45 yanspm.com python[29858]: [2019-04-03 10:47:45,937] INFO in web: Starting Calibre Web...
avril 03 10:47:46 yanspm.com python[29858]: [2019-04-03 10:47:46,184] INFO in server: Starting Tornado server

Activation

sudo systemctl enable calibre-web

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/ ;

Exemple: Configuration nginx domaine calibre.yanspm.com

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

Premier lancement

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