BookLore is a self-hosted web app for organising and managing your personal book collection. It provides an intuitive interface to browse, read, and track your progress across PDFs and eBooks. With robust metadata management, multi-user support, and a sleek, modern UI, BookLore makes it easy to build and explore your personal library.
This is an unofficial snap. After installing, and waiting for the the various services to start, your instance will be accessible at http://localhost:41935
You'll probably want to connect the snap as follows to allow access your books which should be in /mnt/somewhere or /media/somewhere so that the snap can access them:
sudo snap connect booklore:removable-media
sudo snap connect booklore:mount-observe
There are three services, nginx (the web server), booklore-api (the backend API server), and mariadb (the database server). The database files and logs are stored in the snap's data directory, which is preserved across snap updates.
Ports
You can change the port that each service uses with the following commands:
For the port that nginx listens on (default 41935):
sudo snap set booklore port=<desired-port>
For the port that MariaDB listens on (default 41936):
sudo snap set booklore database-port=<desired-port>
For the port that booklore-api listens on (default 41937):
sudo snap set booklore api-port=<desired-port>
After changing the ports, you will need to restart the snap for the changes to take effect:
sudo snap restart booklore
Database
If you need to connect to the MariaDB database from outside the snap, the username is booklore and you can use the following command to get the password:
snap get booklore database-password
You can also connect with the following command as root:
sudo mariadb --socket=/var/snap/booklore/common/run/mysql/mysqld.sock -u root --skip-ssl
You are about to open
Do you wish to proceed?
Thank you for your report. Information you provided will help us investigate further.
There was an error while sending your report. Please try again later.
Snaps are applications packaged with all their dependencies to run on all popular Linux distributions from a single build. They update automatically and roll back gracefully.
Snaps are discoverable and installable from the Snap Store, an app store with an audience of millions.
Snap is available for Red Hat Enterprise Linux (RHEL) 8 and RHEL 7, from the 7.6 release onward.
The packages for RHEL 7, RHEL 8, and RHEL 9 are in each distribution’s respective Extra Packages for Enterprise Linux (EPEL) repository. The instructions for adding this repository diverge slightly between RHEL 7, RHEL 8 and RHEL 9, which is why they’re listed separately below.
The EPEL repository can be added to RHEL 9 with the following command:
sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
sudo dnf upgrade
The EPEL repository can be added to RHEL 8 with the following command:
sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
sudo dnf upgrade
The EPEL repository can be added to RHEL 7 with the following command:
sudo rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
Adding the optional and extras repositories is also recommended:
sudo subscription-manager repos --enable "rhel-*-optional-rpms" --enable "rhel-*-extras-rpms"
sudo yum update
Snap can now be installed as follows:
sudo yum install snapd
Once installed, the systemd unit that manages the main snap communication socket needs to be enabled:
sudo systemctl enable --now snapd.socket
To enable classic snap support, enter the following to create a symbolic link between /var/lib/snapd/snap and /snap:
sudo ln -s /var/lib/snapd/snap /snap
Either log out and back in again or restart your system to ensure snap’s paths are updated correctly.
To install BookLore, simply use the following command:
sudo snap install booklore
Browse and find snaps from the convenience of your desktop using the snap store snap.
Interested to find out more about snaps? Want to publish your own application? Visit snapcraft.io now.