BookLore
Read and access your ebooks and comics through the webinterface or on your eBook reader with OPDS and sync your reading progress across multiple devices.
My folder structure
- /opt/docker/booklore/
- bookdrop (folder for book upload through webinterface)
- books (folder for your ebooks)
- config (MariaDB Database)
- data (Config for Booklore)
- compose.yml (Docker container instructions)
compose.yml
services:
booklore:
image: booklore/booklore:latest
container_name: booklore
environment:
- USER_ID=1000
- GROUP_ID=1000
- TZ=Europe/Berlin
- DATABASE_URL=jdbc:mariadb://mariadb:3306/booklore
- DATABASE_USERNAME=booklore
- DATABASE_PASSWORD=SUPER_SAFE_PWD
- BOOKLORE_PORT=8010
depends_on:
mariadb:
condition: service_healthy
ports:
- "8010:8010"
volumes:
- ./data:/app/data
- ./books:/books
- ./bookdrop:/bookdrop
restart: unless-stopped
mariadb:
image: lscr.io/linuxserver/mariadb:11.4.5
container_name: bl-mariadb
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
- MYSQL_ROOT_PASSWORD=SUPER_SAFE_PWD2
- MYSQL_DATABASE=booklore
- MYSQL_USER=booklore
- MYSQL_PASSWORD=SUPER_SAFE_PWD
volumes:
- ./config:/config
restart: unless-stopped
healthcheck:
test: [ "CMD", "mariadb-admin", "ping", "-h", "localhost" ]
interval: 5s
timeout: 5s
retries: 10
Caddyfile Entry
music.yourdomain.com {
reverse_proxy XXX.XXX.XXX.XXX:8010 {
header_up X-Real-IP {remote_host}
}
encode zstd gzip
import security_headers
}
Adding Books
You can use different subfolders inside your ../booklore/books folder for different libraries (books, comics, etc.).
Either use the webinterface to add your books to BookLore or, if you already have a large Calibre library, transfer your files to your VPS and move your books to /opt/docker/booklore/books.
BookLore will read the metadata from the .epub files and automatically add the books to your library.
Additional Ressources
Officiall GitHub
Documentation