¿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 datosTZ— tu zona horaria (por ejemploAmerica/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_LOCATIONregularmente (yo uso snapshots de Proxmox más un backup externo). - Actualizaciones: para actualizar, simplemente vuelve a descargar el
docker-compose.ymlmás reciente y corredocker 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.