====== BookLore ======
Aplicación web para gestionar y leer tu colección de libros digitales. Desarrollado en Java.
* [[https://github.com/booklore-app/booklore|Repositorio oficial]]
* [[https://demo.booklore.dev/login|Instancia de demostración]] (usuario ''booklore'' y contraseña ''9HC20PGGfitvWaZ1'')
* [[https://booklore-app.github.io/booklore-docs/docs/getting-started/|Documentación]]
{{ https://raw.githubusercontent.com/booklore-app/booklore/develop/assets/demo.gif |}}
===== Características =====
* 📚 **Organización inteligente**: Crea tu biblioteca ideal con estanterías personalizadas, ordenación inteligente y potentes filtros para encontrar cualquier libro al instante.
* 👥 **Gestión multiusuario**: Añade usuarios con permisos granulares para controlar el acceso a la biblioteca y al contenido.
* 📲 **Integración con Kobo**: Sincroniza tu biblioteca con dispositivos Kobo y convierte EPUBs a KEPUB automáticamente.
* ✨ **Estanterías mágicas**: Crea colecciones dinámicas basadas en reglas que se actualizan en tiempo real, como listas de reproducción inteligentes para tus libros.
* 🧠 **Metadatos automáticos**: Obtén información detallada de los libros desde Goodreads, Amazon, Google Books y Hardcover.
* 📤 **Importación BookDrop**: Deja archivos en una carpeta para su detección automática e importación masiva.
* 🌐 **Compatible con OPDS**: Conecta aplicaciones de lectura directamente a tu biblioteca para descargas inalámbricas.
* 🔑 **Autenticación flexible**: Elige entre cuentas locales o proveedores externos OIDC (Authentik, Pocket ID).
* 🔄 **Sincronización con KOReader**: Rastrea el progreso de lectura entre KOReader y BookLore.
* 📧 **Compartir con un clic**: Envía libros por correo electrónico directamente desde la interfaz.
* 🔐 **Notas privadas**: Guarda notas de lectura personales visibles solo para ti.
* 🌍 **Reseñas de la comunidad**: Obtén automáticamente reseñas públicas para enriquecer tu biblioteca.
* 📖 **Lector integrado**: Lee PDFs, EPUBs y cómics con temas personalizables.
* 📱 **Listo para móvil**: Diseño totalmente responsive, optimizado para todos los dispositivos.
Por ahora, la interfaz está solamente en inglés. Hay una //[[https://github.com/booklore-app/booklore/issues/678|issue abierta]]// solicitando la opción de traducciones a otros idiomas.
===== Instalación =====
==== Docker ====
Crearemos un fichero ''.env'':
# BookLore Application Settings
APP_USER_ID=0
APP_GROUP_ID=0
TZ=Europe/Madrid
BOOKLORE_PORT=6060
# Database Connection (BookLore)
DATABASE_URL=jdbc:mariadb://mariadb:3306/booklore
DB_USER=booklore
DB_PASSWORD=ChangeMe_BookLoreApp_2025!
# MariaDB Container Settings
DB_USER_ID=1000
DB_GROUP_ID=100
MYSQL_ROOT_PASSWORD=ChangeMe_MariaDBRoot_2025!
MYSQL_DATABASE=booklore
Y un fichero Docker Compose:
services:
booklore:
image: booklore/booklore:latest
# Alternative: Use GitHub Container Registry
# image: ghcr.io/booklore-app/booklore:latest
container_name: booklore
environment:
- USER_ID=${APP_USER_ID}
- GROUP_ID=${APP_GROUP_ID}
- TZ=${TZ}
- DATABASE_URL=${DATABASE_URL}
- DATABASE_USERNAME=${DB_USER}
- DATABASE_PASSWORD=${DB_PASSWORD}
- BOOKLORE_PORT=${BOOKLORE_PORT}
depends_on:
mariadb:
condition: service_healthy
ports:
- "${BOOKLORE_PORT}:${BOOKLORE_PORT}"
volumes:
- ./data:/app/data # Datos de la aplicación (ajustes, metadatos, cache...)
- ./books:/books # Biblioteca principal de libros
- ./bookdrop:/bookdrop # Los archivos que se coloquen aquí serán detectados automáticamente y listos para su importación
restart: unless-stopped
mariadb:
image: lscr.io/linuxserver/mariadb:11.4.5
container_name: booklore-db
environment:
- PUID=${DB_USER_ID}
- PGID=${DB_GROUP_ID}
- TZ=${TZ}
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
- MYSQL_DATABASE=${MYSQL_DATABASE}
- MYSQL_USER=${DB_USER}
- MYSQL_PASSWORD=${DB_PASSWORD}
volumes:
- ./db/config:/config
restart: unless-stopped
healthcheck:
test: [ "CMD", "mariadb-admin", "ping", "-h", "localhost" ]
interval: 5s
timeout: 5s
retries: 10
===== Alternativas =====
* [[calibre-web|Calibre Web]]