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