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.yml
file 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=524288
To persist changes:
sudo echo "fs.inotify.max_user_watches = 524288" > /etc/sysctl.d/50-inotify-max-watches.conf