Freebox Vms : Installer CALIBREweb + PLEXmedia server

Clement Mondary
Clement MONDARY
Published in
8 min readMar 4, 2022

Le tutorial suivant est composé des éléments suivant :

1 = Installer un serveur Debian grâce aux machines virtuelles (VMs) de la freebox
2 = Installer Calibre-web sur votre serveur
3 = Installer Calibre Converter (pour convertir vos ebooks en différents formats)
4 = Lancer calibre-web automatiquement au démarrage de votre serveur (en cas de redémarrage par exemple)

Installer La VM

1/ Assurez vous d’être connecté à votre réseau Free (wifi ou ethernet)

2/ Dans votre navigateur : http://mafreebox.freebox.fr

3/ Assurez-vous d’avoir au moins la version 4.1 sur votre Freebox Delta (inscrit sur le logo en haut)

CalibreWEB1
CalibreWEB

4/ Ensuite rendez-vous dans VMs

5/ Cliquez sur Ajouter une VM

CalibreWEB2
CalibreWEB2

6/ Choisissez le nom pour votre VM (ex: Debian10)
le nombre de cpu et la taille de la ram (ex: 2 cpu, 600mo de ram)
et Choisir un système d’exploitation préinstallé parmi une liste

7/ Choisissez Debian 10 dans Sytème préinstallé
Laissez freebox comme nom
et entrez un mot de passe (choisissez qqch de simple, il vous sera demandé régulièrement , ex : free)

8/ Le téléchargement commence …

9/ Quand celui-ci sera terminé, cliquez sur Terminer

10/ Votre VM est bien installée, cliquez sur Allumer, le voyant passe au vert

CalibreWEB3
CalibreWEB3

11/ Puis sur Console

12/ Patientez …

13/ Puis entrer le login : freebox ensuite validez
puis votre mot de passe (choisi en étape 7)

14/ C’est bon, vous avez maintenant le contrôle

CalibreWEB4
CalibreWEB4

Installer CALIBRE-WEB

1/ Lancer la commande suivante pour mettre à jour la liste de vos paquets :

sudo apt-get update

2/ Installer git en saisissant :

sudo apt-get install git

Puis python-pip en saisissant :

sudo apt-get install python-pip

3/ Télécharger calibre-web :

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

4/ Ouvrir le dossier calibre-web:

cd calibre-web

5/ Installer toutes les dépendances de calibre-wxeb :

pip install --target vendor -r requirements.txt

OPTIONNEL :

Installer les dépendances nécessaires pour la synchronisation Google Drive :

pip install --target vendor -r optional-requirements.txt.

Si vous obtenez un message d’erreur, veuillez lancer une par une les commandes suivantes :

sudo apt-get install python-setuptools
sudo pip install -U setuptools
apt-get install python3-setuptools python3-pip
sudo pip install google-api-python-client==1.7.11
sudo pip install gevent==1.2.1
sudo pip install greenlet==0.4.12
sudo pip install greenlet>=0.4.14
sudo pip instal lhttplib2==0.9.2
sudo pip install oauth2client==4.0.0
sudo pip install uritemplate==3.0.0
sudo pip install pyasn1-modules==0.0.8
sudo pip install pyasn1-modules
sudo pip install pyasn1==0.1.9
sudo pip install PyDrive==1.3.1
sudo pip install PyYAML==3.12
sudo pip install rsa==3.4.2
sudo pip install six==1.10.0

PENSER A MONTER VORTE DOSSIER FREEBOX

1/ Lancer la commande suivante pour installer les applications permettant de monter le disque freebox comme un dossier local :

sudo apt-get update & sudo apt-get upgrade && sudo apt-get install cifs-utils

2/ puis créer un dossier freebox servant a réceptionner le montage de votre dossier freebox :

sudo mkdir /media/freebox

3/ Monter le fameux dossier freebox sur le dossier local /media/freebox :

sudo mount.cifs //192.168.0.254/Freebox/ /media/freebox -o _netdev,rw,users,iocharset=utf8,uid=1000,sec=none,file_mode=0777,dir_mode=0777,vers=1.0 0 0

4/ Monter le dossier :

sudo mount -a

