This is full-featured lightweight book collection management service, based on Calibre and inotify. It uses a patched version of Calibre and doesn't copy your files inside the database.
- Special lightweight console version of Calibre, which doesn't copy your files, but only creates symlinks.
- A script to monitor the library directory and start Calibre database syncronization, when you complete to add book series.
- Very convenient Calibre-Web interface as a Docker-image from the Linuxserver.io.
You need to install Docker and docker-compose on your server.
Your can install this service in 3 steps:
- Clone this repository or download as a zip file:
git clone --depth=1 https://github.com/artiomn/library-docker - Edit
docker-compose.ymlfile to configure the service for the your environment. You just need to change a few variables, which are described below. - Launch the service, by the running command inside the directory with
docker-compose.yml:docker-compose up -d
After completing these steps, you will see the web-interface on port 8083.
Variables need to be changed:
BOOKS_DIRECTORY- path to the books directory.DATABASE_PATH- path to the Calibre database.CONFIG_PATH- path to the Calibre-Web configuration.
Additional, not mandatory variables:
IGNORE_PATTERN- ignore glob expression passed tocalibredb --ignore=.ADD_PATTERN- add glob expression passed tocalibredb --add=.PUID/PGID- user and group ids.TZ- timezone.
See Linuxserver.io documentation.
You can see logs, using command docker-compose logs -f.
If you get an an error Failed to watch /var/log/messages; upper limit on inotify watches reached!, try to increase max watches:
sudo sysctl fs.inotify.max_user_watches=524288To persist changes:
sudo echo "fs.inotify.max_user_watches = 524288" > /etc/sysctl.d/50-inotify-max-watches.conf