Gibdos Talks FOSS

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

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