¿Cansado de pagarle a Google, Apple o Amazon por almacenamiento de fotos? En este artículo te enseño cómo instalar Immich, la alternativa open source que llevo corriendo en mi homelab, en un servidor dentro de Proxmox.

¿Qué es Immich?

Immich es una plataforma de código abierto para respaldo y gestión de fotos y videos, pensada como reemplazo directo de Google Photos. Entre sus funciones principales:

  • Backup automático desde tu celular (apps para iOS y Android)
  • Reconocimiento facial
  • Búsqueda por objetos (por ejemplo, buscar “servers” y que te muestre todas tus fotos de racks)
  • Organización por ubicación (mapa con geolocalización de tus fotos)
  • Álbumes compartidos
  • Soporte multi-usuario

Todo esto corriendo en tu propio hardware, sin límites de almacenamiento más que el de tu disco, y sin depender de las políticas de precios de terceros.

Requisitos previos

Antes de empezar necesitas:

  • Un servidor o VM con Proxmox (yo lo corro en un servidor dedicado dentro de mi entorno Proxmox)
  • Docker y Docker Compose instalados en esa VM
  • Al menos 4 GB de RAM (recomendado 6-8 GB si vas a usar reconocimiento facial y machine learning)
  • Espacio en disco suficiente para tu librería de fotos (recomiendo un disco separado o punto de montaje dedicado)
  • Acceso a la terminal (SSH)

Paso 1: Crear la VM en Proxmox

Desde el panel de Proxmox, crea una nueva VM (o usa una existente) con Ubuntu Server o Debian como sistema operativo base. Asigna al menos:

  • 2 vCPUs
  • 4-8 GB de RAM
  • 32 GB de disco para el sistema (el almacenamiento de fotos debería ir en un disco/punto de montaje separado)

Paso 2: Instalar Docker y Docker Compose

Conéctate por SSH a tu VM y ejecuta:

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG docker $USER

Cierra sesión y vuelve a entrar para que el cambio de grupo tome efecto. Verifica la instalación:

docker --version
docker compose version

Paso 3: Descargar los archivos de Immich

Crea un directorio para Immich y descarga los archivos oficiales:

mkdir ./immich-app
cd ./immich-app

wget -O docker-compose.yml https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
wget -O .env https://github.com/immich-app/immich/releases/latest/download/example.env

Paso 4: Configurar el archivo .env

Abre el archivo .env con tu editor favorito:

nano .env

Ajusta al menos estas variables:

  • UPLOAD_LOCATION — la ruta donde se guardarán tus fotos y videos (idealmente en un disco separado)
  • DB_PASSWORD — cambia la contraseña por defecto de la base de datos
  • TZ — tu zona horaria (por ejemplo America/Puerto_Rico)

Paso 5: Levantar los contenedores

Con todo configurado, levanta los servicios:

docker compose up -d

Esto descargará las imágenes necesarias (servidor, base de datos Postgres, Redis, machine learning) y arrancará todo el stack. La primera vez puede tardar unos minutos.

Verifica que todo esté corriendo:

docker compose ps

Paso 6: Acceder a Immich

Abre tu navegador y entra a:

http://IP-DE-TU-SERVIDOR:2283

Ahí crearás tu cuenta de administrador y podrás empezar a configurar bibliotecas, usuarios y respaldo automático.

Paso 7: Configurar las apps móviles

Descarga la app de Immich desde la App Store o Google Play, entra la URL de tu servidor (o configúrala a través de tu VPN/reverse proxy si accedes desde fuera de tu red local), inicia sesión con tu cuenta y activa el respaldo automático.

Recomendaciones adicionales

  • Reverse proxy: si quieres acceder desde fuera de tu red, te recomiendo poner Immich detrás de un reverse proxy (Nginx Proxy Manager o Traefik) con HTTPS, en vez de exponer el puerto directamente.
  • Backups: Immich no reemplaza un backup — considera respaldar tanto la base de datos como la carpeta de UPLOAD_LOCATION regularmente (yo uso snapshots de Proxmox más un backup externo).
  • Actualizaciones: para actualizar, simplemente vuelve a descargar el docker-compose.yml más reciente y corre docker compose pull && docker compose up -d.

Conclusión

Con esto ya tienes tu propio “Google Photos” corriendo en tu homelab, con control total sobre tus datos. Si te trabó algún paso o tienes preguntas, déjamelas en los comentarios.