Immich: Solución autohospedada de gestión de fotos y vídeos de alto rendimiento
Alternativa a Google Photos con respaldo automático, reconocimiento facial, búsqueda por metadatos y soporte multiusuario, desplegable mediante Docker.
Vídeo tutorial en YouTube
Mira el vídeo completo sobre cómo instalar y usar Immich: Solución autohospedada de gestión de fotos y vídeos de alto rendimiento en el canal GENBYTE:
¿Qué es Immich: Solución autohospedada de gestión de fotos y vídeos de alto rendimiento?
Immich es una plataforma de gestión de fotos y vídeos de alto rendimiento diseñada para ejecutarse en infraestructura propia. Ofrece una experiencia similar a Google Photos o iCloud, pero con control total sobre los datos, privacidad y personalización. El proyecto está desarrollado como monorepo con tecnologías modernas: backend en NestJS (Node.js/TypeScript), frontend web en SvelteKit y aplicaciones móviles en Flutter. Se distribuye bajo licencia AGPL-3.0 y cuenta con una comunidad activa de más de 115.000 estrellas en GitHub.
Características principales
Respaldo automático y manual
Subida de fotos y vídeos desde la app móvil al abrirla (auto backup) o en segundo plano, con prevención de duplicados y selección de álbumes específicos para respaldo.
Búsqueda avanzada
Búsqueda por metadatos EXIF, objetos detectados, reconocimiento facial, y búsqueda semántica vectorial mediante CLIP para encontrar imágenes por descripción natural.
Gestión multiusuario y compartida
Soporte nativo para múltiples usuarios, álbumes compartidos, uso compartido con pareja (Partner Sharing), enlaces públicos de solo lectura y funciones administrativas en la interfaz web.
Compatibilidad de formatos y metadatos
Soporte para formatos RAW, Live Photos / Motion Photos, imágenes 360° (solo web), visualización de EXIF y mapa global de ubicaciones.
Organización inteligente
Álbumes, favoritos, archivo, apilado de fotos (stacked), etiquetas (solo web), vista de carpetas, recuerdos (x años atrás) y modo galería de solo lectura.
Autenticación y acceso programático
Inicio de sesión OAuth, claves API para integraciones, acceso offline en móviles y descarga de assets al dispositivo local.
Requisitos del sistema
- Servidor con arquitectura x86_64 o ARM64
- Docker y Docker Compose (v2) instalados
- Mínimo 2 GB de RAM recomendados (4 GB o más para reconocimiento facial y ML)
- Espacio en disco según volumen de biblioteca multimedia
- Puertos 2283 (HTTP) y 2284 (HTTPS opcional) disponibles
- Base de datos PostgreSQL 15+ y Redis 7+ (gestionados vía contenedores en la pila oficial)
Instalación con Docker Compose
Instalación rápida con script oficial
El repositorio incluye un script `install.sh` que descarga la plantilla `docker-compose.yml` y el archivo `.env` de ejemplo, crea los directorios de datos y levanta la pila completa. Requiere revisar y ajustar variables de entorno antes de iniciar.
Despliegue manual con Docker Compose
Descarga los archivos de configuración desde la documentación oficial, adapta `UPLOAD_LOCATION`, `DB_PASSWORD`, `REDIS_PASSWORD` y demás variables en `.env`, y lanza los contenedores. La pila incluye servicios: immich-server, immich-machine-learning, postgres, redis y opcionalmente immich-web (sirve el frontend).
wget -O .env.example https://github.com/immich-app/immich/releases/latest/download/.env.example
cp .env.example .env
# Edita .env con tus valores
docker compose up -d
Acceder al proyecto
Interfaz web local
Tras el despliegue, accede a `http://<IP_DEL_SERVIDOR>:2283`. El primer usuario que se registre obtiene rol de administrador.
Demo pública
Disponible en https://demo.immich.app con credenciales de prueba: email `[email protected]`, contraseña `demo`. Útil para evaluar funcionalidades antes de instalar.
Aplicaciones móviles
Apps oficiales para iOS (TestFlight / App Store) y Android (Play Store / F-Droid / APK). Configura `Server Endpoint URL` apuntando a tu instancia (ej. `https://fotos.midominio.com` o `http://192.168.1.50:2283`).
Casos de uso
- Sustitución privada de Google Photos / iCloud con propiedad total de los datos
- Respaldo automático de fotos y vídeos del móvil a servidor propio (NAS, VPS, mini PC)
- Galería familiar multiusuario con álbumes compartidos y control de permisos
- Archivo fotográfico profesional con búsqueda por metadatos EXIF, ubicación y contenido visual
- Integración en flujos de trabajo mediante API Keys y webhooks (automatización, copias de seguridad externas)
Configuración avanzada
Configuración de almacenamiento personalizado
La variable `UPLOAD_LOCATION` define la ruta raíz de los assets. Immich permite estructura de carpetas definida por usuario (`user-defined storage structure`) y montaje de volúmenes NFS, SMB o discos locales en el contenedor `immich-server`.
Autenticación OAuth / OIDC
Soporte para proveedores OAuth 2.0 / OpenID Connect (Google, Microsoft, GitHub, Authelia, Keycloak, etc.). Se configura mediante variables de entorno `OAUTH_ENABLED`, `OAUTH_CLIENT_ID`, `OAUTH_CLIENT_SECRET`, `OAUTH_ISSUER_URL`, `OAUTH_SCOPE` y `OAUTH_BUTTON_TEXT`.
OAUTH_CLIENT_ID=tu_client_id
OAUTH_CLIENT_SECRET=tu_client_secret
OAUTH_ISSUER_URL=https://accounts.google.com
OAUTH_SCOPE=openid email profile
OAUTH_BUTTON_TEXT=Iniciar con Google
Reconocimiento facial y machine learning
El servicio `immich-machine-learning` expone modelos de detección de caras, objetos y embeddings CLIP. Puede ejecutarse en CPU o GPU (NVIDIA CUDA). Variables relevantes: `MACHINE_LEARNING_URL`, `FACE_RECOGNITION_ENABLED`, `OBJECT_DETECTION_ENABLED`, `CLIP_ENABLED`.
FACE_RECOGNITION_ENABLED=true
OBJECT_DETECTION_ENABLED=true
CLIP_ENABLED=true
Claves API para integraciones
Generación de API Keys desde la interfaz de administración (solo web) para scripts de respaldo, sincronización con Immich-Go, rclone, Home Assistant u otras herramientas.
curl -H "x-api-key: TU_API_KEY" https://fotos.midominio.com/api/albums
Gestión y mantenimiento
Actualizaciones
Las nuevas versiones se publican en GitHub Releases y Docker Hub. Para actualizar: detén la pila, descarga el nuevo `docker-compose.yml` y `.env.example`, combina cambios en tu `.env` y vuelve a levantar. Revisa siempre el changelog por migraciones de base de datos o cambios en variables.
wget -O docker-compose.yml https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
wget -O .env.example https://github.com/immich-app/immich/releases/latest/download/.env.example
# Compara y actualiza tu .env
docker compose up -d
Estrategia de respaldo (3-2-1)
El proyecto advierte explícitamente seguir la regla 3-2-1: tres copias, dos medios distintos, una fuera del sitio. Respaldar: volúmenes de PostgreSQL (`/var/lib/postgresql/data`), Redis (`/data`), assets (`UPLOAD_LOCATION`) y archivo `.env`. Herramientas recomendadas: restic, borg, rclone, snapshots de ZFS/Btrfs.
rclone sync /mnt/data/immich/library remote:immich-backup/library –progress
Limpieza y mantenimiento de base de datos
Immich incluye tareas programadas (cron) para limpieza de trabajos fallidos, miniaturas huérfanas y optimización de índices. Se ejecutan dentro del contenedor `immich-server`. No se requiere intervención manual salvo revisión de logs.
Stack técnico
- TypeScript
- Node.js
- NestJS (backend API)
- SvelteKit (frontend web)
- Flutter (apps móviles iOS/Android)
- PostgreSQL 15+ (base de datos principal)
- Redis 7+ (caché, colas, sesiones)
- TensorFlow / ONNX Runtime (machine learning: caras, objetos, CLIP)
- Docker / Docker Compose (despliegue estándar)
- pnpm (gestor de paquetes monorepo)
- Nginx (reverse proxy en contenedor web opcional)
Referencias oficiales
- Repositorio oficial en GitHub: https://github.com/immich-app/immich
- Sitio web y documentación: https://immich.app
- Guía de instalación oficial: https://docs.immich.app/install/requirements
- Demostración pública: https://demo.immich.app
- Hoja de ruta (Roadmap): https://immich.app/roadmap
- Licencia AGPL-3.0: https://opensource.org/license/agpl-v3
- Comunidad en Discord: https://discord.immich.app
Apoya el canal GENBYTE
¿Te ha sido útil este contenido?
Suscríbete a YouTube
Newsletter GENBYTE
Ko-fi
Contacto: [email protected]
