Qué vas a montar
Un servidor de lectura self-hosted con Kavita, accesible desde cualquier dispositivo, con una biblioteca organizada correctamente desde el primer día para no toparte con los mismos fallos que yo.
Requisitos previos:
- Un LXC en Proxmox con espacio para tu biblioteca
- Tus libros en formato EPUB, CBZ/CBR o PDF
Paso 1 — Preparar la carpeta de biblioteca
En el host de Proxmox:
mkdir -p /mnt/pve/data/shared/books
Regla importante desde el principio: Kavita no detecta libros sueltos directamente en la raíz de la biblioteca. Cada serie o libro necesita estar dentro de su propia subcarpeta:
mkdir -p /mnt/pve/data/shared/books/"Shadow Slave"
mkdir -p /mnt/pve/data/shared/books/"Lord of the Mysteries"
Paso 2 — Crear el LXC e instalar Kavita
Crea un contenedor Debian/Ubuntu, y monta la carpeta de libros vía bind mount editando /etc/pve/lxc/<id>.conf:
mp0: /mnt/pve/data/shared/books,mp=/books
Instala Kavita siguiendo la documentación oficial (tiene un script de instalación directo para Linux, o imagen Docker si prefieres ese camino). Una vez arriba, entra a la interfaz web, completa el asistente inicial, y en Settings → Libraries → Add Library apunta a /books.
Paso 3 — Nomenclatura correcta desde el primer día
Esta es la parte que más tiempo cuesta si no la sabes de antemano. Kavita espera que los volúmenes de una serie sigan un patrón v01, v02, etc. — no rangos de capítulos tipo C0001-0100, que es como vienen nombrados muchos EPUB descargados de scrapers o repositorios de fans.
Si tus archivos no siguen esa convención, Kavita no agrupa bien los volúmenes de una misma serie o directamente no los detecta como parte de la colección. Renombra antes de subir:
# Ejemplo: de "Lord of the Mysteries C0001-0100.epub" a "Lord of the Mysteries v01.epub"
mv "Lord of the Mysteries C0001-0100.epub" "Lord of the Mysteries v01.epub"
Si tienes muchos ficheros, merece la pena escribir un pequeño script de renombrado en bloque antes de subirlos, en vez de hacerlo uno a uno.
Paso 4 — Subir libros y permisos (el paso que se te va a olvidar seguro)
Sube por SCP a la carpeta correspondiente:
scp "Shadow Slave 1-2105.epub" usuario@<ip>:/mnt/pve/data/shared/books/"Shadow Slave"/
Kavita lanza UnauthorizedAccessException si los permisos no son correctos, y los archivos subidos por SCP suelen quedar con permisos demasiado restrictivos para que el proceso de Kavita los lea. Después de cada subida, sin excepción:
chmod -R 755 /mnt/pve/data/shared/books
Y fuerza un reescaneo desde la interfaz de Kavita (Settings → Libraries → botón de escanear la biblioteca en cuestión) para que detecte el contenido nuevo sin esperar al escaneo automático.
Este paso conviene automatizarlo mentalmente como parte del flujo: subir → chmod → forzar escaneo, siempre en ese orden.
Paso 5 — Sobre automatizar el descubrimiento de libros nuevos
La tentación natural es montar Readarr para que, igual que Radarr hace con películas, detecte y descargue libros nuevos automáticamente. Antes de invertir tiempo en ello, hay dos puntos de fallo que conviene conocer:
- La API de Goodreads, de la que depende buena parte del metadata que usa Readarr, no es fiable actualmente.
- La alternativa, bookinfo.club, puede aparecer como inaccesible (
api.bookinfo.clubresolviendo a0.0.0.0) si tienes AdGuard Home u otro DNS con listas de bloqueo — está identificado como dominio de tracking en algunas listas. Si te pasa esto, añade una regla de excepción en las reglas de usuario de AdGuard:
@@||api.bookinfo.club^
Pero incluso corrigiendo el bloqueo de DNS, el propio servicio de bookinfo.club puede estar caído por su lado, lo cual está fuera de tu control. Si te encuentras en esta situación con ambos puntos fallando a la vez, la alternativa razonable es prescindir de la automatización y gestionar los libros de forma manual: subir por SCP, ajustar permisos, forzar escaneo. Es menos cómodo, pero no depende de una API de terceros que puede estar rota sin que tú puedas hacer nada.
Checklist final
- Carpeta de biblioteca con subcarpetas por serie/libro
- Nomenclatura
v01,v02… aplicada antes de subir - Bind mount configurado en el LXC
-
chmod -R 755aplicado después de cada subida - Escaneo forzado tras cada subida
Siguientes pasos
Si además quieres automatizar música y vídeo con el mismo patrón de Prowlarr + descarga automática, tienes las guías completas en el stack multimedia y el servidor de música.