Freebox Vms : Installer CALIBREweb + PLEXmedia server
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)
4/ Ensuite rendez-vous dans VMs
5/ Cliquez sur Ajouter une VM
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
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
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"
- Cela lance votre navigateur :
- Cliquez sur “Autoriser”
- Cliquez sur “Autoriser”
- Retourner sur le terminal mac, et copiez les lignes comprises entre :
--->
{ SECRET_TOKEN }
<---End paste - Collez ensuite le code que vous veniez de copier dans le terminal de votre VM
- 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
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 :
https://github.com/GBochicchio/calibre-web
PLEXMEDIASERVER :
LANCER UN SCRIPT AU DEMARAGE DEBIAN >9 :
https://manual.calibre-ebook.com/server.html
LANCER UN SCRIPT AU DEMARAGE DEBIAN < 9 :
Installer Rclone :
https://medium.com/@tegola/backup-home-dir-with-rclone-6289d3372987