You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
59 lines
2.9 KiB
Markdown
59 lines
2.9 KiB
Markdown
Bootleglibrary
|
|
====================
|
|
|
|
The digital bootleg library in its current configuration lives on a Calibre-web installation on a RPi4.
|
|
|
|
The path to the library (books and metadata.db) should be:
|
|
|
|
/media/usb/'Bootleg Library'
|
|
|
|
or something similar.
|
|
|
|
There are two USB drives auto-mounted to the RPi, one for the library (mounted to the path mentioned above) and one for the backup.
|
|
|
|
Every Monday at 02:00 a cronjob runs to backup from the library USB to the backup USB.
|
|
|
|
More about how the library is set up here: https://pzwiki.wdka.nl/mediadesign/User:Simon/Trim4/prototypes/bootleg_library_setup
|
|
|
|
Login (after http-password)
|
|
|
|
Default admin login
|
|
|
|
Username: admin
|
|
Password: admin123
|
|
|
|
-----
|
|
|
|
The library is currently down because of an error with the database, which is malformed, giving the following error:
|
|
|
|
(sqlite3.DatabaseError) database disk image is malformed
|
|
|
|
Most likely this is because the USB has become corrupted, including the metadata.db file.
|
|
|
|
However, each folder of each book includes a metadata.opf file. From these, it is possible to regenerate the metadata.db file, using calibredb: https://manual.calibre-ebook.com/generated/en/calibredb.html#restore-database
|
|
|
|
It is possible to recover the database by running calibredb from the command line, as suggested by the developer of calibre, Kovid Goyal (in post #2): https://www.mobileread.com/forums/showthread.php?t=262064
|
|
|
|
I tried this, and Calibre couldn't find a file needed to regenerate the database "metadata_pre_restore.db". This file, and the "metadata.db" file are supposed to be automatically generated when installing Calibre.
|
|
|
|
4 Oct 2023
|
|
Restoring with calibre was tricky as the library rebuilding tools (calibredb restore_database) and also using Calibre's graphical interface to restore a library, both only found those books that had an OPF file. Unfortunately, it seems that the OPF file isn't automatically created when books are added (and perhaps not edited) in calibre-web. SO... it's possible to use calibredb's add command to re-add all the books back and rebuild everything. BUT, the downside here is that all the the books will get renumbered and thus break all existing links (which feels like a big pity as someone who likes to link to specific books / pages).
|
|
|
|
SO what I am doing is:
|
|
(1) Locally on my laptop, I rebuild a new library with:
|
|
calibredb add -r -1 --library-path=tmp/ Bootleg\ Library/
|
|
where tmp is a new directory...
|
|
NB: all the books that are found and added get an OPF file.
|
|
|
|
(2) Copy the OPF file from the newly generated library, into the old library for books that have no OPF file already. In doing this, REWRITE the OPF calibre_id to match the old ID (which is in the folder name).
|
|
For this I used the script [add_missing_opf.py](scripts/add_missing_opf.py)
|
|
(3) Finally run
|
|
calibredb restore_database
|
|
|
|
Sources / Links
|
|
-------------------------
|
|
* [git](https://git.xpub.nl/XPUB/bootleglibrary)
|
|
* [pad](https://pad.xpub.nl/p/bootleg_library_setup)
|
|
|
|
|