Google Fotos no deja de empujarte hacia el almacenamiento de pago, y iCloud hace lo mismo. Si ya tienes Proxmox en tu homelab, Immich en Proxmox LXC es la salida más limpia. Immich 3.0 llegó en 2026 con un stack de machine learning completamente renovado, respaldos más confiables en Android y edición no destructiva, y hoy compite de verdad con Google Fotos en el uso diario.
Esta guía te lleva a montar Immich 3.0 dentro de un contenedor LXC de Proxmox, con un dataset ZFS montado para tu biblioteca de fotos. Sin relleno ni vaguedades. Nivel producción desde el principio.
Por qué Immich cruzó el umbral en 2026
Immich supera las 90.000 estrellas en GitHub a mediados de 2026: es uno de los proyectos autoalojados que más rápido ha crecido. La versión 3.0 no fue solo un cambio de número. Renovó el pipeline de búsqueda semántica basado en CLIP (así que la detección de caras y búsquedas como "fotos de mi perro en la playa" realmente funcionan bien), introdujo cambios incompatibles en los endpoints de la API que limpiaron años de deuda técnica y trajo edición no destructiva en el móvil, con recorte y rotación reversibles.
El respaldo en segundo plano en Android por fin es confiable. Las versiones anteriores eran famosas por fallar con perfiles agresivos de optimización de batería. Immich 3.0 usa un programador de tareas periódicas que sobrevive al modo Doze: una mejora real si ya te había fallado antes.
En resumen: si probaste Immich hace 12-18 meses y lo dejaste, vale la pena darle otra oportunidad.
Requisitos de hardware para Immich 3.0 en Proxmox
Immich consume más recursos que una app autoalojada típica. El modelo de ML CLIP y el reconocimiento facial consumen mucha RAM durante los escaneos iniciales de la biblioteca.
Mínimo: 6 GB de RAM, 2 vCPU Recomendado: 8-16 GB de RAM, 4 vCPU Requisito de CPU (importante): desde la v3.0, el contenedor de ML en amd64 requiere la microarquitectura x86-64-v2. La mayoría de las CPUs desde 2012 en adelante cumplen. Los Xeon más viejos (anteriores a Sandy Bridge), no.
En cuanto a almacenamiento, Immich necesita un NVMe rápido para la base de datos y la caché de modelos de ML, y puede montar tu biblioteca de fotos desde un dataset ZFS, una carpeta NFS o un directorio local. Mantén la base de datos en SSD: no la pongas en discos mecánicos.
Si vas a armar o mejorar tu nodo de Proxmox para esto:
- NVMe Crucial P3 Plus de 2 TB (PCIe 4.0): buena relación precio-rendimiento para la base de datos de Immich y el volumen de trabajo
- Disco NAS WD Red Plus de 8 TB: para el volumen de la biblioteca de fotos si vas con discos mecánicos
- Disco NAS Seagate IronWolf de 12 TB: el siguiente escalón si tu biblioteca es grande o crece rápido
- Kingston 32 GB DDR4 ECC SODIMM: para nodos donde quieres margen para varias VMs además de este LXC
- Mini PC Beelink EQ12 (N100, 16 GB de RAM): si quieres un nodo de Proxmox dedicado y de bajo consumo solo para Immich
Configura el contenedor LXC en Proxmox
El camino más rápido es el proyecto Proxmox VE Helper Scripts, mantenido por la comunidad. Se encarga de crear el contenedor, los permisos, instalar Docker y desplegar Immich de una sola vez.
Entra por SSH a tu host de Proxmox y ejecuta:
bash -c "$(wget -qLO - https://github.com/community-scripts/ProxmoxVE/raw/main/ct/immich.sh)"
El script te guiará por:
- ID del contenedor y hostname
- Asignación de RAM y vCPU
- Tamaño de disco para la raíz del contenedor (recomiendo 32 GB como mínimo)
- Bridge y configuración de IP
Al terminar, tienes un LXC Debian con Docker e Immich preinstalados.
Si prefieres control manual, crea un LXC sin privilegios a partir de una plantilla Debian 12 y luego:
# Inside the LXC
apt update && apt install -y curl docker.io docker-compose-plugin
mkdir -p /opt/immich && cd /opt/immich
curl -o docker-compose.yml https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
curl -o .env https://github.com/immich-app/immich/releases/latest/download/example.env
Edita .env para que UPLOAD_LOCATION apunte a la ruta de fotos que quieras, y luego:
docker compose up -d
Monta un dataset ZFS para la biblioteca de fotos
Esta es la parte que la mayoría de las guías pasa por alto. Quieres tu biblioteca de fotos en un dataset ZFS (o carpeta NFS), no dentro del disco raíz del contenedor. Esta es la forma limpia de hacerlo.
En el host de Proxmox, crea un dataset:
zfs create tank/photos
Luego agrega un bind mount a la configuración del LXC (/etc/pve/lxc/):
mp0: /tank/photos,mp=/mnt/photos
En contenedores sin privilegios tienes que mapear el UID/GID. Los contenedores Docker de Immich corren con el UID 1000. Agrega a la configuración del LXC:
lxc.idmap: u 0 100000 1000
lxc.idmap: u 1000 1000 1
lxc.idmap: u 1001 101001 64535
lxc.idmap: g 0 100000 1000
lxc.idmap: g 1000 1000 1
lxc.idmap: g 1001 101001 64535
Y en el host, aplica chown al dataset con el UID mapeado:
chown -R 1000:1000 /tank/photos
Reinicia el contenedor, actualiza UPLOAD_LOCATION=/mnt/photos en tu .env y vuelve a ejecutar docker compose up -d.
Configura Immich 3.0 después del primer arranque
Entra a http:// en tu navegador. Te pedirá crear una cuenta de administrador.
Lo primero que configurar:
Plantilla de almacenamiento: en Admin → Storage Template, define una estructura de carpetas como {{y}}/{{MM}}/{{dd}}. Esto organiza las subidas por fecha en el disco y facilita entender tu dataset ZFS.
Machine learning: el modelo CLIP y los de reconocimiento facial se descargan la primera vez que se usan. Con la configuración por defecto puede tardar 5-10 minutos y disparar el uso de RAM. Dale al contenedor al menos 8 GB para este escaneo inicial y así evitar que el sistema lo mate por falta de memoria.
Biblioteca externa: si ya tienes un archivo de fotos, agrégalo como External Library en Administration → External Libraries. Immich lo escanea e indexa sin mover los archivos. Es la forma más limpia de incorporar un archivo grande existente.
Proxy inverso: pon Immich detrás de Nginx o Caddy con SSL antes de exponerlo hacia afuera. La ruta de subida de Immich admite archivos grandes, así que configura client_max_body_size 50000M en tu Nginx.
client_max_body_size 50000M;
proxy_read_timeout 600s;
proxy_pass http://<LXC-IP>:2283;
Respaldo desde el móvil
Instala la app móvil de Immich (Android / iOS), apúntala a la URL de tu servidor e inicia sesión.
En Android: ve a Settings → Background Backup y activa el programador de tareas periódicas. Desactiva la optimización de batería para la app de Immich en los ajustes de batería de Android: sin esto, las subidas en segundo plano se detienen con perfiles agresivos.
En iOS: la subida en segundo plano funciona cuando la app está en primer plano o se fue a segundo plano hace poco. Para un respaldo automático confiable, programa que la app se abra a una hora fija (una automatización de Atajos sirve).
Transcodificación acelerada por hardware (opcional)
Si tu host de Proxmox tiene una iGPU Intel (12.ª generación o más nueva), puedes pasarla al LXC para generar miniaturas y transcodificar video con aceleración por hardware. Esto reduce bastante la carga de CPU durante la indexación de la biblioteca.
En la configuración del LXC:
lxc.cgroup2.devices.allow: c 226:* rwm
lxc.cgroup2.devices.allow: c 29:0 rwm
lxc.mount.entry: /dev/dri dev/dri none bind,optional,create=dir
lxc.mount.entry: /dev/fb0 dev/fb0 none bind,optional,create=file
Luego, en la interfaz de administración de Immich, ve a Administration → Video Transcoding y configura la aceleración por hardware en vaapi. El pipeline de miniaturas la toma automáticamente.
Para passthrough de una GPU dedicada, necesitas un LXC con privilegios o una VM completa: el enfoque de bind mount de arriba solo funciona con iGPU/render nodes.
Estrategia de respaldo para tu instancia de Immich
El propio Immich recomienda respaldar:
- La base de datos PostgreSQL (
docker exec immich_postgres pg_dumpall -U postgres > backup.sql) - La carpeta
UPLOAD_LOCATION - El volumen
model-cache(opcional: se vuelve a descargar si se pierde)
Para el volumen de la biblioteca de fotos, los snapshots de ZFS son la herramienta correcta:
zfs snapshot tank/photos@$(date +%Y%m%d)
Combínalo con sanoid para la retención automática de snapshots y, si quieres, replica a un segundo pool o fuera de casa con zfs send | zfs recv.
Hardware para respaldos secundarios o fuera de casa:
- Disco externo WD Elements Desktop de 8 TB: externo económico para enviar snapshots de ZFS
- SSD portátil Samsung T7 Shield de 4 TB: portátil rápido para rotar respaldos
- NVMe Sabrent Rocket 4 Plus de 4 TB: si quieres un pool NVMe secundario en el mismo servidor
- Hub USB 3.0 Plugable de 7 puertos: si usas varios discos USB de respaldo
Detalles y advertencias
Docker en LXC sin privilegios: Proxmox no lo soporta oficialmente, pero en la práctica funciona con los flags de kernel correctos. Si ves errores cgroupv2, agrega features: keyctl=1,nesting=1 a la configuración del LXC.
Requisito x86-64-v2: si el contenedor de ML de Immich se cierra apenas arranca con un error Illegal instruction, tu CPU no cumple el requisito v2. Revísalo con grep flags /proc/cpuinfo | grep -q sse4_2 && echo OK.
Pico de RAM en el escaneo inicial: la primera indexación de la biblioteca (sobre todo el reconocimiento facial) puede llevar el uso de RAM a 2-3 veces lo normal. No le asignes al contenedor recursos demasiado justos. Si el sistema lo mata a mitad del escaneo, se corrompe la caché de modelos de ML y hay que volver a descargarla completa.
Las bibliotecas externas son de solo lectura: Immich no mueve ni modifica archivos de las bibliotecas externas: solo los lee y los indexa. Es el comportamiento correcto, pero ten en cuenta que borrar una foto en la interfaz de Immich no la borra del disco cuando usas bibliotecas externas.
Veredicto
Immich 3.0 en Proxmox LXC es el stack de gestión de fotos autoalojado más completo disponible en 2026. La instalación tiene algunas asperezas (el baile del mapeo de UID en contenedores sin privilegios, el pico de RAM del escaneo inicial, el requisito de CPU x86-64-v2), pero una vez funcionando, el uso diario es sólido.
Si ya usas Proxmox, el costo de agregar este contenedor es mínimo y la recompensa es ser dueño de tu biblioteca de fotos sin pagar suscripción. Con el dataset ZFS montado, tu archivo de fotos vive en un sistema de archivos como corresponde, con respaldos por snapshots: mucho mejor que el modelo de "confía en nosotros" de Google Fotos.
Para la mayoría de los homelabbers, hoy es la opción obvia frente a PhotoPrism o Nextcloud Photos. Immich tiene el impulso, el desarrollo activo y el pulido de experiencia de usuario que lo respaldan.
Aviso: este artículo contiene enlaces de afiliado. Si compras a través de ellos, puedo ganar una pequeña comisión sin costo extra para ti.
¿Quieres algo así para tu negocio?
Instalo infraestructura privada y autoalojada en Proxmox: IA, automatización y herramientas internas en hardware que es tuyo, documentado y entregado. Ver el stack de IA privada →
¿No sabes qué necesitas? Agenda una llamada gratis.