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:


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:

@@||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

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.