5/ Pour vérifier que le dossier est bien monté, il suffit de se rendre dans le dossier local freebox et de vérifier que l’on y retrouve bien le contenu de la freebox (ici cd permet d’ouvrir un dossier , && permet de lancer une seconde commande, ls permet de lister le contenu du dossier) :

cd /media/freebox && ls

6/ ensuite modifier le fichier fstab pour que le dossier soit monté à chaque démarrage :

sudo nano /etc/fstab

Ajouter la ligne suivante en bas du fichier :

//192.168.0.254/Freebox/ /media/freebox cifs _netdev,rw,users,iocharset=utf8,uid=1000,sec=none,file_mode=0777,dir_mode=0777,vers=1.0 0 0

Pour valider : CRTL + X, puis Y, puis ENTRER

7/ Modifier le fichier contrab :

sudo crontab -e

8/ Choisir nano (En tapant 5 normalement …), mettre tout en bas

@reboot sleep 30; mount -a

Pour valider : CRTL + X, puis Y, puis ENTRER

8/ Voila tout est configuré !!
Pour lancer le server calibre web, executer la commande :

python cps.py

(ou

nohup python cps.py

recommandé si vous voulez quitter la fenêtre du terminal)

9/ Votre server calibre est accessible depuis votre adresse IP local :
http://localhost:8083
ou http://localhost:8083/opds pour votre serveur opds
Vu que votre serveur est hébergé sur la VM , remplacé l'IP de la VM indiqué sur mafreebox.free.fr comme ceci :
http://192.168.0.12:8083

ou http://192.168.0.12:8083/opds pour votre serveur opds
(le port du serveur pourra être changer dans l’interface d’administration de Calibre-web)

10/ Votre navigateur s’ouvre donc sur un écran de configuration. Le premier permet de choisir l’emplacement de votre bibliothèque. L’idée est ici de pointer sur le dossier eBooks de notre Freebox.
Veuillez donc saisir dans “Location of Calibre Database” votre dossier Calibre :
/media/freebox/eBooks
Il faut bien évidemment avoir déposer toute sa librairie Calibre library (metadata.db + tous les dossiers d’auteurs) sur votre freebox. Je les ai donc mis pour ma part dans une eBooks en racine de ma freebox.

11/ Valider, ce qui vous amène à la page de connexion.
Pour votre première connexion, il faut saisir :
- Username : admin
- Password: admin123
(vous pourrez créer des utilisateurs avec login et mot de passe personnalisés dans l’interface d’administration de Calibre-web)

Installer CALIBRE CONVERTER

Exécuter la commande suivante :

sudo apt install calibre

Ensuite, il suffit de lancer calibre en tache de fond, grâce à la commande :

apt install calibre

Créer un script pour lancer calibre-web au démarrage :

Nous allons procédé en 2 temps, même si cela n’est pas forcement nécessaire, je créé toujours un script, puis je créer un service de démarrage pour ce script

Pour créer le script on procède de la manière suivante :

1/ Executer la commande :

nano /home/freebox/calibre-web.sh

2/ Ecrire votre script comme suit :

#!/bin/sh
#ouvrir le dossier
cd calibre-web
#executer calibre-web
python cps.py

3/ Pour valider, faire CTRL+X, puis Y, puis Entrer

4/ Enfin pour rendre le script exécutable, veuillez saisir la commande suivante :

chmod 700 calibre-web.sh

Sur les nouvelles versions de Linux, le system de lancement au démarrage a changé et passe maintenant par le “systemd”

Pour créer un service de lancement au démarrage on procède donc comme suit :

Exécuter la commande :

sudo nano /etc/systemd/sytem/calibre-server.service

a) Nano est un outil d’édition de fichier
b) calibre-server.service est le script que vous allez créer pour lancer automatiquement votre serveur au démarrage
c) /etc/systemd/system/ est le repertoire approprié pour le lancement de script au démarrage pour les version de Debian > version 10

Ecrire :

[Unit]
Description=calibre server
After=network.target
[Service]
Type=simple
ExecStart=/home/freebox/calibre-web/cps.py
[Install]
WantedBy=multi-user.target

OU

[Unit]
Description=calibre server
After=network.target
[Service]
Type=simple
ExecStart=/home/freebox/calibre-web.sh
[Install]
WantedBy=multi-user.target

