Introducción a Calibre

A aplicación Calibre é un xestor e organizador de libros electrónicos. Ca característica principal de permitir converter entre diferentes formatos. Tamén permite a sincronización da biblioteca con terceiros, como co Kindle de Amazon ou ca biblioteca de Kobo.
Así mesmo permite a lectura en local dos libros, ou editar os metadatos do libro, por exemplo para completar información.

A forma de catalogar os libros xira en torno ao concepto de libro lóxico. Polo que unha entrada dun arquivo na base de datos, pode corresponder a varios formatos dese libro.

Tamén admite a configuración como buscador de noticias, a partir de respositorios de RSS, presentándoas no eReader.

Levo xa uns anos ca aplicación, primeiro cun eReader Papyre e agora cun Kobo. A posibilidade de transformar entre os distintos tipos de arquivo foime moi útil neste tempo. Ás veces o formato no que obtemos os libros, non é o ideal para ler. Por exemplo os PDFs. Poder pasalos a ePub, facilita moito o traballo con estes libros para facer zoom, ou facer anotacións.

A única pega que lle vía ata o de agora era traballar en local. Se por exemplo quero acceder aos libros dende outro equipo da rede, víame obrigado a instalar Calibre en ambos equipos e a compartir a base de datos. Pero fai algún tempo vin un proxecto que traballa sobre a mesma base de datos, Calibre web.

Calibre web

Calibre web é unha forma de acceder á nosa biblioteca a través dun navegador para revisar a colección, ler ou descargar os ficheiros. Dende calquer equipo que teña acceso á web. Se o temos aberto á Internet, poderemos acceder dende calquer lugar no mundo. Se o temos nunha Intranet, dende calquer equipo da nosa rede.

Ademais disto admite a creación de usuarios aos que lle poderemos dar distintos permisos. Por exemplo para descargar e subir libros.

E sobre todo permite ler os libros dende o navegador, co cal os teremos sincronizados en calquer equipo dende o que accedamos aos libros.

Instalación de Calibre web usando Docker-compose

Unha vez presentada, brevemente a aplicación, imos ver como instalala. Como ven sendo habitual instalarei a aplicación con Docker. Neste caso utilizarei a imaxe oficial, que teñen publicada en Docker Hub. Ven todo empaquetado no mesmo contenedor, polo que non indicarei unha versión concreta, se non a que utilizan como latest que sería linuxserver/calibre-web. O docker-compose quedaría do seguinte xeito:

services:
  calibre:
    image: linuxserver/calibre-web
    container_name: calibre
    hostname: calibre
    environment:
      - PUID=$UID
      - PGID=$GID
      - TZ=Etc/UTC
    networks:
      - proxy
    volumes:
      - $CALIBRE_WEB_DATA_PATH:/config
      - $CALIBRE_LIBRARY_PATH:/books
    ports:
      - 8083:8083
    restart: unless-stopped
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.calibre.entrypoints=http"
      - "traefik.http.routers.calibre.rule=Host(`${URL:-localhost}`)"
      - "traefik.http.services.calibre.loadbalancer.server.port=${CALIBRE_HTTP_PORT:-8083}"
networks:
  proxy:
    name: proxy
    external: true

Como se pode ver o docker-compose.yaml contén tan só un servizo, que será o de calibre web. Utilizando a imaxe que comentamos antes. No entorno establecemos a zona horaria e os IDs de usuario e grupo, que serán establecidos con dúas variables de entorno. Tal e como ven sendo habitual a rede será proxy, que é a que se crea ao levantar Traefik. Con isto será Traefik o encargado de facer accesible o contenedor. Nos volumes temos as seguintes variables, cas que indicaremos as rutas cara a configuración e a biblioteca. No porto establecemos o 8083, que é o que ven por defecto, xa despois rediriximos co load balancer dende o 80 a este. Ca directiva restart, indicamos que en caso de erro queremos que se volva a erguer.
Xa por último as etiquetas de Traefik. Indicando que queremos que faga público o servizo, a través de HTTP e na dirección que indicamos ca variable URL. Finalmente indicamos que porto será redirixido ao 8083, ca variable CALIBRE_HTTP_PORT.

