Installation Guide
This guide will help you install and run Booklore quickly using Docker Compose.
π¦ Prerequisitesβ
Before you start, make sure you have the following installed on your system:
- Docker
- Docker Compose
git
(only needed if you want to clone the repository)- (Optional) A domain and a reverse proxy like Nginx or Traefik if you want HTTPS support
π³ Deploy with Dockerβ
You can easily set up and run Booklore using Docker containers.
π Step 1: Create Necessary Foldersβ
Create folders on your computer to store Bookloreβs data and your books.
Open a terminal and run the following commands (adjust the path as needed):
mkdir -p ~/booklore/config/mariadb
mkdir -p ~/booklore/data
mkdir -p ~/booklore/books
mkdir -p ~/booklore/bookdrop
Hereβs what each folder is for:
config/mariadb
: MariaDB database configuration and data (persists your database)data
: Booklore app data such as settings and cachebooks
: Your main book library (store PDFs, EPUBs, CBZs here)bookdrop
: Drop new books here to have Booklore import them automatically
Step 2: Install Docker & Docker Composeβ
If you havenβt already, install:
Follow the official installation instructions for your operating system.
Step 3: Create the docker-compose.yml
Fileβ
In your preferred folder, create a file named docker-compose.yml
and add the following content:
services:
booklore:
image: ghcr.io/adityachandelgit/booklore-app:latest
container_name: booklore
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
- DATABASE_URL=jdbc:mariadb://mariadb:3306/booklore
- DATABASE_USERNAME=booklore
- DATABASE_PASSWORD=your_secure_password
- SWAGGER_ENABLED=false
depends_on:
mariadb:
condition: service_healthy
ports:
- "6060:6060"
volumes:
- /your/local/path/to/booklore/data:/app/data
- /your/local/path/to/booklore/books:/books
- /your/local/path/to/booklore/bookdrop:/bookdrop
restart: unless-stopped
mariadb:
image: lscr.io/linuxserver/mariadb:11.4.5
container_name: mariadb
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
- MYSQL_ROOT_PASSWORD=super_secure_password
- MYSQL_DATABASE=booklore
- MYSQL_USER=booklore
- MYSQL_PASSWORD=your_secure_password
volumes:
- /your/local/path/to/mariadb/config:/config
restart: unless-stopped
healthcheck:
test: ["CMD", "mariadb-admin", "ping", "-h", "localhost"]
interval: 5s
timeout: 5s
retries: 10
π‘ Replace
/your/local/path/to/...
with the actual paths to the folders you created in Step 1.
β οΈ Use strong, secure passwords for
MYSQL_ROOT_PASSWORD
andMYSQL_PASSWORD
. These must match in both services.
π You can check for the latest Booklore image tags on the GitHub Releases page.
Step 4: Start Booklore and MariaDB Containersβ
Navigate to the folder containing your docker-compose.yml
file and run:
docker compose up -d
This will download the necessary images (if not already cached) and start Booklore and MariaDB in the background.
Step 5: Access Bookloreβ
Once the containers are running, open your web browser and go to:
http://localhost:6060
You should see the Booklore web interface ready for use.
If you have any issues, double-check folder paths, passwords, and ensure Docker is running correctly on your system.