⚡ Tech 16.06.2026 9 min

Installer Calibre-Web dans une VM Freebox avec une Debian récente

Ce tutoriel explique comment installer Calibre-Web dans une machine virtuelle Freebox, afin d’accéder à une bibliothèque Calibre depuis un navigateur, sans avoir besoin de laisser son PC principal allumé.

L’objectif final :

Bibliothèque Calibre stockée sur le disque Freebox
+
VM Debian hébergée par la Freebox
+
Calibre-Web accessible depuis le réseau local

Exemple d’adresse finale :

http://IP_DE_LA_VM:8083

1. Préparer la VM Freebox

Depuis Freebox OS, créer une VM Debian.

Dans l’exemple, la VM s’appelle :

Calibre

L’utilisateur Linux utilisé dans la VM sera nommé ici :

freebox

À adapter selon votre configuration.

Une fois la VM démarrée, ouvrir sa console depuis Freebox OS.


2. Identifier l’adresse IP de la VM

Dans la console de la VM, taper :

ip a

Chercher l’interface réseau principale, souvent nommée enp0s5.

Exemple :

inet 192.168.1.187/24 brd 192.168.1.255 scope global dynamic enp0s5

Dans cet exemple, l’adresse IP de la VM est :

192.168.1.187

Elle servira ensuite à accéder à Calibre-Web.


3. Installer SSH pour travailler confortablement

La console Freebox ne gère pas toujours bien le copier-coller. Il est donc beaucoup plus pratique d’activer SSH, puis de travailler depuis un terminal classique sur son PC.

Dans la VM :

sudo apt update
sudo apt install openssh-server
sudo systemctl enable --now ssh

Depuis le PC, ouvrir PowerShell, Windows Terminal, Terminal macOS ou équivalent :

ssh UTILISATEUR@IP_DE_LA_VM

Exemple :

ssh freebox@192.168.1.187

À partir de là, il devient possible de copier-coller les commandes normalement.


4. Vérifier les montages Freebox existants

Les VM Freebox peuvent déjà exposer automatiquement les disques de la Freebox dans /mnt.

Tester :

ls /mnt

On peut obtenir des dossiers du type :

Freebox
Freebox-1To
Volume-320Go-1
NO-NAME
FreeAgent-D

Tester ensuite :

ls /mnt/Freebox

ou :

ls /mnt/Freebox-1To

pour voir quel montage correspond au bon disque.

Vérifier les montages actifs :

df -h

Exemple de résultat :

//mafreebox.freebox.fr/Freebox      917G  467G  450G  51% /mnt/Freebox
//mafreebox.freebox.fr/Freebox-1To  932G  5.8M  932G   1% /mnt/Freebox-1To

Dans ce tutoriel, on utilisera :

/mnt/Freebox

comme disque cible.


5. Cas particulier : monter manuellement le disque Freebox

Cette étape n’est nécessaire que si les montages /mnt/Freebox, /mnt/Freebox-1To, etc. ne fonctionnent pas.

5.1 Trouver l’adresse IP de la Freebox

Dans la VM :

ip route

Chercher la ligne :

default via 192.168.1.254

Ici, l’IP de la Freebox est :

192.168.1.254

5.2 Lister les partages SMB

Installer smbclient :

sudo apt install smbclient

Lister les partages :

smbclient -L //192.168.1.254 -N

Exemple de résultat :

Sharename        Type
---------        ----
Freebox          Disk
Freebox 1To      Disk
Volume 320Go 1   Disk
NO NAME          Disk

5.3 Monter le partage

Créer le point de montage :

sudo mkdir -p /media/freebox

Tester un montage en SMB3 avec identifiants :

sudo mount.cifs //192.168.1.254/Freebox /media/freebox -o username=UTILISATEUR,password=MOT_DE_PASSE,iocharset=utf8,uid=1000,gid=1000,file_mode=0777,dir_mode=0777,vers=3.0

Si la commande revient au prompt sans erreur, c’est que le montage fonctionne.

Vérifier :

ls /media/freebox
df -h

Éviter vers=1.0 : sur les configurations récentes, SMB1 est souvent désactivé. Préférer :

vers=3.0

ou, si besoin :

vers=2.1

5.4 Éviter de stocker le mot de passe en clair dans /etc/fstab

Créer un fichier d’identifiants :

sudo nano /root/.smbcredentials

Contenu :

username=UTILISATEUR
password=MOT_DE_PASSE

Sécuriser le fichier :

sudo chmod 600 /root/.smbcredentials

Modifier /etc/fstab :

sudo nano /etc/fstab

