Immich 3.0 en Proxmox LXC: autoaloja toda tu biblioteca de fotos en 2026
Self-hosting

Immich 3.0 en Proxmox LXC: autoaloja toda tu biblioteca de fotos en 2026

Ricardo Gil
12 de octubre de 2026
8 min de lectura

Traducido del original en inglés. Read this article in English →

#Immich #Proxmox #Self-Hosting #Home Lab #Photo Management #LXC #2026

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:

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
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:

bash
# 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:

bash
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:

bash
zfs create tank/photos

Luego agrega un bind mount a la configuración del LXC (/etc/pve/lxc/.conf):

code
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:

code
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:

bash
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://:2283 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.

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:

code
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:

  1. La base de datos PostgreSQL (docker exec immich_postgres pg_dumpall -U postgres > backup.sql)
  2. La carpeta UPLOAD_LOCATION
  3. 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:

bash
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:

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.

📬Newsletter semanal

Recibe lo mejor de homelab e IA

Sin spam. Un correo por semana. Te das de baja cuando quieras.

Comparte este artículo