La relación entre Gallery e Immich
Noodle Gallery es un fork respetuoso de Immich, la plataforma open source de gestión de fotos autoalojada creada por Alex Tran y una comunidad en crecimiento. Gallery se rebasa sobre cada versión upstream de Immich, de modo que las correcciones, las mejoras de rendimiento y las nuevas funcionalidades del equipo de Immich llegan automáticamente a Gallery.
La relación es deliberadamente sencilla: Immich es la base. Gallery se apoya en ella y añade un pequeño número de funcionalidades para casos de uso que no encajan en el alcance upstream. Misma base de datos, mismos contenedores, mismo camino de vuelta. Si cambias de opinión, volver atrás es un cambio de tres líneas.
Esta página existe porque los usuarios de Immich se hacen, con razón, la pregunta: «¿En qué se diferencia?». La respuesta merece ser clara, y no porque consideremos que upstream sea inferior.
Donde Immich llega a sus límites, y cómo Gallery los cubre
Cada funcionalidad exclusiva de Gallery empezó con la misma observación: alguien topó con un límite en Immich y buscaba una solución. Las categorías de abajo agrupan esos límites por tema, cada una acompañada de las funcionalidades de Gallery que les dan respuesta.
Personas e identidad
El límite. El reconocimiento facial de Immich se detiene en la cuenta. La misma persona real existe como entrada distinta en tu biblioteca, en la de tu pareja y en cada álbum compartido que ambos tocáis. Si la buscas, solo encuentras un tercio de sus fotos. Si la nombras en una cuenta, nada se propaga a las demás. La página Personas indica en qué contenedor aparece alguien, no quién forma realmente parte de tu vida.
Cómo lo resuelve Gallery.
- Carpetas para álbumes de Space — carpetas anidables en la pestaña Álbumes de un Espacio compartido, para que un Espacio llenado por varias personas conserve una forma navegable. Los editores crean, renombran y arrastran; eliminar una carpeta hace subir su contenido en lugar de llevárselo.
- Workflows para Shared Spaces — acciones de workflow que añaden una foto que llega a uno o varios Shared Spaces, o la archivan en un álbum con nombre dentro de un space — creando y vinculando ese álbum si aún no existe.
- Espacios compartidos — timelines colaborativas con roles de Propietario, Editor y Lector, reconocimiento facial entre cuentas, integración en la timeline, seguimiento de la última visita y registro de actividad.
- Personas globales — las personas, los filtros y los resultados de búsqueda que tienen en cuenta la identidad se deduplican en tu biblioteca privada y en cada espacio con timeline al que tienes acceso. Una sola fila en la página Personas, una sola sugerencia en los filtros, un solo resultado en la búsqueda, sin cruzar nunca un límite de permiso del que ya estás del lado correcto. Los nombres, las agrupaciones y las fechas de cumpleaños permanecen donde se introdujeron; la capa de identidad por debajo conecta lo que es claramente la misma persona.
Compartir y colaborar
El límite. Las dos primitivas de compartición de Immich —el compartir con una pareja y los álbumes— llegan a sus límites más allá de dos personas. El compartir con pareja es todo o nada. Los álbumes pertenecen a la persona que los creó. No existe una timeline familiar común, ni un registro de actividad, ni un «qué hay de nuevo desde mi última visita», ni una forma de compartir decenas de miles de fotos sin seleccionarlas a mano.
Cómo lo resuelve Gallery.
- Álbumes de Space — lleva álbumes enteros a un Espacio: vincula un álbum existente o crea uno nuevo dentro, en web y móvil, con contribuciones entre propietarios y control por álbum de la línea de tiempo compartida.
- Filtrado de espacios — la suite completa de filtros dentro de un espacio individual.
- Grupos de usuarios — grupos con nombre y color para compartir con un solo clic.
- Añadir en masa a los espacios — añadir cientos de miles de fotos a un espacio mediante una tarea en segundo plano.
Las caras que el reconocimiento no se atreve a asignar
El límite. El reconocimiento facial es prudente a propósito, y por un buen motivo: los errores son asimétricos. Una cara que nunca llegó a asignarse es una pérdida pequeña y silenciosa. Una cara asignada a la persona equivocada se propaga —a la búsqueda, a los recuerdos, al álbum que ve todo el mundo— y sacarla de ahí obliga a encontrar cada sitio al que ha llegado. Por eso el modelo mantiene un umbral estricto y deja en paz todo lo que se quede por debajo. El precio es una larga cola de casi aciertos en cada biblioteca: la foto de perfil, la de mala luz, la de hace cuatro años, todas sin asignar mientras la persona a la que pertenecen tiene nombre y resulta evidente. Immich no ofrece ninguna forma de recorrer esa cola, ni de desenredar los grupos que sí llegaron a fusionar a dos personas. El umbral es algo con lo que convives en los dos sentidos.
Cómo lo resuelve Gallery.
- Sugerencias de caras — los casi aciertos vuelven a ti como un aviso en la persona con nombre a la que probablemente pertenecen. Revísalos de uno en uno frente a una foto conocida: la misma persona, una persona distinta o ignorar la cara. Cada respuesta es duradera, así que nunca se te pregunta dos veces, y descartar una sugerencia jamás impide que el reconocimiento normal asigne esa cara más adelante por su cuenta.
- Limpieza de caras — para cuando la agrupación sí se equivocó. Un análisis encuentra los grupos contaminados con fotos de otra persona y los reparte en un carril que apruebas de una sola pasada y otro que necesita una mirada humana. Cada cara marcada aterriza en uno de seis destinos explícitos, no se escribe nada hasta que aplicas, y la revisión manual audita a la persona que tú elijas sin ejecutar ningún análisis.
Ambas funcionan sobre una única capa de veredictos compartida, que es lo que hace que una decisión tomada en cualquiera de las dos valga en todas partes: a través de las fusiones, de los cambios de nombre y de cada análisis futuro. Juntas convierten un umbral conservador de un impuesto permanente en algo que de verdad puedes corregir.
Búsqueda y descubrimiento
El límite. Cada página de Immich tiene su propia búsqueda; no existe una entrada global centrada en el teclado. Los resultados de la búsqueda inteligente llegan por orden de relevancia, sin orden por fecha ni umbral de similitud. Los filtros funcionan de forma aislada.
Cómo lo resuelve Gallery.
- Agrupación de la timeline — ¿te cuesta encontrar una foto cuando tu biblioteca abarca más de 20 años? Alterna cualquier timeline entre Años, Meses y Todo, y acerca y aleja hasta dar con las fotos que buscas. Toca una tarjeta de año o de mes para sumergirte en ese periodo sin restringir la consulta; tu posición de desplazamiento se conserva al volver a salir.
- Filtros de búsqueda integrados — personas, etiquetas, fechas, lugares, valoraciones, tipo de medio, favoritos, cámaras y filtros de álbumes para escribir directamente en la barra de búsqueda, con sugerencias en vivo antes de pulsar Intro.
- Búsqueda global — Cmd/Ctrl+K como interfaz de búsqueda central para fotos, personas, lugares, etiquetas, comandos y páginas.
- Paleta de búsqueda — paleta de comandos centrada en el teclado con prefijos y comandos contextuales.
- Orden de búsqueda y relevancia — ordenar por fecha o por relevancia y ajustar los umbrales de similitud.
- Filtros dependientes — cada filtro restringe todos los demás filtros en tiempo real.
- Búsqueda inteligente y filtros contextuales — búsqueda en lenguaje natural dentro de los espacios con sugerencias de filtros adaptativas.
- Filtrado en el mapa — panel de filtros directamente en la vista de mapa.
- Filtros contextuales — el panel de información del visor se convierte en una superficie de filtrado. Haz clic en la cámara, el objetivo, la ciudad, la fecha, una etiqueta, el álbum o el nombre de archivo y la superficie desde la que abriste la foto se acota para coincidir —tu línea de tiempo, un álbum, un Espacio o el mapa—, con el filtro en la URL para que la vista se pueda compartir y el botón de atrás funcione.
IA y automatización
El límite. La interfaz de IA de Immich se centra en las caras y en la búsqueda CLIP básica. Las mascotas no se reconocen. Los recuerdos solo muestran «Ese día». No existe una forma automática de retirar el desorden de la timeline.
Cómo lo resuelve Gallery.
- Reconocimiento de mascotas — perros y gatos individuales en lugar de una entrada compartida por especie: nombrados, fusionados y recorridos en la página Personas igual que las personas, con un filtro Todo / Personas / Mascotas y sin umbral mínimo de fotos. Funciona sobre tres modelos de reidentificación que entrenamos nosotros y publicamos con pesos abiertos.
- Recuerdos generados — nueve tipos de recuerdo más junto a «En este día»: resúmenes del mes y de la estación, recuerdos de favoritos, lugares en la fecha de hoy, aniversarios de viaje, personas juntas, momentos en vídeo, conjuntos temáticos y recuerdos de personas — escalonados a lo largo del mes y desactivables uno a uno, por persona y para todo el servidor.
- Clasificación automática — etiquetar y archivar el desorden como capturas de pantalla, memes y recibos mediante CLIP.
- Archivo de recuerdos — recorrer los recuerdos generados guardados y configurar su duración de conservación.
- Recuerdos más inteligentes — recuerdos de viajes y aniversarios con reglas del lado del servidor.
- Reconocimiento de mascotas — RF-DETR encuentra automáticamente los gatos y perros, y el Reconocimiento los convierte en individuos con nombre.
- Detección de vídeos duplicados — encontrar vídeos duplicados pese al recodificado, el redimensionado o el cambio de formato.
Gestión de medios y migración
El límite. Recortar un vídeo en Immich significa: exportar, editar fuera, reimportar. Pasar de Google Fotos requiere herramientas CLI y scripts. El almacenamiento es un disco local o bibliotecas externas, pero sin un backend de almacenamiento compatible con S3 nativo.
Cómo lo resuelve Gallery.
- Recorte de vídeo — recortar los vídeos sin pérdida mediante copia de flujo.
- Bibliotecas conectadas — hacer que las bibliotecas externas sean visibles de inmediato en los Espacios compartidos.
- Importación de Google Fotos — importar los archivos de Google Takeout directamente en el navegador.
- Almacenamiento compatible con S3 — usar AWS S3, MinIO, Cloudflare R2, Backblaze B2, Wasabi o cualquier almacenamiento compatible con S3.
Móvil
El límite. Filtrar la timeline en la aplicación de Immich implica pasar a una pestaña de Búsqueda aparte y perder la posición de desplazamiento. Las interfaces avanzadas como el mapa, la búsqueda contextual y los Espacios compartidos están escondidas en la aplicación o ausentes.
Cómo lo resuelve Gallery.
- Filtros de fotos en móvil — un panel deslizante en la pestaña Fotos filtra por personas, lugares, etiquetas, fecha, valoración y tipo de medio, sin salir de la vista de cuadrícula.
- Noodle Gallery para iPhone — aplicación iOS nativa en la App Store con copia de seguridad de la cámara, búsqueda CLIP en el dispositivo, mapa y vista previa de los Espacios compartidos.
- Noodle Gallery para Android — aplicación Android nativa en Google Play con copia de seguridad de la cámara, búsqueda CLIP en el dispositivo, mapa y Espacios compartidos.
Los límites en comparación directa
Una vista condensada de las mismas carencias y sus soluciones, práctica si quieres ver el conjunto en una tabla.
| Donde Immich llega a sus límites | Cómo los resuelve Gallery |
|---|---|
| Una lista de álbumes compartidos es plana — nada con lo que agrupar veinticinco álbumes | Carpetas de álbumes anidables en cada Espacio compartido, con portadas, recuentos y ruta de navegación, en web y móvil |
| Sin detección de mascotas, así que no hay forma de encontrar a tu propio perro | La Detección de mascotas encuentra los gatos y perros; el Reconocimiento los convierte en individuos con nombre en la página Personas, sobre modelos que entrenamos y publicamos nosotros |
| La automatización se detiene en el borde de una biblioteca compartida — nada puede archivar por ti una foto que llega dentro de un space | Workflows para Shared Spaces — las acciones «añadir al space» y «añadir al álbum de un space», encadenadas a cualquier disparador o filtro, creando el álbum si falta |
| Los recuerdos solo preguntan «¿qué pasó en esta fecha?», así que la mayoría de los días salen vacíos y todas las tarjetas se parecen | Recuerdos generados — nueve reglas más para meses, estaciones, lugares, favoritos, personas juntas, vídeos, aniversarios de viaje, temas y recuerdos de personas, repartidas por el mes |
| Los filtros móviles salen de la pestaña Fotos y hacen perder la posición de desplazamiento | Panel de filtros directamente en la pestaña Fotos — personas, lugares, etiquetas, fecha, valoración, tipo de medio |
| El compartir con pareja es todo o nada; los álbumes pertenecen al creador; el reconocimiento facial se detiene en la cuenta | Espacios compartidos con timelines multipropietario, roles, reconocimiento facial entre cuentas, seguimiento de la última visita y registro de actividad |
| Los álbumes pertenecen a quien los creó y viven fuera de cualquier línea de tiempo compartida | Álbumes de Space — vincula o crea álbumes dentro de un Espacio compartido, con contribuciones entre propietarios y control de la línea de tiempo por álbum, en web y móvil |
| La misma persona puede aparecer como varias entradas en bibliotecas privadas y compartidas | Personas globales — filas de personas, filtros y resultados de búsqueda que tienen en cuenta la identidad en los espacios con timeline accesibles |
| El reconocimiento es prudente a propósito, así que se salta los casos dudosos, y nada te devuelve esas caras de casi acierto | Sugerencias de caras — los casi aciertos aparecen sobre la persona con nombre a la que probablemente pertenecen, se revisan de uno en uno y cada respuesta queda guardada |
| Cuando la agrupación fusiona a dos personas, desenredarlo significa reasignar caras a mano y sin ninguna herramienta | Limpieza de caras — un análisis encuentra los grupos contaminados y los reparte en un carril que se aprueba de una sola pasada y otro de revisión, con seis destinos explícitos por cara |
| El panel de información muestra la cámara, el lugar, la fecha y las etiquetas, pero nada de eso se puede accionar: filtrar obliga a irse a una página de búsqueda | Filtros contextuales — haz clic en cualquier valor de los metadatos para filtrar la superficie en la que ya estás, con el filtro en la URL |
| Las mascotas no se reconocen | Detección de mascotas con RF-DETR, más mascotas con nombre propio |
| Los recuerdos solo muestran “Ese día” | Recuerdos más inteligentes con retrospectivas de viajes y aniversarios |
| Los recuerdos generados desaparecen tras su ventana de carrusel diaria | Archivo de recuerdos con búsqueda y conservación configurable |
| Cada página tiene su propia búsqueda; no hay entrada global por teclado | Paleta de búsqueda mediante Cmd/Ctrl+K desde cualquier sitio |
| Los filtros avanzados obligan a salir del flujo del teclado para acceder al panel de filtros | Filtros de búsqueda integrados — escribir filtros estructurados directamente en la barra de búsqueda, con sugerencias en vivo y estado de URL compartible |
| Navegar por una biblioteca grande obliga a desplazarse por cada bloque diario — imposible saltar a un año o un mes de un vistazo | Agrupación de la timeline — selector Años / Meses / Todo en cada timeline; acerca y aleja tocando una tarjeta de año o de mes para encontrar rápido una foto en una biblioteca de décadas de antigüedad |
| La búsqueda inteligente no tiene orden por fecha ni umbral de relevancia | Orden por fecha, desplazamiento infinito por fecha, umbral de similitud ajustable |
| Los filtros funcionan de forma aislada | Los filtros dependientes se restringen mutuamente en tiempo real |
| El mapa no tiene su propio panel de filtros | Panel de filtros completo en el mapa, los marcadores se actualizan en vivo |
| Sin almacenamiento compatible con S3 nativo | AWS S3, MinIO, Cloudflare R2, Backblaze B2, Wasabi o cualquier almacenamiento compatible con S3 |
| La importación desde Google Fotos requiere herramientas CLI y scripts | Asistente de importación guiado para los archivos de Google Takeout en el navegador |
| Recortar un vídeo significa exportar y recodificar | Recorte sin pérdida mediante copia de flujo, casi instantáneo |
Importante: cada solución de arriba es aditiva. Gallery no reemplaza nada de lo que Immich hace. Las funcionalidades principales, la API REST, las integraciones de terceros, Frame, la domótica: todo sigue funcionando en un servidor Gallery.
Prueba Gallery con tu biblioteca de Immich existente.
Cambia tres líneas de configuración, conserva la misma base de datos y los mismos archivos subidos, y usa el script para volver atrás si Gallery no es para ti. Tus fotos y vídeos permanecen exactamente donde están.
¿Deberías quedarte en Immich upstream?
Existen razones de verdad para ejecutar Immich upstream en lugar del fork. No son argumentos de fachada, sino casos en los que upstream es la elección correcta.
Tamaño de la comunidad e historial
Immich lleva activo desde 2022, tiene decenas de miles de estrellas en GitHub, numerosos colaboradores y un gran Discord. Si quieres el confort de una gran comunidad, upstream es el lugar adecuado.
Pruebas en una mayor variedad de plataformas
Immich upstream funciona en una enorme cantidad de combinaciones de hardware y de NAS. Si tu configuración es inusual, esa mayor superficie de pruebas te resultará útil.
No necesitas los añadidos
Si no necesitas los Espacios compartidos, el reconocimiento de mascotas, el almacenamiento S3, las importaciones de Google Takeout o los filtros avanzados, Immich upstream ya hace todo lo que quieres.
Migrar desde Immich es un cambio de tres líneas
Si ya tienes Immich en marcha y quieres probar Gallery, el cambio es trivial. Sustituye dos nombres de imágenes en tu docker-compose.ymly pon IMMICH_VERSION en v5 dentro de tu .env.
image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}image: ghcr.io/open-noodle/gallery-server:${IMMICH_VERSION:-release}image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}image: ghcr.io/open-noodle/gallery-ml:${IMMICH_VERSION:-release}IMMICH_VERSION=releaseIMMICH_VERSION=v5Después, descarga las nuevas imágenes y reinicia:
docker compose pull && docker compose up -dSin migración de datos. Sin conversión de base de datos. Sin copia de archivos. Tu biblioteca permanece exactamente donde está.
docker exec -t your-db-container pg_dumpall -U postgres > backup.sqlLa guía completa paso a paso está en la página de instalación. Ver la guía de migración →
Gallery incluye un SQL de limpieza que elimina todas las extensiones de base de datos propias de Gallery. Tus fotos y vídeos nunca se tocan. Basta con volver a poner los dos nombres de imágenes y estarás de vuelta en upstream.
Leer la guía para volver atrásLa misión de Gallery es poner a tu disposición un pequeño número de funcionalidades adicionales sin obligarte a elegir entre ellas y la hoja de ruta de Immich.
Preguntas frecuentes
¿Mis datos están seguros si paso de Immich a Noodle Gallery?
Sí. Gallery utiliza el mismo esquema de base de datos, la misma estructura de directorio de subidas y los mismos formatos de archivo que Immich upstream. La migración consiste en cambiar dos nombres de imágenes en tu docker-compose.yml. Tu biblioteca nunca se copia, transforma ni reescribe: Gallery lee y escribe exactamente los mismos archivos que Immich ya utiliza.
¿Puedo volver a Immich upstream más adelante?
Sí. Gallery incluye un script de limpieza que elimina de la base de datos cada tabla, columna y marcador de migración propios de Gallery. Tus fotos y vídeos nunca se tocan. Ejecuta el script, vuelve a poner los dos nombres de imágenes en ghcr.io/immich-app/immich-server y ghcr.io/immich-app/immich-machine-learning, lanza docker compose pull y estarás de vuelta en upstream.
¿Gallery se alejará de Immich con el tiempo?
No, el objetivo es justo lo contrario. Gallery se rebasa sobre cada versión upstream de Immich, de modo que las correcciones, las mejoras de rendimiento y las nuevas funcionalidades del equipo de Immich llegan automáticamente a Gallery. Las funcionalidades exclusivas de Gallery son aditivas: se apoyan en upstream, no lo reemplazan.
¿Con qué rapidez se rebasa Gallery tras una nueva versión de Immich?
Normalmente en pocos días. El proceso de rebase está automatizado donde tiene sentido y es manual donde hace falta. El objetivo es mantenernos lo bastante cerca como para que Gallery parezca un Immich ligeramente enriquecido, y no un proyecto distinto.
¿Gallery tiene aplicación móvil?
Sí. Noodle Gallery está disponible en la App Store para iPhone y en Google Play para Android, con copia de seguridad automática de la cámara en segundo plano, búsqueda CLIP en el dispositivo, vista de mapa y Espacios compartidos.
¿Las aplicaciones de terceros para Immich siguen funcionando con Noodle Gallery?
Sí, por completo. Gallery expone la misma API REST que Immich upstream: mismos endpoints, mismas rutas, mismas cargas útiles. Las herramientas creadas para la API de Immich funcionan sin cambios con Gallery: clientes móviles, Immich Frame, integraciones domóticas, herramientas CLI y scripts. Noodle Gallery también tiene su propia app para iOS y Android.
¿Por qué forkear en lugar de aportar las funcionalidades a upstream?
Varias funcionalidades exclusivas de Gallery —como los Espacios compartidos, el reconocimiento de mascotas y los filtros contextuales— fueron rechazadas en upstream, consideradas fuera de alcance, o habrían requerido cambios arquitectónicos incompatibles con la hoja de ruta de Immich. El fork permite experimentar sin frenar al equipo upstream, y el rebase garantiza que no perdamos sus avances.
Una nota para el equipo de Immich upstream
Noodle Gallery existe porque Immich existe. Le debemos al equipo upstream la arquitectura, el diseño de la base de datos, las apps móviles, la integración CLIP y la impresionante cadencia de publicación. Si encuentras Gallery útil, considera dar una estrella, un patrocinio o una contribución a immich-app/immich.