Ajouter :

//192.168.1.254/Freebox /media/freebox cifs credentials=/root/.smbcredentials,iocharset=utf8,uid=1000,gid=1000,file_mode=0777,dir_mode=0777,vers=3.0,_netdev 0 0

Tester :

sudo mount -a
df -h

Dans la majorité des cas, si /mnt/Freebox fonctionne déjà, il est préférable de l’utiliser plutôt que de créer un montage supplémentaire dans /media/freebox.


6. Créer le dossier de bibliothèque Calibre

Créer un dossier dédié sur le disque Freebox :

mkdir -p /mnt/Freebox/CalibreLibrary

Vérifier :

ls /mnt/Freebox

Le chemin retenu dans ce tutoriel sera :

/mnt/Freebox/CalibreLibrary

Important : ce dossier devra contenir le fichier Calibre :

metadata.db

Sans ce fichier, Calibre-Web ne pourra pas lire la bibliothèque.


7. Installer les dépendances système

Dans la VM :

sudo apt update
sudo apt install git python3 python3-full python3-pip python3-venv build-essential

Selon les cas, il peut être utile d’ajouter :

sudo apt install libldap2-dev libsasl2-dev

8. Télécharger Calibre-Web

Depuis le dossier personnel de l’utilisateur :

cd ~
git clone https://github.com/janeczku/calibre-web.git
cd calibre-web

9. Créer un environnement virtuel Python

Sur une Debian récente, installer directement des paquets avec pip3 install --user peut provoquer l’erreur :

externally-managed-environment

La bonne approche consiste à utiliser un environnement virtuel Python.

Dans le dossier calibre-web :

python3 -m venv venv

Activer l’environnement :

source venv/bin/activate

Le prompt doit changer et afficher quelque chose comme :

(venv) freebox@Calibre:~/calibre-web$

Installer les dépendances Python :

pip install -r requirements.txt

10. Lancer Calibre-Web manuellement pour tester

Toujours dans le dossier ~/calibre-web, avec le venv activé :

python cps.py

Si tout se passe bien :

Calibre-Web: server started on :8083

Depuis un navigateur sur le réseau local :

http://IP_DE_LA_VM:8083

Exemple :

http://192.168.1.187:8083

Identifiants par défaut Calibre-Web :

Utilisateur : admin
Mot de passe : admin123

À changer immédiatement après connexion.


11. Configurer le chemin de la bibliothèque Calibre

Lors de la première configuration, Calibre-Web demande le chemin vers la base Calibre.

Indiquer le dossier qui contient metadata.db.

Exemple :

/mnt/Freebox/CalibreLibrary

Si la bibliothèque n’a pas encore été copiée, il est possible que Calibre-Web affiche une erreur. Il faudra d’abord transférer la bibliothèque Calibre complète dans ce dossier.


12. Copier la bibliothèque Calibre vers la Freebox

Depuis le PC principal, il faut copier toute la bibliothèque Calibre vers le disque Freebox.

Le dossier cible peut être accessible depuis Windows via :

\\mafreebox.freebox.fr\

Puis copier la bibliothèque dans :

Freebox/CalibreLibrary

Recommandation importante

Avant toute copie :

Fermer Calibre
Arrêter le serveur Calibre éventuel
S’assurer que la bibliothèque n’est pas en cours de modification

La bibliothèque doit contenir :

metadata.db
Auteur 1/
Auteur 2/
Auteur 3/
...

Si la bibliothèque est dans OneDrive

Si les fichiers OneDrive sont en ligne uniquement, la copie peut être très lente.

Dans ce cas, faire d’abord :

Clic droit sur le dossier Calibre
→ Toujours conserver sur cet appareil

Attendre que OneDrive ait téléchargé toute la bibliothèque en local.

Copie robuste avec Robocopy

Depuis Windows, on peut utiliser :

robocopy "CHEMIN_SOURCE_CALIBRE" "\\mafreebox.freebox.fr\Freebox\CalibreLibrary" /E /Z /MT:8 /R:2 /W:5 /FFT /XJ /TEE /LOG:"%USERPROFILE%\Desktop\copie-calibre-freebox.log"

Exemple fictif :

robocopy "C:\Users\Utilisateur\OneDrive\Livres\Bibliotheque Calibre" "\\mafreebox.freebox.fr\Freebox\CalibreLibrary" /E /Z /MT:8 /R:2 /W:5 /FFT /XJ /TEE /LOG:"%USERPROFILE%\Desktop\copie-calibre-freebox.log"

