Ctrl K
ComunidadGuías…
GITHUB · ANALIZADO

shashin

Shashin es una galería de fotos y video autoalojada con inteligencia artificial para descripciones, reconocimiento facial y búsqueda semántica.

Ficha actualizada 22 sept 2026, 18:26 · upstream 22 sept 2026, 16:19 · release v2.28.1

Ver códigoProblemas y ayudaRepositorio ↗
00

Qué es shashin

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

Shashin permite escanear directorios locales, navegar por tu biblioteca de imágenes y permitir que la IA describa, etiquete y responda preguntas sobre tus fotografías. Funciona en hardware propio sin necesidad de servidores externos.

Las características principales incluyen: - Memorias: presentaciones AI curadas agrupando fotos por ocasión o personas con historial temporal. - Capturas de texto e etiquetas: conexión con Ollama para generar descripciones automáticas y tags. - Preguntas sobre tus fotos: consultas conversacionales que mantienen historial por foto. - Búsqueda semántica: encuentra imágenes por significado usando embeddings generados por Nomic Embed Text vía Ollama. - Reconocimiento facial: detección, enrolación y etiquetado de rostros mediante Argus con sincronización en tiempo real por webhook. - Detección de objetos: identificación automática de elementos presentes en las fotos. - Mapa interactivo: exploración geográfica con OpenLayers y geocodificación inversa. - Browsing rico: cronología, carpetas, álbumes, favoritos, palabras clave, fecha de toma/modificación/accesso. - Búsqueda de texto completo: sobre títulos, descripciones, keywords, personas y lugares. - Extracción de metadatos EXIF: extraída automáticamente y totalmente editable. - Detección de duplicados: mediante hashing perceptual con búsqueda de similaridad BK-tree. - Multiusuario: tres niveles de rol, autenticación de sesión para la interfaz y autenticación por clave API para la REST API. - RSS/Atom feeds: publicación de contenido en formato estándar.

La aplicación está construida con Spring Boot y Kotlin, utilizando Thymeleaf como motor de plantillas. Se ejecuta localmente sin necesidad de infraestructura externa.

CASOS DE USO
  • Organizar una colección familiar de fotos antiguas mediante descripciones generadas por IA que expliquen el contexto emocional de cada imagen.
  • Crear presentaciones personalizadas para eventos o celebraciones donde se seleccionan fotos y la IA genera narrativas contextuales.
  • Investigar sobre un evento histórico o lugar específico consultando imágenes relacionadas a través de búsqueda semántica sin necesidad de conocer nombres exactos.
  • Identificar objetos en una escena (personas, vehículos, animales) para crear mapas interactivos de eventos o investigaciones locales.
  • Detección y etiquetado automático de rostros en documentos históricos o fotografías antiguas mediante reconocimiento facial con Argus.
  • Generar descripciones automáticas para contenido multimedia que permita su búsqueda y recuperación por palabras clave semánticas.
PUNTOS DESTACADOS
  • Soporta tanto imágenes como video, permitiendo un solo repositorio para ambos tipos de contenido.
  • Permite extracción y edición completa de metadatos EXIF, incluyendo datos geoespaciales y de cámara.
  • Utiliza embeddings generados por Nomic Embed Text vía Ollama para búsqueda semántica sin necesidad de modelos preentrenados externos.
  • Soporta autenticación multiusuario con tres niveles de rol diferenciados (admin, editor, viewer) mediante sesiones.
PRECAUCIONES
  • La detección de objetos y el reconocimiento facial requieren que las imágenes tengan suficiente resolución y contraste para ser procesadas correctamente.
  • El reconocimiento facial depende del modelo de Argus utilizado; no es universal ni funciona con todas las poblaciones o condiciones de iluminación.
  • Las descripciones generadas por IA pueden generar contenido inapropiado si se permite la generación sin restricciones (por defecto está desactivado).
  • La búsqueda semántica depende del modelo Nomic Embed Text; no es compatible con todos los modelos de embeddings disponibles.
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

Para ejecutar Shashin, ejecuta `mvn -Pprod clean install` y luego `docker build -t michaeltyagi/shashin .`. Se publica a Docker Hub como `michaeltyagi/shashin`. Para producción se recomienda usar un contenedor con limitaciones de recursos adecuadas. Se recomienda desplegar en un entorno Kubernetes para escalar horizontalmente.

✓Dockerfile
✓Compose
✓One-click
03

Stack y dependencias

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

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