Despois de tantos artigos, pódese ver que a configuración destes servizos é prácticamente a mesma sempre.

Ficheiro .env.dist

As variables a utilizar son as seguintes:

UID=1000
GID=1000
CALIBRE_WEB_DATA_PATH=../../calibre/config
CALIBRE_LIBRARY_PATH=../../calibre/books
URL=localhost
CALIBRE_HTTP_PORT=8083

As dúas primeiras son as que indicarán o ID de usuario, UID, e ID do grupo do usuario, GID. Con isto faremos que os IDs coíncidan dentro e fóra do contenedor.
As dúas seguintes son as das rutas que nos levan ata a configuración e á biblioteca.
A URL será a dirección que nos levará á web, algo como calibre.local ou localhost.
Xa por último o porto, que lembremos será o que se utilizará para que o load balancer apunte de fora adentro do contenedor. No último caso utilizarei o 80.

Base de datos

O contenedor de Calibre-web non crea a base de datos, para isto teremos que fornecer unha. Pode ser unha que xa teñamos ou que creemos unha nova. No meu caso utilicei unha que xa tiña iniciada ca aplicación de Calibre de escritorio. Co que xa teño algúns libros engadidos.

Calibre-web

A primeira vez que entramos na web, veremos o formulario de acceso, tal e como se amosa na seguinte imaxe. Imaxe da pantalla de acceso a Calibre web

O usuario administador que ven por defecto é admin, con contrasinal admin123. Con este usuario poderemos crear outros usuarios e asignarlles permisos. Ao premer arriba a esquerda en administrar, iremos á pantalla que se ve na imaxe seguinte: Imaxe da pantalla de creación de usuario

Carga de libros

Por defecto a carga de libros ven desactivada. En xeral, non só para os novos usuarios. Para activar a carga de libros deberemos ir outra vez a Administración e premer no botón Editar a configuración básica. Imaxe da sección de administración e do botón editar a configuración básica

Na seguinte pantalla iremos á sección de configuración de características e aí veremos a casilla para habilitar a carga de ficheiros, así como os formatos admitidos. Imaxe da configuración para activar a carga de libros

Unha vez feito isto, tamén deberemos habilitar o permiso para os usuarios que queiramos que poidan subir libros. Despois disto o botón aparecerá na barra superior.

Lectura de libros

Calibre web inclúe librarías para poder ler os libros directamente dende o navegador. Así poderemos ver ePub, Cbr, etc; sen precisar de aplicacións extra. Algo moi cómodo para poder consultar algo ou escoller libro, antes de pasalo ao eReader.

Editando libros

No caso de que un usuario teña permisos, tamén poderá editar os metadatos dun libro. Por exemplo para mudar o título, engadir un autor, etc. No caso do autor, se xa o temos engadido nalgún outro libro, veremos o nome autocompretado. O que axuda con este tipo de tarefa.

É moi útil dispor desta información para poder filtrar libros no futuro.

Aquí podemos ver unha captura da información que podemos editar do libro. Imaxe da sección editar os metadatos dun libro

Se ven isto pode ser unha tarefa tediosa, dependendo do tamaño da nosa biblioteca. Na parte de abaixo veremos un botón para obter os metadatos. Esta acción realizará unha busca en distintas fontes e ofreceranos unha serie de resultados. Se queremos aceptar algún deles, tan só temos que premer na portada e automáticamente cubrirá a información. Xa só teremos que gardar os cambios.

Tamén, dende esta sección, podemos engadir distintos formatos sobre un mesmo título. No caso de subir os ficheiros co botón de subir libro da pantalla principal, Calibre crearanos outra entrada. Trataraos como se fosen dous libros distintos, aínda que compartan título.

Convertindo eBooks

Para converter libros entre diferentes formatos, precisaremos ter contacto dalgún xeito cos binarios da aplicación Calibre. Xa sexa compartindo un volume do host co contenedor, ou que o propio contenedor conteña unha instalación de Calibre.
No meu caso escollín esta última, incrementa o peso do contenedor. Pero en caso de querer eliminar Calibre-web, con só borrar o contenedor non quedarán rastros no equipo principal. Ao final usar contenedores, en parte, é tamén por isto.

