
¿Qué es immich?
Un proyecto open source que te ayuda a montar un sistema como Google Photos pero en tu propio servidor. Conserva muchas de sus facilidades como:
- Cuentas independientes
- Reconocimiento de rostros
- Carpetas privadas
- Carpetas compartidas
- Aplicación móvil en Android e iOS
Y todo esto sin límite de almacenamiento (Todo dependerá de tu capacidad en disco duro).
Requisitos del sistema
- Docker instalado
- Al menos 4GB de ram y un procesador de 2 núcleos
Guia de inicio
Pasos generales de instalación:
- Descarga los archivos requeridos
- Selecciona el lugar donde vivirá la aplicación. Por ejemplo:
/opt/immich
- Descarga
docker-compose.yml
- Descarga
.env
- Selecciona el lugar donde vivirá la aplicación. Por ejemplo:
- Ingresa los valores requeridos del archivo .env (Recuerda cambiar los datos por defecto)
UPLOAD_LOCATION=./library
. En caso de Raspberry Pi, un disco duro externoDB_DATA_LOCATION=./postgres
IMMICH_VERSION=release
DB_PASSWORD=postgres
DB_USERNAME=postgres
DB_DATABASE_NAME=immich
- Start the containers
sudo docker compose up -d
- Visitas la aplicación y completas el formulario
http://<machine-ip-address>:2283
Bibliotecas externas
Una biblioteca externa sirve para cargar tus fotografías sin necesidad de usar la interfaz web o aplicación móvil para subirlas.
Este proceso se realiza a través de dos apartados:
- Configuración en Docker compose
docker-compose.yml
- Configuración en la aplicación
- Administration => External Libraries Tab => Create Library => Edit import path
Configuración en Docker compose
- Desde el lugar dónde instalaste tu immich detienes y eliminas los contenedores, redes y volúmenes definidos en tu archivo docker-compose.yml.
# Detenemos y eliminamos el contenedor actualsudo docker compose down
# Editas el archivo docker-compose.ymlvim docker-compose.yml
- Añades los volumenes a tu archivo de configuración
/mnt/your/location/
:/mnt/custom/docker/location
Ejemplo:
immich-server: ... volumes: # Do not edit the next line. If you want to change the media storage location on your system, edit the value of UPLOAD_LOCATION in the .env file - ${UPLOAD_LOCATION}:/data - /etc/localtime:/etc/localtime:ro - /mnt/your/location:/mnt/custom/docker/location - /mnt/your/location/2:/mnt/custom/docker/location/2
- Levantas nuevamente el contenedor
sudo docker compose up -d
Configuración en la aplicación
Con la cuenta del administrador:
- Administration
- External Libraries Tab
- Create Library
- Edit import path
Referencias
Respaldos
Creación de un respaldo
DB_USERNAME=username_databasesudo docker exec -t immich_postgres pg_dumpall --clean --if-exists --username=$DB_USERNAME | gzip > "./backup_$(date '+%Y-%m-%d_%H%M%S').sql.gz"
Recuperación desde un respaldo
# Borra el contenedor actualsudo docker compose down -v
# Borra la ubicación de tu instalación de postgres para Immichsudo rm -rf DB_DATA_LOCATION
# Opcional - Update to latest version of Immich (if desired)# sudo docker compose pull
# Crea los contenedores de Docker sin ejecutarlossudo docker compose create
# Inicia el servidor de Postgres y espera 10 segundos a que iniciesudo docker start immich_postgres && sleep 10
# Restaura los datos desde el BackupPATH_BACKUP=/backup/location/dump_file.sql.gzDB_NAME=db_nameDB_USERNAME=db_username
gunzip --stdout $PATH_BACKUP \| sed "s/SELECT pg_catalog.set_config('search_path', '', false);/SELECT pg_catalog.set_config('search_path', 'public, pg_catalog', true);/g" \| sudo docker exec -i immich_postgres psql --dbname=$DB_NAME --username=$DB_USERNAME
# Inicias de nuevo el contenedorsudo docker compose up -d
Montado de discos externos con Ext4 con protección LUKS
Es posible que quieras utilizar un disco duro externo para guardar las fotos de tu servidor Immich y es sumamente probable que quieras proteger estas fotos ante un robo del disco duro físico. Para esto puedes utilizar un disco duro Ext4
con protección LUKS
. Por lo que tu información estará cifrada.
Montado del disco
# Lista los dispositivos de bloquelsblk
# Desciframos la información contenida en el discosudo cryptsetup luksOpen /dev/sdXN fotos
sudo mount /dev/mapper/fotos /mnt/fotos
- X = Letra
- N = Número
- fotos = cualquier alias
- segundo /mnt/fotos = ubicación para montar
Desmontado del disco
# Paramos nuestra instancia de immich (pues usa el disco)sudo docker compose down
# Desmontado del disco y cifrado del mismosudo umount /mnt/fotos && sudo cryptsetup luksClose fotos
Preguntas frecuentes
¿Cómo recuperar mi password?
# Entras al contenedor de forma interactivasudo docker exec -it immich_server bash
# Ejecutas la utilidad para recuperar el password del administradorimmich-admin reset-admin-password
# Sales del contenedorexit
¿Cómo desinstalar immich?
- Desde el lugar dónde instalaste tu immich detienes y eliminas los contenedores, redes y volúmenes definidos en tu archivo docker-compose.yml.
docker compose down -v
- Borras todo lo relacionado a immich (se pueden consultar los valores en el archivo
.env
)
DB_DATA_LOCATION
contains the database, media info, and settings.UPLOAD_LOCATION
contains all the media uploaded to Immich.
Referencias
- Sitio oficial https://immich.app/
- Repositorio de Github
Nota final¡Gracias por terminar de leer este artículo! uwur
— El Capitán
¿Tienes alguna duda o te gustaría comentar algo sobre este artículo?
Puedes encontrarme en: