Installation serveur · 12 min read · Oct 11, 2025
Comment installer le serveur Calibre Ebook sur Ubuntu 22.04

Calibre est un gestionnaire de livres électroniques gratuit et open-source. Il fonctionne comme une application de bureau multiplateforme avec un composant serveur. Le composant de bureau peut gérer votre bibliothèque d’ebooks sur un seul appareil. Et le composant serveur vous permet de :
- Accéder à vos livres de n’importe où dans le monde.
- Transférer facilement vos livres vers des appareils mobiles.
- Partager des livres avec vos amis et votre famille.
- Lire des ebooks directement sur le web.
Dans ce tutoriel, vous apprendrez à installer le serveur Calibre sur une machine Ubuntu 22.04.
Prérequis
- Un serveur fonctionnant sous Ubuntu 22.04.
- Un utilisateur non-root avec des privilèges sudo.
- Le pare-feu Uncomplicated Firewall (UFW) est activé et en cours d’exécution.
- Un nom de domaine complètement qualifié pointant vers le serveur. Pour notre tutoriel, nous utiliserons le domaine
calibre.example.com. - Tout est à jour.
$ sudo apt update && sudo apt upgrade
Étape 1 - Configurer le pare-feu
La première étape avant d’installer des paquets est de configurer le pare-feu pour autoriser les connexions HTTP et HTTPS.
Vérifiez l’état du pare-feu.
$ sudo ufw statusVous devriez voir quelque chose comme ce qui suit.
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)Autorisez les ports HTTP et HTTPS.
$ sudo ufw allow http
$ sudo ufw allow httpsVérifiez à nouveau l’état pour confirmer.
$ sudo ufw status
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
80/tcp ALLOW Anywhere
443/tcp ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
80/tcp (v6) ALLOW Anywhere (v6)
443/tcp (v6) ALLOW Anywhere (v6)Étape 2 - Télécharger et installer le serveur Calibre
Ubuntu 22.04 est livré avec Calibre, mais il est préférable de l’installer directement pour obtenir la dernière version.
La première étape consiste à installer quelques dépendances.
$ sudo apt install libopengl0 libxkbcommon-x11-0 libegl1 libfontconfig libgl1-mesa-glxTéléchargez l’installateur du serveur Calibre.
$ wget https://download.calibre-ebook.com/linux-installer.shRendez le script d’installation exécutable.
$ chmod +x ./linux-installer.shExécutez l’installateur.
$ sudo ./linux-installer.shVous recevrez quelques avertissements car l’installateur s’attend à un bureau et non à un serveur. Il est sûr d’ignorer les avertissements.
Étape 3 - Créer une bibliothèque Calibre et ajouter votre premier livre
L’étape suivante consiste à configurer une bibliothèque Calibre et à y ajouter quelques livres. Pour notre tutoriel, nous allons télécharger le livre Les Aventures de Sherlock Holmes d’Arthur Conan Doyle depuis Project Gutenberg.
$ wget http://www.gutenberg.org/ebooks/1661.kindle.noimages -O adventuresofsherlockholmes.mobiPrenez toujours la version Kindle du livre sur le site. Ici, nous renommons la version Kindle en filename.mobi car le format Mobi est pris en charge nativement par Kindle, c’est pourquoi il est ainsi nommé sur le site. Il offre également de meilleures options de formatage que la version Epub.
Créez un répertoire pour la bibliothèque Calibre.
$ mkdir calibre-libraryAjoutez le livre que vous venez de télécharger à la bibliothèque en utilisant la commande calibredb. Nous avons spécifié l’emplacement de la bibliothèque dans la commande elle-même.
$ calibredb add adventuresofsherlockholmes.mobi --with-library calibre-library/
Added book ids: 1Vous pouvez ajouter plusieurs livres à la fois de la manière suivante.
$ calibredb add *.mobi --with-library calibre-library/Étape 4 - Démarrer le serveur Calibre
Maintenant que nous avons nos livres prêts, il est temps de démarrer le serveur Calibre.
$ calibre-server calibre-libraryLa commande calibre-server prend l’emplacement de la bibliothèque comme argument. Vous devriez voir une sortie similaire.
calibre server listening on 0.0.0.0:8080
OPDS feeds advertised via BonJour at: your_server_ip port: 8080Cela expose le serveur Calibre au port 8080. Pour voir le serveur, vous devez d’abord ouvrir le port. Exécutez la commande suivante pour ouvrir le port 8080.
$ sudo ufw allow 8080Ouvrez l’URL http:// dans votre navigateur et vous obtiendrez l’écran suivant. L’écran apparaîtra en sombre ou en clair selon le choix du thème de votre système d’exploitation.