Unha vez teñamos instalados, ou nun volume, os binarios de Calibre; temos que indicarlle a Calibre-web onde atopalos. Para isto imos ir a Administración > Editar a configuración básica > Binarios externos. Unha vez aí, no primer campo incluíremos a ruta aos binarios e no campo que pon Ruta para Kepubify E-Book Converter incluíremos a ruta a ebook-convert. Que deberá contener o nome do propio binario.

Agora cando entremos nun libro, na opción de Editar Metadatos, veremos unha nova sección debaixo da imaxe. Nela poderemos escoller o formato de orixe, amosaranos os que xa teñamos, e o formato destino. Unha vez seleccionados ao premer Convetir libro, comezará a tarefa. A continuación podemos ver unha imaxe da sección. Imaxe da sección de converter libro

Unha vez comece, na barra superior ao premer en Tarefas, poderemos ver as tarefas en curso. Incluíndo a que acabamos de engadir.

No meu caso errou por non ter un plugin para a salida ODT, tal como amosa a seguinte imaxe, co que tería que instalar algunha libraría. Imaxe do erro de conversión

Outras opcións

A nivel de uso teremos unha serie de filtros no menú principal, para acceder directamente a grupos de libros. Tales como os libros máis populares, descargados, mellor valorados, lidos, sen ler, aleatorios, categorías, series, … Son opcións moi simples, polo que non me vou extender máis.

Conclusión

Como se pode ver Calibre-web é unha aplicación moi cómoda, que nos permite organizar os nosos libros e telos á man dende calquer equipo con acceso ao servizo. Incluso permitindo mudar formatos ou engadir meta información, que nos facilite a xestión dos libros.

Para aqueles que coma min, gusten da lectura e non teñan espazo de abondo para ter os libros en papel. Ou simplemente, que a maiores dos en papel, tamén teñamos os dixitais por comodidade. Esta é moi boa opción, xa que lle da un plus de funcionamento á xa boa opción que é Calibre para escritorio.

Eu teño varios libros técnicos en papel. Cando estou fóra é moi útil poder levar os libros en formáto dixital, para posibles consultas. Con esta aplicación podo rapidamente pasar os libros a un portátil, móbil ou eReader.

En conclusión Calibre e sobre todo Calibre-web son desas aplicacións que nos facilitan a vida.

Actualización 21/04/2025

Con todo funcionando e con xa varios libros na base de datos, resulta que non podía descargar os libros dende o navegador. Podía editar os metadatos e mesmo podía ler os libros no navegador. Pero á hora de descargar, obtiña un erro ca ruta. Despois de buscar por internet lin, que me faltaban utilidades. Isto pode verse na parte de administración, na sección Configuración básica e Binarios externos. Imaxe da sección Binarios externos

Ao acceder á ruta que aparece en Path to calibre binaries, non tiña nin calibredb, nin ebook-converter. Axustes de calibre Ebook-converter aparecía en branco. Sen entrar no contenedor a revisar se está aí, ao por a ruta non deixará gardar se non o atopa.

Con máis lectura, desta vez nas notas que aparecen en docker hub e noutra páxina que agora non lembro, vin que hai un parámetro para incluír certos binarios que inclúen calibredb e ebook-convert. Para isto engadimos na sección de environment - DOCKER_MODS=linuxserver/mods:universal-calibre. Fará que a imaxe pese algo máis, pero teremos dispoñibles a descarga e a conversión entre formatos. A maiores disto, tiven que mudar a orixe da imaxe. En troques da de docker hub, apuntei á que eles mesmos indican no exemplo de docker-compose. image: lscr.io/linuxserver/calibre-web

Con estes cambios agora xa podo descargar e convertir os libros, tendo toda a funcionalidade que preciso de Calibre-web.

Bibliografía

Artigo de Calibre na Wikipedia: https://es.wikipedia.org/wiki/Calibre_(software)
Sitio oficial Calibre: https://calibre-ebook.com/gl
Documentación de Calibre: https://calibre-ebook.com/gl/help
Sitio de Calibre-web: https://github.com/janeczku/calibre-web
Docker hub de Calibre-web: https://hub.docker.com/r/linuxserver/calibre-web