Calibre / start.sh
madiba-elate's picture
Update start.sh
86e8308 verified
Raw
History Blame Contribute Delete
1.15 kB
#!/bin/bash
set -e
LIBRARY_DIR=/data/calibre-library
JSON_FILE=/defaults/library.json
# Création du dossier et lien symbolique
mkdir -p "$LIBRARY_DIR"
ln -sfn "$LIBRARY_DIR" /books
# Téléchargement et importation des ebooks (exécuté en root)
if [ -f "$JSON_FILE" ]; then
python3 -c "
import json, os, subprocess
with open('$JSON_FILE') as f:
data = json.load(f)
for title, url in data.items():
dest = '/books/' + title + '.epub'
if os.path.exists(dest):
print(f'{title} déjà présent, ignoré.')
continue
print(f'Téléchargement de {title}…')
ret = subprocess.run(['wget', '--tries=3', '--retry-connrefused', '-c', '-O', dest, url]).returncode
if ret == 0:
print(f'Importation dans Calibre…')
subprocess.run(['calibredb', 'add', '--library-path=/books', dest])
else:
print(f'Échec du téléchargement de {title}')
"
else
echo "library.json introuvable, aucun ebook téléchargé automatiquement."
fi
# === CORRECTION DES PERMISSIONS ===
# L'utilisateur abc (UID 911, GID 911) doit pouvoir écrire dans la bibliothèque.
chown -R 911:911 "$LIBRARY_DIR"