Ctrl K
ComunidadGuías…
GITHUB · ANALIZADO

shelf

Catálogo de biblioteca auto-alojado que gestiona libros, videojuegos y música mediante escaneo de códigos de barras o visión artificial en estanterías completas. Utiliza FastAPI, SQLite y HTMX en un contenedor Docker único con soporte PWA offline.

Ficha actualizada 22 sept 2026, 14:58 · upstream 22 sept 2026, 14:40 · release v0.47.0

00

Qué es shelf

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

Shelf es una aplicación web de catálogo bibliotecario auto-alojada diseñada para gestionar colecciones físicas y digitales sin depender de la nube. La arquitectura se basa en FastAPI, Python y SQLite, empaquetada en un único contenedor Docker que incluye una interfaz responsiva compatible con PWA (Progressive Web App). Esto permite acceder a la aplicación desde cualquier dispositivo móvil o escritorio directamente desde el navegador, sin necesidad de instalar aplicaciones nativas ni depender de tiendas de aplicaciones.

CASOS DE USO
  • Gestión centralizada de colecciones domésticas incluyendo libros, cómics, videojuegos y música física.
  • Control de préstamos entre miembros del hogar con seguimiento de devoluciones y estado actual.
  • Auditoría rápida de estanterías mediante fotografía para detectar faltantes o errores de catalogación.
  • Valoración automática de la colección para documentación de seguros basada en ISBNdb.
  • Búsqueda inversa por título cuando no se dispone del código de barras o ISBN.
  • Modo tienda offline para gestionar listas de deseos y compras sin conexión a internet.
PUNTOS DESTACADOS
  • Visión artificial integrada para escanear estanterías enteras mediante fotografía, detectando lomos y portadas automáticamente.
  • Independencia total de la nube: los datos residen localmente en una base de datos SQLite dentro del contenedor.
  • Soporte nativo para múltiples formatos multimedia como música (MusicBrainz), videojuegos (IGDB) y películas (TMDb).
  • Sistema de escaneo con 8 modos distintos, incluyendo préstamos, inventario y valoración rápida.
  • Encriptación local de credenciales API mediante claves generadas automáticamente en el directorio data.
  • Interfaz web responsiva que funciona como aplicación nativa en móviles sin requerir permisos de instalación.
PRECAUCIONES
  • La búsqueda de metadatos y portadas depende de APIs externas (Open Library, TMDb, IGDB) que pueden tener límites de tasa o requerir claves API.
  • El modelo de visión artificial para escaneo por foto requiere conexión a internet para consultar endpoints compatibles con OpenAI/Anthropic u Ollama local.
  • La base de datos SQLite no soporta transacciones distribuidas ni alta concurrencia masiva en entornos multi-nodo complejos.
  • La gestión de certificados TLS requiere configuración manual o uso de herramientas externas como Let's Encrypt para dominios públicos.
  • Algunos tipos de medios (ej. ediciones limitadas) pueden no tener registros en las bases de datos públicas consultadas.
01

Perfil de infraestructura

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

CPU4 vCPUrecomendación inicial
MEMORIA8 GBRAM estimada
DISCO10 GBalmacenamiento base
COMPLEJIDADmediumnivel de operación
02

Despliegue detectado

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

Listo para automatizar

Desplegar mediante docker compose up -d. Asegurar que el directorio data/ esté montado correctamente para persistencia de la base de datos SQLite y claves de seguridad. Configurar CERT_SAN en el archivo .env con la IP o DNS del servidor para habilitar HTTPS. Realizar copias de seguridad periódicas del contenido de data/shelf.db y los archivos de clave (encryption.key, signing.key) fuera del contenedor.

✓Dockerfile
✓Compose
✓One-click
03

Stack y dependencias

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

FRAMEWORKS
Next.jsNode.jsFastAPIPython
SERVICIOS
No detectados
BASES DE DATOS
No detectadas
PUERTOS
1888818889
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.