bookmark
Bookmark es un servidor autocontenido para audiobooks, ebooks y comics, construido con Next.js, React, Node.js y FastAPI. Incluye soporte para reproducción en navegador, sincronización de progreso, generación de narración por IA y API REST.
Ficha actualizada 22 sept 2026, 19:21 · upstream 22 sept 2026, 19:20 · release v0.4.0
Qué es bookmark
Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.
Bookmark es una biblioteca multimedia autocontenida que aloja audiobooks, libros electrónicos y cómics. Su enfoque principal es el audio: ofrece reproducción en el navegador con soporte de capítulos, velocidad variable, controles de saltar y temporizador de sueño. Los ebooks se reproducen tanto en el navegador como a través de lectores externos. Los cómics incluyen series, issues y TPBs, con un lector in-browser planificado. La biblioteca extrae metadatos directamente de los archivos (portadas, capítulos, etiquetas) sin modificarlos original.
- Reproducir audiobooks en el navegador sin necesidad de instalar software adicional
- Organizar y gestionar libros electrónicos con sincronización de progreso entre dispositivos
- Leer cómics directamente desde la web sin depender de lectores externos
- Generar narraciones automáticas a partir de ebooks usando IA
- Gestionar múltiples usuarios con permisos diferenciados y listas personalizadas
- Buscar títulos en catálogos externos mediante API de solicitudes de contenido
- Soporte nativo de capítulos en audiobooks con control de velocidad y temporizador de sueño integrado
- Generación automática de narraciones M4B a partir de ebooks usando servicios TTS compatibles con OpenAI
- Sincronización de progreso entre dispositivos mediante guardado automático cada 60 segundos
- API REST documentada con OpenAPI spec y Swagger UI para integración con aplicaciones externas
- Soporte de múltiples formatos: M4B, MP3, OGG/Opus para audiobooks; EPUB para ebooks; CBZ/CBR/PDF para cómics
- El temporizador de sueño no garantiza la entrega del progreso si el usuario cierra el navegador
- La generación de narraciones por IA depende de servicios externos que pueden tener latencia o errores
- Los metadatos se extraen directamente de los archivos, lo que puede introducir inconsistencias con versiones anteriores
- El modo de autenticación por email/password es la opción predeterminada y no incluye SSO nativa sin configuración adicional
- La sincronización de progreso depende del navegador cliente y puede fallar si el usuario cierra sesión o cambia dispositivo
Perfil de infraestructura
Estimación inicial derivada del repositorio y de los servicios detectados.
Despliegue detectado
Qué señales reales de instalación hemos encontrado.
Se despliega mediante Docker Compose con un solo contenedor que contiene la aplicación web, API y base de datos PostgreSQL. Se recomienda usar un volumen local para DATA_PATH para evitar problemas de bloqueo en sistemas SMB. Para producción, se debe configurar el entorno con variables como TZ (timezone), AUDIOBOOK_LIBRARY_PATH, EBOOK_LIBRARY_PATH y COMIC_LIBRARY_PATH. El servicio no requiere configuración manual del servidor de base de datos; la conexión se realiza mediante Unix socket interno. Se recomienda habilitar el token de métricas para evitar scrapes no autorizados en entornos de producción.
Stack y dependencias
Componentes inferidos a partir de manifests, configuración y documentación.
Puede sustituir a
Relaciones detectadas por el análisis del repositorio y su categoría.
Experiencia real de la comunidad
Ayuda a contrastar la estimación automática con instalaciones reales.
Todavía no hay datos comunitarios para este proyecto.