model-hub
Gestor auto-alojado de biblioteca de archivos de impresión 3D (STL/3MF/OBJ) diseñado para Unraid. Incluye visualización en navegador, detección de duplicados, colecciones inteligentes, inventario de filamentos y estimaciones de impresión.
Ficha actualizada 24 sept 2026, 21:42 · upstream 24 sept 2026, 21:37 · release v1.5.0
Qué es model-hub
Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.
Model Hub es una herramienta de gestión para bibliotecas de modelos 3D en entornos auto-alojados, específicamente optimizado para Unraid. Permite organizar archivos STL, 3MF, OBJ, STEP y FBX con visualización interactiva mediante Three.js y OpenCascade (WASM) para formatos complejos como STEP. Incluye detección de duplicados basada en hash y geometría, gestión de colecciones inteligentes con reglas y un inventario de filamentos que rastrea el consumo real al finalizar las impresiones.
Integra capacidades de inteligencia artificial para etiquetado automático y búsqueda semántica mediante embeddings. El sistema es flexible, permitiendo ejecutar modelos de IA localmente a través de Ollama o conectarse a APIs externas como OpenRouter/OpenAI según la configuración del usuario. Esto permite mantener el procesamiento dentro de la red privada o utilizar servicios externos sin comprometer la seguridad.
La arquitectura se basa en FastAPI con una base de datos SQLite, facilitando un despliegue sencillo mediante Docker Compose o plantillas directas para Unraid. Incluye autenticación robusta con cookies firmadas, gestión de sesiones y claves API separadas para extensiones del navegador. Ofrece estimaciones precisas de tiempo y filamento, con opción de usar heurísticas volumétricas o un CLI de slicer externo para cálculos exactos.
- Gestión centralizada de archivos STL/3MF con visualización en navegador
- Etiquetado automático de modelos usando IA local (Ollama) o API externa
- Control de inventario de filamentos y cálculo de consumo por impresión
- Importación automática desde Printables/MakerWorld mediante extensión de navegador
- Búsqueda semántica para encontrar modelos por concepto en lugar de nombre
- Cola de impresión con asignación de filamento y estimaciones de tiempo
- Visualización nativa de formatos STEP/STP usando OpenCascade compilado a WASM para ejecución cliente-servidor eficiente
- Sistema de autenticación con hash PBKDF2-SHA256 y limitación de intentos por IP contra ataques de fuerza bruta
- Gestión de colecciones inteligentes basada en reglas (campo/operador/valor) sin dependencias externas complejas
- Estimaciones de impresión que deducen automáticamente el filamento restante al marcar una impresión como completada
- Arquitectura asincrónica para escaneo de biblioteca que evita bloqueos en la interfaz web durante el indexado inicial
- Soporte nativo para plantillas XML de Unraid, permitiendo despliegue directo sin pasos de compilación manuales
- La extensión de navegador no utiliza la autenticación principal del servidor, requiriendo una clave API separada para evitar riesgos de seguridad en caso de fuga de credenciales
- Las estimaciones por heurística tienen un margen de error del 30-50% respecto a cortes reales; se requiere un CLI externo para precisión absoluta
- La importación desde sitios como Printables puede fallar si cambian su estructura HTML o si aplican verificaciones de bot (Cloudflare) que bloquean las peticiones directas
- El escaneo de biblioteca soporta solo una operación simultánea; intentos concurrentes devuelven error 409 para evitar bloqueos en SQLite
- La base de datos es SQLite, lo que puede limitar el rendimiento en bibliotecas extremadamente grandes con miles de archivos activos al mismo tiempo
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.
Utilizar la imagen oficial de Docker Hub o la plantilla XML para Unraid. Configurar PUID/PGID a 99/100 para compatibilidad con permisos del host. Montar el directorio de datos en /data y la configuración en /config. Para IA local, instalar Ollama previamente y apuntar al puerto 11434. Para estimaciones exactas, montar un binario de slicer (ej. PrusaSlicer) en SLICER_CLI_PATH. Habilitar notificaciones vía webhook JSON (ntfy.sh o Discord).
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.