Bookshelf: biblioteca doméstica de ebooks sin base de datos

Fuentes: Bookshelf: a self-hosted ebook library without a database

Bookshelf es una biblioteca de ebooks autohospedada para organizar obras que el usuario ya posee y leerlas o descargarlas desde el navegador. Su interfaz, generada por el servidor, reúne los títulos en una página, ofrece búsqueda y proporciona lectores independientes para EPUB y PDF. No utiliza una base de datos: la herramienta de sincronización construye un árbol de biblioteca que puede publicarse en un directorio local o en el almacenamiento de objetos Cloudflare R2.

El proyecto puede ejecutarse como servidor Node sobre un directorio del sistema o como Cloudflare Worker. En ambos casos, la aplicación sirve los libros, las portadas, los perfiles y las posiciones de lectura. El modo de solo lectura impide crear, renombrar o eliminar perfiles, pero mantiene la selección de perfiles existentes mediante cookies. Como no incorpora autenticación, cualquier persona que alcance la instancia puede consultar y descargar toda la colección; los perfiles solo separan marcadores y avances entre usuarios, no funcionan como control de acceso. Si dos dispositivos actualizan simultáneamente la posición de un mismo perfil, se aplica el criterio de última escritura.

La instalación local requiere Node.js 24 o posterior, un sistema similar a Unix y Docker para evitar instalar manualmente cwebp y pdftoppm, herramientas recomendadas para generar las portadas. Tras colocar archivos EPUB o PDF en books/, los comandos de sincronización y arranque publican la biblioteca. El volumen library concentra los libros publicados y los datos generados por la aplicación, por lo que constituye el elemento que debe respaldarse. El proyecto incluye nueve obras de dominio público para probar ambas modalidades de lectura, pero aclara que sus textos son provisionales. Bookshelf se distribuye bajo licencia MIT y permite incorporar proveedores de almacenamiento adicionales definidos por paquetes externos.