Configuración de Calibre web auto aloxado con Traefik
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.
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:
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.
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.
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.
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.
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.
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.
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
Artigos Relacionados:
- Actualizar Invidious despois de que me dese erro bastante tempo
- Instalación de News en Nextcloud
- Instalación de GPodder Sync en Nextcloud
- Actualizar Nextcloud en Docker
- Configuración de Jellyfin auto aloxado con Traefik
- Copias de seguridade con Borgbackup
- Controlar la temperatura del equipo con bash y telegram
- Instalación de Nextcloud
- Instalación de Pi-hole
- Configuración de Invidious auto aloxado con Traefik
- Configuración de SearXNG auto aloxado con Traefik
- Cómo instalar Traefik con docker
- Instalando docker en modo rootless en Debian
- Instalando Jekyll con Docker