Skip to main content

Immich: Almacenamiento y organización de fotos y vídeos con sincronización automática


Introducción

Este artículo documenta el uso de Immich escomo unaplataforma soluciónself-hosted autohospedadapara la gestión, organización y respaldo de alto rendimiento para gestionar fotosfotografías y vídeos.vídeos Idealpersonales. paraImmich copiasestá automáticasorientado a sustituir servicios cloud privativos tipo Google Photos o iCloud Photos, ofreciendo sincronización automática desde eldispositivos móvil,móviles, búsquedasbúsqueda rápidasavanzada y organización privadainteligente, manteniendo el control total sobre los datos y la infraestructura.

Se integra dentro del stack multimedia como servicio centralizado de recuerdosarchivo digitales.fotográfico, Incluyecon soporte multiusuario, procesamiento mediante GPU y capacidades avanzadas como reconocimiento facial y análisis automático de contenido.


Enfoque general / Arquitectura

El despliegue se realiza mediante Docker Compose, separando claramente los distintos componentes del sistema: servidor principal, motor de machine learning, base de datos PostgreSQL con extensión vectorial y Redis como backend de colas y caché. Esta separación permite escalar o ajustar recursos de forma independiente y aislar responsabilidades.

El almacenamiento de fotografías y vídeos se mantiene en volúmenes persistentes externos al contenedor, desacoplados completamente de la lógica de la aplicación. El procesamiento intensivo (indexación, reconocimiento facial, soportebúsqueda semántica) se apoya en GPU para GPU,reducir varios usuariostiempos y sincronizaciónmejorar desdela appexperiencia móvil.de Importante,uso.

el

El docker-compose.ymlacceso al servicio se realiza a través de la interfaz web y elaplicaciones .envmóviles podríaoficiales, requerircon actualizacionesautenticación futuras.federada Segestionada intentará mantener la documentación al día.externamente.


Desarrollo

Qué se hizo y por qué

    Se eligió Immich como solución fotográfica por su enfoque moderno, rendimiento elevado y funcionalidad comparable a servicios cloud comerciales. La sincronización automática desde la app móvil permite eliminar procesos manuales de copia de seguridad. El uso de GPU acelera notablemente tareas de reconocimiento facial y búsqueda avanzada. La arquitectura desacoplada facilita mantenimiento, actualizaciones y resolución de problemas. La autenticación se delega en Authentik mediante OAuth para unificar el control de acceso dentro del stack.

    Configuración utilizada (solo enlaces)

      docker-compose.yml
      name: immich
      
      services:
        immich-server:
          container_name: IMServer
          image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
          volumes:
            - /data/uploads:/usr/src/app/upload
            - /data/photos:/Fotos
            - /etc/localtime:/etc/localtime:ro
          environment:
            - TZ=Europe/Madrid
          env_file:
            - .env
      ports:
      -

      Tanto 2283:2283el depends_on:docker-compose.yml -como redisel - database restart: unless-stopped immich-machine-learning: container_name: IMMachineLearning image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}-cuda volumes: - model-cache:/cache env_file: - .env restart: unless-stopped redis: container_name: IMRedis image: redis:6.2-alpine restart: unless-stopped database: container_name: IMDB image: tensorchord/pgvecto-rs:pg14-v0.2.0 environment: POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_USER: ${DB_USERNAME} POSTGRES_DB: ${DB_DATABASE_NAME} volumes: - /data/db:/var/lib/postgresql/data restart: unless-stopped networks: default: name: Immich_NET volumes: pgdata: model-cache:


      Archivoarchivo .env

      UPLOAD_LOCATION=/data/uploadsse IMMICH_VERSION=releasemantienen DB_PASSWORD=cambiar_estoversionados DB_HOSTNAME=IMDBy DB_USERNAME=immich_userpueden DB_DATABASE_NAME=immich_dbrequerir REDIS_HOSTNAME=IMRedisajustes 
      en futuras actualizaciones del proyecto.

      Notas personales

      • LoEl tengoservicio está protegido conmediante Authentik usandoutilizando OAuth:OAuth.
      Integración documentada en la wiki: Wiki: integrarIntegrar Immich con Authentik (OAuth) Subo lasLas fotos y vídeos se sincronizan directamente desde ella aplicación móvil con la app oficial. El reconocimiento facial funciona biende forma fiable y acelera muchosignificativamente las búsquedas. PorNo ahora,se sinhan detectado problemas de rendimiento usandoutilizando GPU.

      EnlacesValidación

        Sincronización automática de interésfotos y vídeos desde la aplicación móvil funcionando correctamente. Indexación y reconocimiento facial operativos con aceleración por GPU. Búsquedas rápidas por fecha, persona y metadatos. Persistencia correcta de datos tras reinicios y actualizaciones de contenedores. Integración OAuth con Authentik funcionando sin incidencias.

        Decisiones importantes o problemas detectados

          Immich es un proyecto en evolución activa; los ficheros de configuración pueden requerir cambios entre versiones. El uso de GPU es altamente recomendable para colecciones grandes. Se evita cualquier exposición directa sin autenticación, delegando el acceso en el sistema de identidad central.

          Resumen breve

          Immich se utiliza como sistema centralizado de gestión y respaldo de fotos y vídeos, ofreciendo sincronización automática, búsqueda avanzada y organización inteligente en entorno self-hosted. El despliegue en Docker, con soporte GPU y autenticación federada, permite una solución potente, privada y mantenible, con toda la configuración versionada en Gitea.


          Referencias

          de RepositorioGithub ende GiteaImmich