Ctrl K
ComunidadGuías…
GITHUB · ANALIZADO

librarian

Librarian es un módulo de Coral para la higiene de bibliotecas multimedia auto-alojadas. Gestiona descargas terminadas mediante hardlinks, detecta metadatos faltantes o duplicados y cola tareas de renombrado y enriquecimiento, utilizando Jellyfin como fuente de verdad única para garantizar la integr

Ficha actualizada 26 sept 2026, 18:56 · upstream 26 sept 2026, 18:53 · release v1.1.0

Ver códigoProblemas y ayudaRepositorio ↗Sitio oficial
00

Qué es librarian

Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.

Librarian actúa como herramienta de mantenimiento para bibliotecas de medios auto-alojadas, integrándose profundamente con Jellyfin. Su función principal es importar descargas completas mediante enlaces duros (hardlinks) para evitar duplicación de datos en el disco, mientras identifica inconsistencias en los metadatos, huecos en pósters y archivos duplicados. El sistema gestiona colas de trabajo en segundo plano para operaciones de renombrado, etiquetado y enriquecimiento masivo, preparando los activos para otros módulos del ecosistema Coral sin alterar la integridad original.

La aplicación está construida con React y TanStack Start sobre Node.js, ofreciendo una interfaz moderna y gestión de estado robusta. Prioriza la seguridad al requerir un inicio de sesión en Jellyfin por defecto, limitando las operaciones de sistema de archivos a usuarios administradores para prevenir modificaciones no autorizadas. La persistencia local se maneja mediante SQLite cuando no se proporcionan variables de entorno de autenticación.

El despliegue es flexible vía Docker, con CI/CD automatizado que construye imágenes y publica en GHCR tras cada release. El sistema soporta tanto entornos de desarrollo local como producciones escalables, siempre manteniendo a Jellyfin como la autoridad central para la metadatos y la gestión de activos.

CASOS DE USO
  • Importar descargas de torrents o archivos terminados sin duplicar datos en el disco
  • Detectar y marcar metadatos faltantes o inconsistencias en la biblioteca multimedia
  • Ejecutar renombrado masivo y corrección de etiquetas en segundo plano
  • Validar calidad de activos como pósters faltantes o baja resolución antes del consumo
  • Mantener sincronización con Jellyfin como fuente de verdad única para la gestión de medios
PUNTOS DESTACADOS
  • Utiliza hardlinks para importaciones, garantizando cero coste de almacenamiento adicional al duplicar datos
  • Requiere inicio de sesión en Jellyfin por defecto y permisos de administrador para operaciones de sistema de archivos
  • Arquitectura moderna basada en React con TanStack Start y Node.js para un rendimiento óptimo
  • CI/CD automatizado con GitHub Actions para builds Docker y publicación automática en GHCR
  • Base de datos local SQLite para persistir detalles de conexión si no se usan variables de entorno
PRECAUCIONES
  • No incluye archivo docker-compose, requiriendo configuración manual del contenedor y mounts
  • Las operaciones de hardlink fallan si los directorios montados están separados por puntos de montaje distintos
  • Dependencia crítica de una instancia Jellyfin activa y configurada correctamente para funcionar
  • Requiere variables de entorno específicas para autenticación con Jellyfin al no usar inicio de sesión UI
VISUAL

Capturas del proyecto

Imágenes reales detectadas en la documentación del repositorio.

Librarian logo — an open book split by a glowing gutter line, gold pages above and teal below
01

Perfil de infraestructura

Estimación inicial derivada del repositorio y de los servicios detectados.

CPU1 vCPUrecomendación inicial
MEMORIA1 GBRAM estimada
DISCO10 GBalmacenamiento base
COMPLEJIDADlownivel de operación
02

Despliegue detectado

Qué señales reales de instalación hemos encontrado.

Docker detectado

Construir la imagen Docker o ejecutar directamente. Es crucial montar los directorios de medios y descargas bajo un único punto de montaje para permitir hardlinks. Configurar las variables JELLYFIN_URL, JELLYFIN_API_KEY y JELLYFIN_USER_ID si no se usa el flujo de inicio de sesión interactivo. Asegurar que el usuario de Jellyfin sea administrador para operaciones de sistema de archivos.

✓Dockerfile
—Compose
—One-click
03

Stack y dependencias

Componentes inferidos a partir de manifests, configuración y documentación.

FRAMEWORKS
ReactNode.js
SERVICIOS
No detectados
BASES DE DATOS
No detectadas
PUERTOS
30008096
05

Puede sustituir a

Relaciones detectadas por el análisis del repositorio y su categoría.

06

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.