Puis Control +X, pour sauvegarder et quitter

1/ Y, pour confirmer

2/ Entrer

3/ Ensuite il faut déclarer le lancement du service au démarrage

4/ Exécuter la commande

sudo systemctl enable calibre-server

ou plutôt

sudo systemctl enable /etc/system/calibre-server.service

Vous pouvez redémarrer votre serveur

How to install RCLONE

1/ Installer Rclone

curl https://rclone.org/install.sh | sudo bash

2/ Installer Fuse

sudo apt-get install fuse

3/ Lancer ensuite la commande suivante :

wget https://downloads.rclone.org/v1.51.0/rclone-v1.51.0-linux-arm64.deb && sudo dpkg -i rclone-v1.51.0-linux-arm64.deb

4/ Pour configurer Rclone :

rclone config

5/ Puis entrer dans l’ordre les choix suivants :

n) New remote
name> remote
Storage> 9 (ici 9 pour Dropbox, mais sélectionnez votre cloud)
client_id> (laissez vide, ENTRER)
client_secret> (laissez vide, ENTRER)
Edit advanced config> n
Remote config> n

1/ Puis sur votre mac, lancer le terminal :
Faite CMD+ESPACE, puis taper TERMINAL, puis ENTRER

2/ Saisissez la commande suivante :

rclone authorize "dropbox"
calibreWEB5
calibreWEB5
  1. Cela lance votre navigateur :
  2. Cliquez sur “Autoriser”
CalibreWEB6
CalibreWEB6
  1. Cliquez sur “Autoriser”
  2. Retourner sur le terminal mac, et copiez les lignes comprises entre :
    --->
    SECRET_TOKEN
    <---End paste
  3. Collez ensuite le code que vous veniez de copier dans le terminal de votre VM
  4. Pour vérifier si la connexion avec Dropbox a bien été faite, commençonos par lister les dossiers / fichiers présents en racine de votre Dropbox :
rclone lsd dropbox:

Vous devez ensuite créer un dossier sur votre dropbox, qui sera synchronisé avec votre freebox, par exemple : “eBooks_rclone_backup”

Pour tester ce qui va être copier et supprimé :

rclone sync /media/freebox/eBooks dropbox:eBOOKS/Calibre_rclone_backup --dry-run

Lancer la synchronisation avec la visualisation de l’avancement :

rclone sync /media/freebox/eBooks dropbox:eBOOKS/Calibre_rclone_backup -P
CalibreWEB7
CalibreWEB7

Attention la synchronisation est uniquement montante
Les fichiers de la dropbox ne redescende pas sur le server, c’est plutôt un backup vers le cloud

Le guide source : https://rclone.org/remote_setup/

Créer un script pour lancer rclone au démarrage :

Quelques commandes utiles :

Pour ouvrir un dossier :

cd ton_dossier

Pour revenir à un dossier parent :

cd ..

Pour lister le contenu d’un dossier :

ls

Pour supprimer un fichier :

rm ton_fichier

Pour supprimer un dossier :

rm -r ton_dossier

Pour annuler une commande en cours :
CTRL + Z

Pour executer un script sh :

./ton_script.sh

Pour executer un script en arrière plan (sans être bloqué):

./ton_script.sh &

Pour executer un programme py :

python ton_programme_python.py

Ouvrir les ports de votre FREEBOX

Penser à forwarder vos pour un accès à l’extérieur

Sources:

CALIBRE WEB :

PLEXMEDIASERVER :

Tuto: Installer Plex Media Server sur la Freebox Delta via VM DebianBonjour voici la procédure en imagesmedium.com

LANCER UN SCRIPT AU DEMARAGE DEBIAN >9 :

LANCER UN SCRIPT AU DEMARAGE DEBIAN < 9 :

Debian — Exécuter un script au démarrage de la machinePetit mémo pour exécuter un script au démarrage d’une machine sous DebianCréer un script “mon_script.sh” dans un…www.jbnet.fr

Installer Rclone :

https://medium.com/@tegola/backup-home-dir-with-rclone-6289d3372987

--

--

Clement Mondary
Clement MONDARY

Senior UX designer / Service designer — FREELANCE (Ergonome de formation)