El mes pasado mi mamá me mandó un mensaje preguntando por qué Google le estaba cobrando por almacenamiento en la nube. “Pero si yo no uso nada de Google”, decía. Cuando revisé su cuenta juntos, tenía años de fotos ahí subidas automáticamente, incluyendo fotos de documentos, recibos y cosas que definitivamente no querrías que una corporación tuviera guardadas en algún servidor en Oregon. Eso me hizo pensar en mi propia situación: miles de fotos personales viviendo en infraestructura que no controlo, siendo analizadas por modelos de machine learning para venderme cosas. Ese día decidí moverme a Immich, y no he mirado atrás.
¿Por qué Immich y no Google Photos? #
El problema de las fotos en la nube corporativa #
No es paranoia. Google Photos escanea tus imágenes, extrae metadatos, y los usa para mejorar sus modelos de IA y personalizar anuncios. En los términos de servicio (que nadie lee) básicamente le das permiso de usar tu contenido para sus propósitos. Aparte del tema de privacidad, está el de costos: el almacenamiento gratuito desapareció en 2021 y ahora pagas mensualmente, indefinidamente, por fotos que en realidad viven en el hardware de alguien más.
Qué es Immich y por qué es tu mejor aliada #
Immich es una aplicación de código abierto para gestionar fotos y videos, diseñada específicamente para autohospedarse. Tiene aplicación móvil para iOS y Android, reconocimiento facial, búsqueda por objetos, álbumes compartidos, y una interfaz que no le pide nada a Google Photos. Lo mejor: corre completamente en tu servidor mediante Docker, así que la instalación es predecible y limpia. El proyecto lleva un par de años activo y tiene una comunidad bastante activa detrás.
Requisitos antes de empezar #
Qué necesitas en hardware #
Immich no es ligero. Para correrlo cómodamente necesitas al menos 4 GB de RAM, aunque con 6-8 GB vas a vivir mucho más tranquilo. En cuanto a procesador, un CPU moderno de 4 núcleos funciona bien para uso familiar. Para almacenamiento, calcula cuánto espacio ocupan tus fotos actuales y multiplícalo por 1.5 para dejar margen. Un NAS con Debian/Ubuntu, o cualquier servidor Ubuntu corriendo en casa, es el escenario ideal.
Docker y Docker Compose listos para trabajar #
Immich vive en contenedores, así que necesitas Docker y Docker Compose instalados. Si ya los tienes, perfecto. Si no:
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER
Cierra sesión y vuelve a entrar para que los permisos apliquen. Verifica con docker --version y docker compose version.
Un dominio o IP fija (la parte que nadie cuenta) #
Aquí está el detalle que muchos tutoriales omiten: para acceder desde tu teléfono fuera de casa, necesitas una forma de llegar a tu servidor. Tienes dos opciones principales: usar un dominio con SSL apuntado a tu IP pública (si tienes IP fija de tu proveedor de internet), o usar una VPN como Tailscale para acceder de forma segura sin exponer puertos. La segunda opción es más sencilla y la que recomiendo si apenas estás empezando.
Instalación de Immich paso a paso #
Descargando y preparando el docker-compose.yml #
Immich mantiene sus archivos de instalación oficiales en su repositorio. En tu servidor, crea el directorio donde va a vivir todo:
mkdir -p /opt/immich && cd /opt/immich
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
Configurando variables de entorno sin quedarte atascado #
El archivo .env es donde configuras los valores importantes. Ábrelo con tu editor favorito:
nano .env
Las variables que sí o sí tienes que revisar son estas:
# Ruta donde se guardarán tus fotos en el servidor
UPLOAD_LOCATION=/ruta/a/tu/almacenamiento/fotos
# Ruta para la base de datos
DB_DATA_LOCATION=/opt/immich/postgres
# Cambia esto por una contraseña segura
DB_PASSWORD=pon_aqui_tu_password_seguro
# La versión de Immich (usa "release" para siempre tener la última estable)
IMMICH_VERSION=release
La parte del UPLOAD_LOCATION es crucial. Si tienes un disco duro secundario montado para almacenamiento, apunta aquí. En un NAS típico podría ser algo como /mnt/datos/fotos.
Lanzando los contenedores y verificando que todo funciona #
Con el .env configurado, levantar todo es tan sencillo como:
docker compose up -d
Immich va a descargar varias imágenes la primera vez, así que espera unos minutos dependiendo de tu conexión. Cuando termine, verifica que los contenedores estén corriendo:
docker compose ps
Deberías ver servicios como immich_server, immich_microservices, immich_machine_learning, redis y postgres todos en estado Up. Si alguno muestra Exit, revisa los logs con docker compose logs nombre_del_servicio.
Immich corre en el puerto 2283 por defecto. Desde el mismo servidor o tu red local, abre el navegador en http://IP-de-tu-servidor:2283 y verás la pantalla de bienvenida.
Acceso remoto y primeros pasos en la interfaz #
Cómo acceder desde tu teléfono (sin exponerte en internet) #
La forma más segura y rápida de acceder remotamente es con Tailscale. Instálalo en tu servidor y en tu teléfono, y automáticamente tendrás una red privada entre ambos dispositivos sin abrir un solo puerto en tu router. Desde el teléfono, usas la IP que Tailscale le asigna a tu servidor seguida del puerto 2283. Listo, sin configurar DNS, sin certificados, sin dramas.
Si prefieres el camino de dominio propio con SSL, necesitarás un reverse proxy como Nginx Proxy Manager o Caddy, pero eso merece su propio artículo.
Subiendo tus primeras fotos y entendiendo la librería #
La primera vez que entras, Immich te pide crear un usuario administrador. Una vez dentro, la interfaz es bastante intuitiva: tienes una línea de tiempo con tus fotos ordenadas por fecha, álbumes, y una sección de personas que se va construyendo conforme el reconocimiento facial procesa tus imágenes. Ese procesamiento toma tiempo dependiendo de cuántas fotos tengas, así que ten paciencia los primeros días.
Sincronización automática desde tu móvil: el verdadero juego cambia #
Descarga la app de Immich en tu teléfono (disponible en App Store y Play Store), conéctate a tu servidor con la URL o IP de Tailscale, y activa el backup automático. Desde ese momento, cada foto que tomes se sube a tu servidor. Puedes configurar si quiere que cargue solo con WiFi, si incluye videos, y cuánto almacenamiento local conserva antes de liberar espacio. Es exactamente como Google Photos, pero los datos son completamente tuyos.
Trucos y optimizaciones que te ahorrarán dolores de cabeza #
Configurar respaldos automáticos de tu librería Immich #
Tener Immich no te exime de hacer respaldos. La base de datos de Postgres es lo más crítico. Agrega este script a tu cron para hacer dump diario:
#!/bin/bash
docker exec -t immich_postgres pg_dumpall -c -U postgres > /ruta/respaldos/immich_backup_$(date +%Y%m%d).sql
Las fotos en sí están en el directorio que definiste en UPLOAD_LOCATION, así que inclúyelo en tu estrategia de respaldo habitual, ya sea con rsync a otro disco o a un almacenamiento externo.
Gestionar almacenamiento cuando empieza a crecer (SSD vs HDD) #
Para los thumbnails y el procesamiento, Immich agradece tener un SSD. Para el almacenamiento masivo de fotos originales, un HDD es perfectamente funcional y mucho más económico por gigabyte. Si tu servidor lo permite, monta el SSD para la base de datos y las miniaturas, y el HDD para UPLOAD_LOCATION. La experiencia de navegación mejora notablemente.
Integración con Google Photos: migrar fotos antiguas sin perder nada #
Immich tiene soporte nativo para importar tu Google Takeout. Descarga tu archivo desde Google, extráelo, y usa la herramienta de migración que viene incluida en la interfaz de administración. Respeta las fechas originales y los metadatos de ubicación. En mi caso, migré ocho años de fotos sin perder una sola.
Conclusión #
Montar Immich es una de esas decisiones que uno se pregunta por qué no tomó antes. Tienes el control total de tus fotos, sin cuotas mensuales que suben con el tiempo, sin que un algoritmo decida qué recuerdos mostrarte, y con la tranquilidad de saber exactamente dónde está cada imagen. El esfuerzo inicial es de una tarde, y lo que obtienes a cambio es permanente.
¿Ya tienes un servidor en casa o un NAS acumulando polvo? Este es exactamente el tipo de proyecto para el que fue hecho. Y si lo montas y tienes dudas en el camino, la comunidad de Immich en GitHub y Reddit es de las más activas que he visto en proyectos de código abierto. No estás solo en esto.