Calibre Web Proxmox (vm-calibre)
Calibre-Web est une application Web offrant une interface claire pour la navigation, la lecture et le téléchargement de livres électroniques à l’aide d’une base de données Calibre existante.
Proxmox vm-calibre
Proxmox - Créer une VM Debian 13 (image ISO)
Hostname: calibrer
root/calroot49
Utilisateur/Mp: cal/cal49
Réseau - DNS
Debian est installé avec seulement [utilitaires du système standard]
IP statique
/etc/network/interfaces
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Ce fichier décrit les interfaces réseau disponibles sur votre système
# et comment les activer.
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
allow-hotplug ens18
iface ens18 inet static
address 192.168.0.229
gateway 192.168.0.254
# This is an autoconfigured IPv6 interface
iface ens18 inet6 auto
Il faut modifier le fichier /etc/resolv.conf
1
2
nameserver 192.168.0.205
nameserver 1.1.1.1
Redémarrer l’interface
1
systemctl restart ifup@ens18
Vérification: ip a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host noprefixroute
valid_lft forever preferred_lft forever
2: ens18: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether bc:24:11:53:e7:be brd ff:ff:ff:ff:ff:ff
altname enp0s18
altname enxbc241153e7be
inet 192.168.0.229/24 brd 192.168.0.255 scope global ens18
valid_lft forever preferred_lft forever
inet6 2a01:e0a:9c8:2080:be24:11ff:fe53:e7be/64 scope global dynamic mngtmpaddr proto kernel_ra
valid_lft 86362sec preferred_lft 86362sec
inet6 fe80::be24:11ff:fe53:e7be/64 scope link proto kernel_ll
valid_lft forever preferred_lft forever
Poste linux
Générer une paire de clé curve25519-sha256 (ECDH avec Curve25519 et SHA2) pour une liaison SSH avec le serveur.
1
2
ssh-keygen -t ed25519 -o -a 100 -f ~/.ssh/vm-calibre
chmod 600 ~/.ssh/vm-calibre
Envoyer le clé publique sur la VM
1
ssh-copy-id -i ~/.ssh/vm-calibre cal@192.168.0.229
VM - vm-calibre
Se connecter sur la VM via ssh
1
ssh cal@192.168.0.229
Passer en mode su
1
su -
Droits sudo et ssh
1
2
3
4
5
6
7
8
# sudo
apt install sudo
# droits root
echo "cal ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers.d/10-userx
# mode console
echo "PasswordAuthentication no" > /etc/ssh/sshd_config.d/cal.conf
# Redémarrer le serveur ssh
systemctl restart sshd
Se connecter à la VM depuis le poste linux avec la clé SSH
1
ssh -i ~/.ssh/vm-calibre cal@192.168.0.229
/etc/motd
1
2
3
4
5
6
7
8
9
10
11
12
13
___
| _ \ _ _ ___ __ __ _ __ ___ __ __
| _/| '_|/ _ \\ \ /| ' \ / _ \\ \ /
|_| |_| \___//_\_\|_|_|_|\___//_\_\
_ _ _
__ __ _ __ ___ __ __ _ | |(_)| |__ _ _ ___
\ V /| ' \|___|/ _|/ _` || || || '_ \| '_|/ -_)
\_/ |_|_|_| \__|\__,_||_||_||_.__/|_| \___|
_ ___ ___ _ __ ___ __ ___ ___ ___
/ |/ _ \|_ ) / | / / ( _ ) / \ |_ )|_ )/ _ \
| |\_, / / / _ | |/ _ \/ _ \ _| () |_ / / / / \_, /
|_| /_/ /___|(_)|_|\___/\___/(_)\__/(_)/___|/___| /_/
Client NFS
Installer nfs client
1
sudo apt -y install nfs-common
créer le dossier qui va accueillir le point de montage.
1
2
sudo mkdir -p /srv/media/BiblioCalibre
sudo chown 1000:1000 -R /srv/media/BiblioCalibre
Pour monter automatiquement les actions NFS, une entrée doit être faite dans /etc/fstab
1
sudo nano /etc/fstab
Ajouter en fin de fichier, la ligne suivante:
1
192.168.0.205:/sharenfs/multimedia/eBook/BiblioCalibre /srv/media/BiblioCalibre nfs4 rw,_netdev 0 0
Recharger systemd et le montage NFS
1
2
sudo systemctl daemon-reload
sudo mount -a
Calibre Web
- 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.
Prérequis
Les outils
1
sudo apt install git sqlite3 imagemagick python3-setuptools python3-pip python3-venv
Installation via pip
Créer un environnement virtuel:
Il est essentiel d’isoler votre installation de Calibre-Web pour éviter les conflits de dépendance.
Créer un environnement virtuel en exécutant:
1
python3 -m venv calibre-web-env
Activer l’environnement virtuel:
1
source calibre-web-env/bin/activate # prompt: (calibre-web-env) cal@calibre:~$
Installer Calibre-Web: Utilisez pip pour installer l’application:
1
pip install calibreweb
Démarrer Calibre-Web: Après l’installation, vous pouvez démarrer l’application avec:
1
cps
Service systemd calibre-web
Utilisation fichier systemd pour le lancement automatique
1
sudo nano /etc/systemd/system/calibre-web.service
Contenu du fichier
1
2
3
4
5
6
7
8
9
10
11
[Unit]
Description=Service calibre-web
After=network.target
[Service]
Type=simple
User=cal
ExecStart=/home/cal/calibre-web-env/bin/cps
[Install]
WantedBy=multi-user.target
ATTENTION! , User est l’utilisateur connecté ($USER)
Lancer le service calibre-web :
1
2
sudo systemctl daemon-reload
sudo systemctl start calibre-web
Vérifier:
1
sudo systemctl status calibre-web
1
2
3
4
5
6
7
8
9
10
11
12
● calibre-web.service - Service calibre-web
Loaded: loaded (/etc/systemd/system/calibre-web.service; disabled; preset: enabled)
Active: active (running) since Sat 2026-02-14 16:41:04 CET; 10s ago
Invocation: ac76a88f68154d42800c6c0c6c008862
Main PID: 4030 (cps)
Tasks: 5 (limit: 1093)
Memory: 90.9M (peak: 92.7M)
CPU: 1.499s
CGroup: /system.slice/calibre-web.service
└─4030 /home/cal/calibre-web-env/bin/python3 /home/cal/calibre-web-env/bin/cps
févr. 14 16:41:04 calibre systemd[1]: Started calibre-web.service - Service calibre-web.
Activation
1
sudo systemctl enable calibre-web
Calibre-web est accesible en local
1
http://localhost:8083
cwwk - proxy nginx
Configuration nginx pour l’écoute calibre-web ip 192.168.0.218 port 8083
Le fichier de configuration nginx /etc/nginx/conf.d/calibre.rnmkcy.eu.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
server {
# ipv4 listening port/protocol
listen 443 ssl;
# ipv6 listening port/protocol
listen [::]:443 ssl;
server_name calibre.rnmkcy.eu;
include /etc/nginx/conf.d/ssl-modern.inc;
# include snippets/authelia-location.conf; # Authelia auth endpoint
location / { # Reduced to "/"
proxy_pass http://192.168.0.229:8083;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Scheme $scheme;
# include snippets/authelia-authrequest.conf; # Protect this endpoint
}
}
Vérifier sudo nginx -t
Redémarrer nginx
1
sudo systemctl reload nginx
Paramétrage Calibre Web
accès à la configuration https://calibre.rnmkcy.eu/config
Par défaut: Nom d’utilisateur: admin , Mot de passe: admin123
puis cliquer sur Connexion
Saisir dans Location… /srv/media/BiblioCalibre et cliquer sur Save
Paramétrage , cliquer sur Admin (pas sur admin avec le a minuscule)
- Location database: /srv/media/BiblioCalibre
- Recliquer sur Admin
- Cliquer sur Add new user
- Username : calibre
- Email address : calibre@cinay.eu
- Password : xxxxxx
- Language : français
- Show books with language : Show all
- Admin user
Cliquer sur Save
Se reconnecter avec l’administrateur calibre
Cliquer sur Administration et sélectionner admin , cocher la case “Supprimer l’utilisateur”
Valider Supprimer
Il reste l’utilisateur/administrateur calibre
Trucs et astuces
Paramètres
Se connecter en administrateur –> Administration –> Editer la configuration utilisateur





