Foro QNAP en español
Servidor de libros con Booklore - Printable Version

+- Foro QNAP en español (https://www.qnapclub.es)
+-- Forum: GENERAL (https://www.qnapclub.es/forumdisplay.php?fid=3)
+--- Forum: Firmware, Aplicaciones y Tutoriales (https://www.qnapclub.es/forumdisplay.php?fid=39)
+---- Forum: VMs & Docker Containers (https://www.qnapclub.es/forumdisplay.php?fid=41)
+---- Thread: Servidor de libros con Booklore (/showthread.php?tid=5645)



Servidor de libros con Booklore - yeraycito - 24-07-2025

A la hora de gestionar libros electrónicos en un ordenador el referente indiscutible es el programa Calibre, si queremos compartir nuestra biblioteca de libros a través del nas podemos hacer uso, por ejemplo, de Calibre-web que está basado en el anterior. Calibre es un programa que funciona muy bien pero en mi opinión tiene un par de defectos y esto me lleva desde hace ya un tiempo a intentar encontrarle una alternativa válida que si no consiga eliminar su uso al menos que lo reduzca consideráblemente.

Booklore es un software con el mismo funcionamiento que Calibre-web, es decir, podemos crear usuarios para que accedan a nuestra biblioteca de libros y se los descarguen, podemos leerlos en línea, enviarlos mediante correo electrónico, etc, etc. Sin embargo tiene también diversas diferencias a constatar:


 - No utiliza la base de datos de Calibre, es decir, funciona simplemente escaneando la carpeta de libros que se le indique.

 - Permite tener todas las bibliotecas de libros que nos parezcan.

 - Permite añadir libros nuevos automáticamente.

 - Permite la descarga de metadatos y datos de los libros de diversas fuentes tanto de forma automática y desatendida o de forma manual.

 - Permite llevar un control de los libros leidos.

 - Incorpora un servidor OPDS


Como acabo de comentar Calibre para ordenador es un software muy completo y que funciona muy bien sin embargo tiene cosas que personálmente no me gustan, una consiste en la cantidad enorme de carpetas y archivos que genera cuando se crea una biblioteca y se añaden libros:


 - Genera una carpeta por cada libro de un autor en concreto.

 - Genera 3 archivos por cada libro electrónico ( portada - opf - epub )


Antes de explicar como se instala Booklore y como funciona voy a comentar algo que es lógicamente opcional y que únicamente es válido si tenemos en nuestro ordenador o en el nas una biblioteca de libros gestionada con Calibre para ordenador, de lo que se trata es de arreglar las cosas que no me gustan que acabo de comentar.


Abrimos Calibre y nos dirigimos a sus opciones concrétamente a la función Guardar libros en disco y la configuramos de la siguiente forma:



   



Todas las casillas desmarcadas y configurando la plantilla con estos parámetros: {author_sort}/{title} - {authors}

Guardados los cambios vamos a exportar nuestra biblioteca a una carpeta en el ordenador, lo haremos de la siguiente forma:


 - Seleccionamos con el ratón el primer libro de nuestra biblioteca

 - Pulsamos y mantenemos pulsada la tecla Mayúsculas del teclado

 - Seleccionamos con el ratón el último libro de la biblioteca

Con este sistema todos los libros quedarán marcados, hecho esto le damos al bóton de Calibre Guardar en disco y empezará la exportación de los libros de la biblioteca. Terminada la exportación los libros quedan con la siguiente extructura:



   



La instalación de Booklore la haremos a través de un compose mediante Container Station o Portainer:



services:
    booklore:
         image: ghcr.io/adityachandelgit/booklore-app:latest
         container_name: booklore
         environment:
              - PUID=1000
              - PGID=100
              - TZ=Europe/Madrid
              - DATABASE_URL=jdbc:mariadb://mariadb:3306/booklore
              - DATABASE_USERNAME=booklore
              - DATABASE_PASSWORD=XXXX
              - 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: always

     mariadb:
          image: lscr.io/linuxserver/mariadb:11.4.5
          container_name: mariadb
          environment:
              - PUID=1000
              - PGID=100
              - TZ=Europe/Madrid
              - MYSQL_ROOT_PASSWORD=YYYYYYYYYYY
              - MYSQL_DATABASE=booklore
              - MYSQL_USER=booklore
              - MYSQL_PASSWORD=XXXX
          volumes:
              - /your/local/path/to/mariadb/config:/config
          restart: always
          healthcheck:
               test: ["CMD", "mariadb-admin", "ping", "-h", "localhost"]
               interval: 5s
               timeout: 5s
               retries: 10



Este compose instala dos contenedores que funcionan en sincronía, una base de datos mariadb y el propio Booklore.

A tener en cuenta:

 - Los apartados DATABASE_PASSWORD y MYSQL_PASSWORD tienen que tener la misma contraseña que le pongamos.

 - En el apartado MYSQL_ROOT_PASSWORD tenemos que poner una contraseña distinta a las anteriores.

 - Los apartados del compose /your/local/path/to los tendremos que configurar poniendo las rutas de nuestro nas correspondientes. Sobre esto dos cosas:

         - La carpeta bookdrop va a servir, si se quiere, para añadir automáticamente libros nuevos a la biblioteca de Booklore

         - La carpeta books hace referencia a la carpeta compartida del nas en la que tengamos nuestros libros, si queremos tener más de una biblioteca en Booklore 
           podemos hacerlo así, vamos a suponer que tengamos en el nas una carpeta compartida llamada Libros y dentro de ella dos carpetas más una, por ejemplo, 
           con libros de economía y otra con libros de historia. Siendo así en el compose mapeamos la carpeta Libros y una vez instalado Booklore podremos añadir
           por separado esas dos colecciones de libros.

En el caso de tener colecciones de libros en el nas en carpetas compartidas distintas podemos configurar el apartado Volumes de Booklore del compose anterior dejándolo de la siguiente forma:


volumes:
      - /your/local/path/to/booklore/data:/app/data
      - /your/local/path/to/booklore/books1:/books1
      - /your/local/path/to/booklore/books2:/books2
      - /your/local/path/to/booklore/bookdrop:/bookdrop


Instalado Booklore accedermos a el con el navegador que utilicemos en      http://iplocaldelnas:6060

Al hacerlo lo primero que se nos pide es configurar un usuario Administrador con su correspondiente contraseña:



   



Yo ya lo tengo configurado así que a vosotros os aparecerá vacío de contenido lógicamente. Debido a limitaciones de este foro a la hora del tamaño de imágenes a subir he tenido que recortar exagerádamente la siguiente imagen:



   



La siguiente imagen no se corresponde a mi Booklore sino que está extraida de su web, la pongo para que veais como es más o menos:



   



Booklore tiene un desarrollo descomunal en los últimos meses añadiendo nuevas funciones y sus desarrolladores tienen unos videos sobre el programa que son algo antiguos pero que sirven para hacerse uno una idea, se pueden ver aquí:

https://www.youtube.com/watch?v=UMrn_fIe...dz&index=1


Añadir a Booklore bibliotecas o carpetas con libros es muy sencillo:



   



Le ponemos un nombre, escogemos un icono y decidimos si activar o no que Booklore monitorice los cambios en la carpeta de libros que se le indique. Hecho esto le indicamos la carpeta del nas en la que tengamos libros:



   


Podemos repetir este mismo proceso con todas las carpetas de libros que nos apetezca y se creará una biblioteca para cada una de ellas.

Un apartado interesante de Booklore es la gestión de metadatos de los libros:



   



Podemos configurar varios proveedores y su prioridad tante en conjunto como por separado. Accediendo a un libro en concreto tenemos varias posibilidades:



   



Podemos leerlo diréctamente, descargarlo, enviarlo por correo electrónico, marcarlo como leido o hacer que busque y añada metadatos automáticamente. Tenemos también la posibilidad de editar los metadatos manuálmente:



   



O hacer que Booklore los busque:



   



Hecha la búsqueda podemos comparar los datos del libro existentes con los nuevos:



   



Podemos añadir todos los datos nuevos en conjunto o individuálmente, podemos cerrando los candados de la izquierda evitar modificaciones y en el caso de que falte o sea mejor los datos de otro proveedor sea totálmente o sólo alguna parte podemos usarlos también sin problemas.


Al principio he comentado que en el compose configuramos una carpeta bookdrop que sirve para añadir libros nuevos a la biblioteca que queramos pero este sistema tiene una añadiduría consistente en que a la misma vez que añadimos un libro busca y añade automáticamente los metadatos correspondientes. El funcionamiento es el siguiente, metemos uno o varios libros en la carpeta del nas bookdrop:



   



Al instante nos aparece en Booklore lo siguiente:



   



Booklore nos informa que ha reconocido el nuevo libro, lo ha procesado y lo deja pendiente para que lo revisemos:



   



No digo que este sistema sea malo pero personálmente prefiero otro consistente en crear en Booklore una biblioteca vacía configurándola para que monitorice los cambios, de esta forma cualquier libro o libros que añadamos a la correspondiente carpeta del nas Booklore los añade automáticamente. Hecho esto ya podríamos editarlos.


En relación a la adicción automática de libros a Booklore este bot de Telegram añade comodidad al sistema:

https://www.qnapclub.es/showthread.php?tid=5644&pid=25001#pid25001


Resumiendo:

Booklore puede ser una alternativa viable a la mala gestión relativa a carpetas y archivos que hace Calibre sin olvidar la xxxxxx que le mete a los libros. Como dije antes Booklore está en constante evolución añadiendo nuevas funciones y mejorando otras, por el momento una de las que no incluye es la conversión de formatos de libro electrónico, otra cosa que tiene que mejorar es el rendimiento con bibliotecas de muy gran tamaño, por lo demás todo muy bien.


RE: Servidor de libros con Booklore - yeraycito - 26-07-2025

Ya que Booklore no admite por el momento la conversion entre formatos de libro electrónico una buena solución sería esta:


https://www.qnapclub.es/showthread.php?tid=5647


RE: Servidor de libros con Booklore - yeraycito - 07-08-2025

Los desarrolladores han cambiado de repositorio la imagen del docker de Booklore, con ese cambio el compose queda de la siguiente forma:


services:
      booklore:
               image: booklore/booklore:latest
               container_name: booklore
               environment:
                       - USER_ID=1000
                       - GROUP_ID=100
                       - TZ=Europe/Madrid
                       - DATABASE_URL=jdbc:mariadb://mariadb:3306/booklore
                       - DATABASE_USERNAME=booklore
                       - DATABASE_PASSWORD=XXXX
                       - BOOKLORE_PORT=6060
                       - 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: always

      mariadb:
                image: lscr.io/linuxserver/mariadb:latest
                container_name: mariadb
                environment:
                       - PUID=1000
                       - PGID=100
                       - TZ=Europe/Madrid
                       - MYSQL_ROOT_PASSWORD=YYYYYYYYYYY
                      - MYSQL_DATABASE=booklore
                      - MYSQL_USER=booklore
                      - MYSQL_PASSWORD=XXXX
               volumes:
                      - /your/local/path/to/mariadb/config:/config
               restart: always
               healthcheck:
                       test: [CMD, mariadb-admin, ping, -h, localhost]
                       interval: 5s
                       timeout: 5s
                       retries: 10


RE: Servidor de libros con Booklore - yeraycito - 24-08-2025

Añadida en el compose anterior la nueva variable - BOOKLORE_PORT=6060

Sin ella Booklore no funciona.