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
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.
- 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.
- 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.
- 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.
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.
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.
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.