Cliquez sur le lien calibre-library pour voir le livre que vous avez ajouté à l’étape précédente.

Fermez le serveur en appuyant sur les touches Ctrl + C dans votre terminal.
Vous pouvez utiliser un port différent pour exposer le serveur Calibre. Pour ce faire, utilisez la commande suivante. Vous devrez vous assurer que le port est ouvert dans le pare-feu.
$ calibre-server calibre-library --port 7654Étape 5 - Créer un fichier de service systemd
Pour rendre le processus du serveur Calibre persistant et survivre aux redémarrages, vous devez créer un fichier de service systemd pour cela.
Créez un fichier appelé calibre-server.service dans le répertoire /etc/systemd/system/ et ouvrez-le pour l’édition.
$ sudo nano /etc/systemd/system/calibre-server.serviceCollez le code suivant dedans.
[Unit]
Description=Calibre Server
After=network.target
[Service]
Type=simple
User=
Group=
ExecStart=/opt/calibre/calibre-server /home//calibre-library --enable-local-write
[Install]
WantedBy=multi-user.target Le drapeau --enable-local-write donne au serveur un accès en écriture pour ajouter de nouveaux livres à la bibliothèque. Cela est dû au fait que vous ne pouvez pas ajouter de livres en utilisant la commande calibredb pendant que le serveur est en cours d’exécution.
Remplacez par votre nom d’utilisateur du système Linux dans le code ci-dessus. Enregistrez et fermez le fichier en appuyant sur Ctrl+W et en entrant Y lorsque vous y êtes invité.
Rechargez le démon de service pour activer le fichier de service.
$ sudo systemctl daemon-reloadActivez et démarrez le service Calibre.
$ sudo systemctl enable calibre-server
$ sudo systemctl start calibre-serverVérifiez l’état du service.
$ sudo systemctl status calibre-server
? calibre-server.service - Calibre Server
Loaded: loaded (/etc/systemd/system/calibre-server.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2022-07-25 07:23:42 UTC; 15s ago
Main PID: 1877 (BonJour)
Tasks: 13 (limit: 2241)
Memory: 53.3M
CPU: 762ms
CGroup: /system.slice/calibre-server.service
??1877 /opt/calibre/bin/calibre-server /home//calibre-library --enable-local-write
Jul 25 07:23:42 calibre systemd[1]: Started Calibre Server.
Jul 25 07:23:42 calibre calibre-server[1877]: QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-'
Jul 25 07:23:42 calibre calibre-server[1877]: calibre server listening on 0.0.0.0:8080
Jul 25 07:23:43 calibre calibre-server[1877]: OPDS feeds advertised via BonJour at: 69.28.84.201 port: 8080 Étape 6 - Activer l’authentification des utilisateurs
Vous pouvez ajouter une authentification des utilisateurs à Calibre pour protéger votre bibliothèque contre l’accès de quiconque. Tout d’abord, arrêtez le serveur Calibre.
$ sudo systemctl stop calibre-serverCalibre utilise une base de données SQLite pour stocker les identifiants des utilisateurs. Démarrez le script de gestion des utilisateurs de Calibre pour ajouter un utilisateur.
$ sudo calibre-server --manage-usersVous aurez quatre options et on vous demandera votre choix. Appuyez sur 1 pour ajouter un nouvel utilisateur, et fournissez le nom d’utilisateur et le mot de passe pour terminer l’ajout d’un nouvel utilisateur.
1) Add a new user
2) Edit an existing user
3) Remove a user
4) Cancel
What do you want to do? [1-4]: (Press 1)
Enter the username: howtoforge
Enter the new password for howtoforge:
Re-enter the new password for howtoforge, to verify:
User howtoforge added successfully!Ensuite, vous devez modifier le fichier de service pour vérifier l’authentification. Ouvrez le fichier pour l’édition.
$ sudo nano /etc/systemd/system/calibre-server.serviceAjoutez le drapeau --enable-auth à la fin de la ligne commençant par ExecStart pour activer l’authentification des utilisateurs.
...
ExecStart=/opt/calibre/calibre-server "/home//calibre-library" --userdb "/home//.config/calibre/server-users.sqlite" --enable-local-write --enable-auth
... Enregistrez et fermez le fichier en appuyant sur Ctrl+W et en entrant Y lorsque vous y êtes invité.
Rechargez le démon de service et démarrez le service.
$ sudo systemctl daemon-reload
$ sudo systemctl start calibre-serverSi vous ouvrez l’URL de la bibliothèque, vous serez invité à entrer votre nom d’utilisateur et votre mot de passe avant de vous permettre d’y accéder. Entrez vos identifiants et appuyez sur le bouton Se connecter pour accéder à la bibliothèque.