Relancer la même commande une seconde fois permet de vérifier et compléter les fichiers manquants sans tout recopier.


13. Créer un service systemd pour démarrer Calibre-Web automatiquement

Le lancement manuel fonctionne, mais il faut maintenant que Calibre-Web démarre automatiquement avec la VM.

Créer un service :

sudo nano /etc/systemd/system/calibre-web.service

Coller :

[Unit]
Description=Calibre-Web
After=network-online.target remote-fs.target
Wants=network-online.target

[Service]
Type=simple
User=freebox
Group=freebox
WorkingDirectory=/home/freebox/calibre-web
ExecStart=/home/freebox/calibre-web/venv/bin/python /home/freebox/calibre-web/cps.py
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target

Adapter si l’utilisateur Linux n’est pas freebox.

Sauvegarder.

Recharger systemd :

sudo systemctl daemon-reload

Activer le service au démarrage :

sudo systemctl enable calibre-web

Démarrer le service :

sudo systemctl start calibre-web

Vérifier :

sudo systemctl status calibre-web

Le résultat attendu doit contenir :

Loaded: loaded (...) enabled
Active: active (running)

Sortir de l’écran de statut :

q

14. Commandes utiles

Voir l’état du service :

sudo systemctl status calibre-web

Arrêter Calibre-Web :

sudo systemctl stop calibre-web

Redémarrer Calibre-Web :

sudo systemctl restart calibre-web

Voir les logs :

journalctl -u calibre-web -n 80 --no-pager

Vérifier que le port 8083 écoute :

ss -lntp | grep 8083

Vérifier les montages Freebox :

df -h

Vérifier le contenu du disque Freebox :

ls /mnt/Freebox

15. Accéder à Calibre-Web

Depuis un navigateur sur le même réseau local :

http://IP_DE_LA_VM:8083

Exemple :

http://192.168.1.187:8083

16. Points de vigilance

Ne pas confondre IP de la Freebox et IP de la VM

L’IP de la Freebox ressemble souvent à :

192.168.1.254

L’IP de la VM ressemble à :

192.168.1.xxx

Pour accéder à Calibre-Web, il faut utiliser l’IP de la VM, pas celle de la Freebox.

Ne pas utiliser SMB1 si désactivé

Si le montage échoue avec :

SMB1 disabled

remplacer :

vers=1.0

par :

vers=3.0

ou :

vers=2.1

Ne pas écrire à plusieurs endroits dans la bibliothèque Calibre

Calibre-Web lit la bibliothèque Calibre, mais il faut éviter que plusieurs outils modifient la base metadata.db en même temps.

Règle prudente :

Calibre desktop = outil maître de gestion
Calibre-Web = consultation / accès distant

Changer le mot de passe admin

Les identifiants par défaut :

admin / admin123

doivent être changés immédiatement.

Éviter d’exposer Calibre-Web directement sur Internet

Pour un accès hors domicile, privilégier :

VPN Freebox
Tailscale
WireGuard
Cloudflare Tunnel avec authentification

Éviter une ouverture de port directe sans protection.


17. Résultat final attendu

À la fin :

La VM Debian démarre avec la Freebox
Le disque Freebox est monté dans /mnt/Freebox
Calibre-Web démarre automatiquement via systemd
La bibliothèque est accessible depuis http://IP_DE_LA_VM:8083
Le PC principal n’a plus besoin d’être allumé

Architecture obtenue :

PC principal
→ utilisé pour gérer la bibliothèque Calibre si besoin

Freebox
→ stocke les fichiers de la bibliothèque

VM Debian
→ héberge Calibre-Web

Téléphone / tablette / navigateur
→ accède à Calibre-Web via le réseau local

18. Version courte des commandes principales

Pour référence rapide :

sudo apt update
sudo apt install git python3 python3-full python3-pip python3-venv build-essential openssh-server smbclient
cd ~
git clone https://github.com/janeczku/calibre-web.git
cd calibre-web
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python cps.py

Créer le service :

sudo nano /etc/systemd/system/calibre-web.service

Contenu :

[Unit]
Description=Calibre-Web
After=network-online.target remote-fs.target
Wants=network-online.target

[Service]
Type=simple
User=freebox
Group=freebox
WorkingDirectory=/home/freebox/calibre-web
ExecStart=/home/freebox/calibre-web/venv/bin/python /home/freebox/calibre-web/cps.py
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target

Puis :

sudo systemctl daemon-reload
sudo systemctl enable calibre-web
sudo systemctl start calibre-web
sudo systemctl status calibre-web

Accès navigateur :

http://IP_DE_LA_VM:8083