BookLore la libreria digitale self-hosting per Linux

BookLore è una web app open source pensata per chi desidera gestire la propria collezione di libri digitali direttamente su Linux. Il progetto, disponibile su , offre un’interfaccia moderna e intuitiva per organizzare, leggere e condividere contenuti in formato PDF, EPUB e CBZ. È ideale per lettori appassionati, collezionisti di fumetti, bibliotecari digitali e chiunque voglia avere il controllo completo della propria libreria personale.

La filosofia di BookLore è semplice: offrire uno strumento potente ma accessibile, che possa essere installato in locale o su server privati, garantendo privacy, personalizzazione e flessibilità. A differenza di soluzioni proprietarie, BookLore non impone limiti né raccoglie dati, ed è progettato per essere estensibile e adattabile alle esigenze di ogni utente.

Funzionalità avanzate per una gestione intelligente

BookLore non è solo un archivio digitale, ma una vera e propria suite per la gestione dei contenuti. Tra le funzionalità principali troviamo la possibilità di creare librerie e scaffali personalizzati, organizzando i libri per genere, autore, lingua o qualsiasi altro criterio. Il sistema di metadati è particolarmente avanzato: BookLore può recuperare automaticamente le informazioni da fonti come Goodreads, Amazon e Google Books, oppure permettere l’editing manuale con controllo granulare.

Il lettore integrato supporta sia PDF che EPUB, con opzioni di personalizzazione per la modalità di lettura, il font, il layout e la visualizzazione. È possibile tenere traccia del progresso di lettura, evidenziare passaggi, aggiungere note e riprendere la lettura da dove si era interrotta. Per i fumetti, il supporto CBZ garantisce una visualizzazione fluida e ottimizzata.

BookLore include anche il supporto per OPDS 1.2, il protocollo di distribuzione dei contenuti compatibile con molte app di lettura. Questo significa che è possibile accedere alla propria libreria da dispositivi mobili, tablet o altri software, mantenendo sincronizzati i dati e semplificando la condivisione.

Multi-utente, sicurezza e condivisione

Uno degli aspetti più interessanti di BookLore è il supporto multi-utente. Gli amministratori possono creare account, assegnare librerie e gestire i permessi per la modifica dei metadati, l’upload dei file e il download. Questo rende la piattaforma adatta anche a contesti collaborativi, come biblioteche scolastiche, gruppi di lettura o famiglie con interessi diversi.

La sicurezza è garantita tramite autenticazione OIDC opzionale, con supporto per JWT locali o provider esterni come Authentik. Questo permette di integrare BookLore in ambienti già configurati con sistemi di login centralizzati, mantenendo la coerenza e la protezione dei dati.

La condivisione dei contenuti è semplice e veloce: è possibile inviare libri via email direttamente dall’interfaccia, oppure generare link per il download. L’upload multiplo consente di caricare intere collezioni in pochi clic, con rilevamento automatico dei metadati e organizzazione intelligente dei file.

Come installare BookLore su Linux

BookLore è pensato per essere facilmente installabile su Linux (che sia versione desktop o server). Il metodo consigliato è tramite Docker, con immagini preconfigurate e file Compose che semplificano la distribuzione. Basta creare un file denominato docker-compose.yml e copiare quanto segue

services:
  booklore:
    # Official Docker Hub image:
    image: booklore/booklore:latest
    # Or the GHCR image:
    # image: ghcr.io/booklore-app/booklore:latest
    container_name: booklore
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Etc/UTC
      - DATABASE_URL=jdbc:mariadb://mariadb:3306/booklore   # Only modify this if you're familiar with JDBC and your database setup
      - DATABASE_USERNAME=booklore                          # Must match MYSQL_USER defined in the mariadb container
      - DATABASE_PASSWORD=your_secure_password              # Use a strong password; must match MYSQL_PASSWORD defined in the mariadb container 
      - BOOKLORE_PORT=6060                                  # Port BookLore listens on inside the container; must match container port below
      - SWAGGER_ENABLED=false                               # Enable or disable Swagger UI (API docs). Set to 'true' to allow access; 'false' to block access (recommended for production).
    depends_on:
      mariadb:
        condition: service_healthy
    ports:
      - "6060:6060" # HostPort:ContainerPort → Keep both numbers the same, and also ensure the container port matches BOOKLORE_PORT, no exceptions. 
                    # All three (host port, container port, BOOKLORE_PORT) must be identical for BookLore to function properly.
                    # Example: To expose on host port 8080, set BOOKLORE_PORT=8080 and use "8080:8080". 
    volumes:
      - /your/local/path/to/booklore/data:/app/data       # Application data (settings, metadata, cache, etc.). Persist this folder to retain your library state across container restarts.
      - /your/local/path/to/booklore/books:/books         # Primary book library folder. Mount your collection here so BookLore can access and organize your books.
      - /your/local/path/to/booklore/bookdrop:/bookdrop   # BookDrop folder. Files placed here are automatically detected and prepared for import.
    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  # Use a strong password for the database's root user, should be different from MYSQL_PASSWORD
      - MYSQL_DATABASE=booklore
      - MYSQL_USER=booklore                        # Must match DATABASE_USERNAME defined in the booklore container
      - MYSQL_PASSWORD=your_secure_password        # Use a strong password; must match DATABASE_PASSWORD defined in the booklore container
    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

e modifichiamo your_secure_password inserendo una password a nostra scelta per il database mysql. Salviamo il tutto e installiamo BookLore digitando sempre da terminale:

sudo docker compose up -d

al termine basta accedere da browser all’indirizzo http://localhost:6060 al primo avvio ci verrà chiesto di creare un account di amministrazione.

La documentazione è chiara e ben strutturata, con guide passo-passo per l’installazione, la configurazione e l’utilizzo delle funzionalità. Sono disponibili anche video tutorial su YouTube, che mostrano come impostare la libreria, caricare i libri e personalizzare l’interfaccia. BookLore è distribuito sotto licenza GPL-3.0, il che significa che può essere modificato, esteso e adattato liberamente. 

BookLore è la libreria digitale che mancava su Linux

BookLore rappresenta una soluzione completa e moderna per la gestione dei libri digitali su Linux. Con il suo lettore integrato, il supporto per metadati intelligenti, la compatibilità OPDS e le funzionalità multi-utente, offre tutto ciò che serve per costruire una libreria personale o condivisa, accessibile e sicura.

Per chi cerca un’alternativa open source alle piattaforme proprietarie, BookLore è una scelta eccellente. È facile da installare, potente da usare e flessibile da personalizzare. Che tu sia un lettore appassionato, un collezionista o un amministratore di sistema, BookLore ti permette di trasformare il tuo ambiente Linux in un vero e proprio centro di lettura digitale.

Home BookLore

Lascia un commento