Étape 7 - Ajouter automatiquement des livres à la bibliothèque
Calibre vous permet d’ajouter des livres automatiquement à la bibliothèque à l’aide d’un job Cron. Il le fait en surveillant un répertoire à intervalles réguliers pour de nouveaux livres, puis en les ajoutant à la bibliothèque. C’est le moyen le plus rapide d’ajouter des livres où vous pouvez simplement les télécharger dans le répertoire et ils apparaîtront bientôt dans la bibliothèque sans intervention manuelle.
La première étape consiste à créer un répertoire de surveillance.
$ mkdir ~/calibre-watch
$ cd ~/calibre-watchTéléchargez le livre Guerre et Paix de Léon Tolstoï dans ce répertoire depuis Project Gutenberg.
$ wget https://www.gutenberg.org/ebooks/2600.kindle.images -O warandpeace.mobiSi vous remarquez, cette fois nous téléchargeons une version qui a des images. Cela varie d’un livre à l’autre sur Project Gutenberg. Certains ont des versions avec images disponibles tandis que d’autres n’en ont pas. Calibre fonctionne bien avec les deux formats.
Ouvrez l’éditeur Crontab.
$ crontab -eSi c’est la première fois que vous utilisez le Crontab, on vous demandera de choisir un éditeur.
no crontab for - using an empty one
Select an editor. To change later, run 'select-editor'.
1. /bin/nano <---- easiest
2. /usr/bin/vim.basic
3. /usr/bin/vim.tiny
4. /bin/ed
Choose 1-4 [1]: Entrez 1 pour choisir l’éditeur Nano car c’est le plus facile à utiliser.
Ajoutez la commande suivante en bas du fichier.
*/5 * * * * calibredb add /home//calibre-watch/ -r --with-library http://localhost:8080#calibre-library --username mycalibreuser --password StrongPassword! && rm -r /home//calibre-watch/* Ce script ajoutera tous les fichiers dans le répertoire /home/ à la bibliothèque calibre et supprimera tous les fichiers originaux car ils ne sont plus nécessaires. Le job ci-dessus s’exécutera toutes les 5 minutes. Remplacez par votre nom d’utilisateur du système Linux et ajoutez vos identifiants Calibre aux endroits appropriés.
Enregistrez et fermez le fichier en appuyant sur Ctrl+W et en entrant Y lorsque vous y êtes invité. Attendez quelques minutes et rechargez le site du serveur calibre pour voir le livre que vous venez d’ajouter apparaître dans la bibliothèque.
Étape 8 - Installer Nginx
Ubuntu 22.04 est livré avec une version plus ancienne de Nginx. Pour installer la dernière version, vous devez télécharger le dépôt officiel de Nginx.
Importez la clé de signature de Nginx.
$ curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \
| sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/nullAjoutez le dépôt pour la version stable de Nginx.
$ echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg arch=amd64] \
http://nginx.org/packages/ubuntu `lsb_release -cs` nginx" \
| sudo tee /etc/apt/sources.list.d/nginx.listMettez à jour les dépôts du système.
$ sudo apt updateInstallez Nginx.
$ sudo apt install nginxVérifiez l’installation.
$ nginx -v
nginx version: nginx/1.22.0Étape 9 - Installer SSL
En ce moment, Calibre est exposé sur un port HTTP via une adresse IP. Pour mieux le sécuriser, nous allons activer l’accès via un domaine dédié en utilisant un certificat SSL.
Nous devons installer Certbot pour générer le certificat SSL pour Calibre. Vous pouvez soit installer Certbot en utilisant le dépôt d’Ubuntu, soit obtenir la dernière version en utilisant l’outil Snapd. Nous allons utiliser la version Snapd.
Ubuntu 22.04 est livré avec Snapd installé par défaut. Exécutez les commandes suivantes pour vous assurer que votre version de Snapd est à jour.
$ sudo snap install coreInstallez Certbot.
$ sudo snap install --classic certbotUtilisez la commande suivante pour vous assurer que la commande Certbot peut être exécutée en créant un lien symbolique vers le répertoire /usr/bin.
$ sudo ln -s /snap/bin/certbot /usr/bin/certbotExécutez la commande suivante pour générer un certificat SSL.
$ sudo certbot certonly --standalone --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [email protected] -d calibre.example.comLa commande ci-dessus téléchargera un certificat dans le répertoire /etc/letsencrypt/live/calibre.example.com sur votre serveur.
Générez un certificat de groupe Diffie-Hellman.
$ sudo openssl dhparam -dsaparam -out /etc/ssl/certs/dhparam.pem 4096Ouvrez le fichier /etc/letsencrypt/renewal/calibre.example.com.conf pour l’édition.
$ sudo nano /etc/letsencrypt/renewal/calibre.example.com.confCollez le code suivant en bas.
pre_hook = systemctl stop nginx
post_hook = systemctl start nginxEnregistrez le fichier en appuyant sur Ctrl + X et en entrant Y lorsque vous y êtes invité.
Nous avons généré le certificat SSL en utilisant l’option autonome de Certbot. Il exécute son serveur web pour créer le certificat, ce qui signifie que Nginx doit être arrêté pendant le renouvellement. Les commandes pre_hook et post_hook s’exécutent avant et après le renouvellement pour arrêter et redémarrer automatiquement le serveur Nginx, nécessitant ainsi aucune intervention manuelle.
Pour vérifier si le renouvellement SSL fonctionne correctement, effectuez un essai à sec du processus.
$ sudo certbot renew --dry-runSi vous ne voyez aucune erreur, vous êtes prêt. Votre certificat se renouvellera automatiquement.
Étape 10 - Configurer Nginx
Ouvrez le fichier /etc/nginx/nginx.conf pour l’édition.
$ sudo nano /etc/nginx/nginx.confAjoutez la ligne suivante avant la ligne include /etc/nginx/conf.d/*.conf;.
server_names_hash_bucket_size 64;Enregistrez le fichier en appuyant sur Ctrl + X et en entrant Y lorsque vous y êtes invité.
Créez et ouvrez le fichier /etc/nginx/conf.d/calibre.conf pour l’édition.
$ sudo nano /etc/nginx/conf.d/calibre.confCollez le code suivant dedans. Remplacez calibre.example.com par votre nom de domaine. Nous avons défini la valeur de la variable client_max_body_size à 50 Mo. Vous pouvez la changer selon vos besoins.
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
http2_push_preload on; # Enable HTTP/2 Server Push
# Enable TLSv1.3's 0-RTT. Use $ssl_early_data when reverse proxying to
# prevent replay attacks.
#
# @see: https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_early_data
ssl_early_data on;
server_name calibre.example.com;
client_max_body_size 50M;
access_log /var/log/nginx/calibre.access.log;
error_log /var/log/nginx/calibre.error.log;
ssl_certificate /etc/letsencrypt/live/calibre.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/calibre.example.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/calibre.example.com/chain.pem;
ssl_session_timeout 5m;
ssl_session_cache shared:MozSSL:10m;
ssl_session_tickets off;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
ssl_ecdh_curve X25519:prime256v1:secp384r1:secp521r1;
ssl_stapling on;
ssl_stapling_verify on;
ssl_dhparam /etc/ssl/certs/dhparam.pem;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
# enforce HTTPS
server {
listen 80;
listen [::]:80;
server_name calibre.example.com;
return 301 https://$host$request_uri;
}Enregistrez le fichier en appuyant sur Ctrl + X et en entrant Y lorsque vous y êtes invité.
Vérifiez votre configuration Nginx.
$ sudo nginx -tRedémarrez le serveur Nginx pour activer les fichiers de configuration.
$ sudo systemctl restart nginxVisitez https://calibre.example.com dans votre navigateur pour accéder à Calibre. Vous pouvez voir que le livre ajouté via Cron est également disponible dans la bibliothèque.

Conclusion
Cela conclut notre tutoriel sur l’installation du serveur Calibre sur une machine Ubuntu 22.04 utilisant Nginx. Nous avons également configuré Calibre pour activer l’authentification de base et pour ajouter le support pour l’ajout automatique de nouveaux livres. Le serveur Calibre est livré avec de nombreux outils en ligne de commande. Pour en savoir plus à leur sujet, vous pouvez visiter la documentation de Calibre. Si vous avez des questions, postez-les dans les commentaires ci-dessous.
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.