Cuando tenemos nuestro NAS DIY, una de las primeras cosas que solemos querer es poder sincronizar las fotos de nuestro móvil, aquí es donde entra en juego Immich.

Se trata de una aplicación de código abierto y gratuita, con una gran comunidad detrás. Es prácticamente como un "google fotos" online, con una aplicación para móviles que se encarga de sincronizar nuestras fotos.

Adicionalmente nos permite ahorrar espacio detectando fotos duplicadas o eliminando si lo deseamos las fotos de nuestro móvil que ya se hayan subido.

Y una de las funcionalidades más cómodas: Detección de rostros o texto. Este proceso se hace totalmente en local, por lo que no tienes por qué preocuparte de tu información privada.

Requisitos

Para poder instalar este servicio necesitaremos lo siguiente:

  • Un servidor con Docker con:
    • Al menos dos núcleos.
    • Recomendable con 6GB de RAM.
  • Suficiente espacio de almacenamiento para nuestra galería de fotos:
    • O acceso a una unidad compartida de nuestro NAS.
  • Recomendable tener acceso por VPN o similar a tu red, para que la sincronización no se interrumpa si estás fuera de casa.

Instalación

Siguiendo la guía oficial de Immich, lo primero que tendremos que hacer será descargar unos ficheros de ejemplo, para luego adaptarlos y finalmente lanzar los contenedores.

Descarga de ficheros

Aquí recomiendo que generemos un directorio específico para Immich:

mkdir ./immich
cd immich

Dentro de esta carpeta, será donde descarguemos los ficheros, usando wget, empezando por el `docker-compose.yml:

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

Y terminando con el .env:

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

Adaptar las variables de entorno

En el fichero .env que nos hemos descargado vienen una serie de variables de entorno que son necesarias para el funcionamiento de nuestra instancia de Immich. Es bastante explicativo, ya que tiene comentarios por cada una de las variables. De todas formas, cubriremos las más importantes.

Nada mas descargarlo, el fichero debería ser tal que así:

# You can find documentation for all the supported env variables at https://docs.immich.app/install/environment-variables

# The location where your uploaded files are stored
UPLOAD_LOCATION=./library

# The location where your database files are stored. Network shares are not supported for the database
DB_DATA_LOCATION=./postgres

# To set a timezone, uncomment the next line and change Etc/UTC to a TZ identifier from this list: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List
# TZ=Etc/UTC

# The Immich version to use. You can pin this to a specific version like "v2.1.0"
IMMICH_VERSION=v2

# Connection secret for postgres. You should change it to a random password
# Please use only the characters `A-Za-z0-9`, without special characters or spaces
DB_PASSWORD=postgres

# The values below this line do not need to be changed
###################################################################################
DB_USERNAME=postgres
DB_DATABASE_NAME=immich

UPLOAD_LOCATION

La primera variable que nos encontramos es UPLOAD_LOCATION, que almacena la ruta donde se almacenarán todas las imágenes que gestione Immich y sus ficheros.

Si estamos realizando la instalación en nuestro propio NAS, deberemos poner la ruta en el pool de almacenamiento que queramos destinar.

Por otro lado, si estamos ejecutando Immich en otro servidor, deberemos darle a este acceso a nuestra unidad del NAS mediante NFS montándolo en nuestro /etc/fsmount, y posteriormente apuntar a esta ruta montada en la variable de entorno.

DB_DATA_LOCATION

La variable DB_DATA_LOCATION indicará la ruta de la base de datos de PostgreSQL. Aquí se recomienda que se haga sobre un disco SSD o NVMe, y preferiblemente que no se haga sobre una unidad compartida por red (NFS/SAMBA).

TZ

Esta variable está comentada, pero por tener una mejor línea de tiempo de nuestras fotos, te recomiendo buscar tu zona horaria aquí, y ponerla en esta variable, des-comentándola.

Lanzar la aplicación

El paso más sencillo de todos. Haremos uso de docker compose para lanzar nuestra aplicación, estando en la ruta que hemos creado en el paso 1:

sudo docker compose up -d

Y veremos que se lanza lo siguiente:

Salida de la terminal tras ejecutar docker compose up del proyecto de Immich.
Output del docker compose up

Interfaz WEB

Ahora que tenemos lanzada la aplicación, es momento de acceder a la interfaz WEB que nos proporciona. Estará con la IP de nuestro servidor, seguida del puerto 2283. Si entramos, veremos esto:

Página de inicio de Immich en su web, indicando de comenzar.
Página de inicio de Immich

Si le damos a comenzar, nos pedirá que registremos el usuario administrador:

Formulario para dar de alta el usuario administrador.
Registro de adminstrador de Immich

Le damos a registrar, y nos saldrá ahora sí un login, donde deberemos introducir los datos de la cuenta que acabamos de dar de alta:

Página con el formulario de inicio de sesión de Immich.
Inicio de sesión de Immich

Y empezará el proceso de configuración inicial, algunas preguntas serán sobre el propio usuario, y otras por la instalación. Aquí solo le damos a Tema.

Mensaje dando la bienvenida al usuario en Immich.
Mensaje de bienvenida de Immich

Elegiremos nuestro tema de preferencia. Este puede ser cambiado posteriormente, y le damos a Idioma.

Selector para decidir entre el tema claro u oscuro para la interfaz de Immich.
Selector de temas

En función de nuestro navegador habrá elegido un idioma por defecto, pero lo podremos cambiar si queremos, y le damos a Privacidad del servidor.

Desplegable para elegir el idioma deseado para nuestro usuario en Immich.
Selector de idiomas

Aquí en mi caso he dejado las dos opciones como vienen, activadas. El mapa es una interfaz que personalmente me resulta muy cómoda. Le damos a Privacidad del usuario:

Selectores de opciones de privacidad del servidor, permitiendo activar o no los Mapas o la verificación de versión.
Opciones de privacidad del servidor

Y aquí lo he dejado sin activar, que es como viene por defecto. Le damos a Plantilla de almacenamiento.

Selector de opciones de privacidad del usuario, para activar o no la opción de Google cast.
Opciones de privacidad del usuario

En este punto podríamos configurar nuestra plantilla para almacenar las fotos, pero también puede ser configurada posteriormente. Por defecto sigue la estructura AÑO/AÑO-MES-DÍA, por ejemplo: 2026/2026-04-01/image.png. Le damos a Copias de seguridad.

Selector para habilitar o no plantillas customizadas para el almacenamiento.
Motor de plantillas de almacenamiento

Este panel es meramente informativo, donde nos explican el sistema ideal de copias de seguridad, siguiendo la clásica estrategia 3-2-1. Le damos a Aplicación móvil.

Informativo Backup 3-2-1
Mensaje informándonos de un sistema ideal de backup siguiendo la estrategia 3 2 1.

Aquí se nos informa de la aplicación móvil, que instalaremos más adelante. Le damos a Hecho.

Mensaje informativo respecto a la disponibilidad de aplicaciones móviles de Immich.
Aplicaciones móviles

Y ya estará finalizada la configuración inicial. Con esto ya tenemos nuestro Immich funcional y activo. Como apreciaréis, se parece mucho a algunos proveedores como Google Photos.

Página principal de Immich.
Página principal de Immich

Podemos subir fotos desde nuestro PC directamente, a través de esta web, o como veremos en el siguiente punto, mediante la sincronización de nuestro móvil.

Aplicación móvil

En mi caso uso Android, pero la podéis encontrar también para Iphone. Tan solo hay que buscar en la tienda correspondiente Immich y descargarla.

Lo primero que hará es pedirnos la dirección de conexión de nuestro servidor, se la introducimos y le damos a Siguiente.

Pantalla con el formulario para introducir la dirección de nuestro servidor de Immich para la APP de Android.
Introducir el servidor de Immich

Ahora necesitaremos iniciar sesión, con la cuenta que hemos creado previamente, y darle a Inicio de sesión.

Formulario de inicio de sesión de la app de Android de Immich.
Inicio de sesión en el servidor

Este punto es importante, ya que Immich nos pedirá permisos para acceder a nuestras fotos. Depende de lo que desees elige uno u otro, en mi caso tiene permisos para todos los ficheros, si no, nuevas fotos no podrían salir:

Selector de permisos para la aplicación de Immich en Android sobre los archivos multimedia.
Selector de permisos para Immich

Con esto, nos saldrá el panel principal de Immich, aún sin fotos. Deberemos darle arriba a la derecha, al botón de la nube.

Página principal de la app de Immich en Android.
Página principal de la app

Y se nos abrirá el menú para configurar nuestra copia de seguridad, donde le daremos a Seleccionar.

Pantalla de las opciones de copias de seguridad de imágenes de la app de Immich en Android.
Copia de seguridad

Aquí ya podremos elegir qué álbumes queremos sincronizar. Seleccionaremos los que deseemos, y luego iremos atrás.

Listado para seleccionar los álbumes a sincronizar con la app de Immich en Android.
Selector de álbumes a sincronizar

En este punto, la aplicación nos irá preparando las imágenes que hay que subir, comprobando si ya estaban previamente o no. Solo nos quedará activar la copia dándole a Habilitar copia de seguridad en la parte inferior.

Pantalla indicando los archivos preparados para la copia de seguridad.
Copia de seguridad preparada

Si nos fijamos, veremos que el número de Copia de seguridad aumenta, y el de Restante disminuye, indicando que se están sincronizando. Si le diésemos a Ver detalles en la parte inferior, veríamos cómo van subiéndose.

Pantalla indicando los archivos siendo copiados tras habilitar la copia de seguridad.
Activando la copia de seguridad

Por último, si volvemos atrás, al panel principal, ya veremos cómo nos sale nuestra galería, al estilo Google Photos de nuestro móvil, con pequeños iconos en la esquina inferior derecha de nuestras imágenes, indicándonos si esa foto está subida o no.

Galería de Immich, con las imágenes siendo subidas.
Galería de Immich

Backup en segundo plano

Es importante destacar que, al igual que con otras muchas aplicaciones, necesitará permisos para estar funcionando en background, y esto dependerá del sistema operativo de tu dispositivo móvil, marca, modelo, etc.

En mi caso os puedo hablar de cómo hacerlo en Android. Lo primero será acceder a la configuración y buscar Immich, para acceder a la Información de la aplicación.

Información de la aplicación de Immich en la configuración de Android.
Información de la aplicación de Immich

Ahí le daremos a Batería, y seleccionaremos No restringido.

Permisos de batería de Immich en la configuración de Android.
Permisos de batería de Immich

Ahora abrimos la aplicación de Immich y en el apartado de Backup, deseleccionaremos nuestros álbumes y desactivamos la copia de seguridad.

Por último seleccionamos nuevamente nuestros álbumes deseados y activamos la copia.

Ahora sí que tendríamos funcionando la copia de seguridad en segundo plano en nuestro móvil Android. Es algo enrevesado pero necesario.

Conclusión

Con esto ya podríamos estar tranquilos con que nuestras fotos están sincronizadas en nuestro servidor NAS.

Además contamos con una interfaz web cómoda que, junto a una VPN, podremos acceder desde donde deseemos, manteniendo la copia de seguridad del álbum.

También podremos buscar a nuestros familiares gracias a la detección de rostros que incorpora, o ahorrar espacio en nuestro dispositivo eliminando las imágenes que se hayan subido o aquellas que estén duplicadas.

Referencias

Vídeo

0:00
/2:13