img-bg
Миграция с Yandex.Disk в Immich
Self-Hosting

Immich — это мощное self-hosted решение для организации личного фотооблака.

Среди его преимуществ можно выделить современный адаптивный интерфейс, встроенную поддержку декодирования видео, локальную ИИ для распознавания лиц, а также удобное мобильное приложение для комфортного использования сервиса.




🔧 Подготовка

Для переноса фотографий в данной статье использовалось:

  • WIndows PC - для синхронизации фотографий с клиента Яндекс.Диска
  • Linux WSL - Подсистема линукса в Windows, для редактирования и импорта изображений в Immich

Схема:

 

Одна из распространённых проблем при переносе фотографий — потеря метаданных, а именно дат и времени съёмки. Чтобы этого избежать, перед загрузкой в Immich мы воспользуемся ExifTool, который восстановит правильные метаданные на основе названий файлов.

Для работы понадобится Linux с установленными:

  • ExifTool – для корректировки дат и времени фотографий.
  • immich-go – утилита для загрузки изображений в Immich.

Команды в этом руководстве рассчитаны на Debian-based системы.


📤 Выгрузка фотографий с Яндекс.Диска

Есть два способа выгрузки фотографий:

  1. Через Rclone – требует настройки, но на момент написания статьи не работает из-за бага.
  2. Через официальное приложение Yandex.Disk – более надёжный вариант, но требует Windows.


📥  Приложение Яндекс.Диска

  1. Скачайте официальное приложение с сайта Яндекса.
  2. Войдите в свою учётную запись.
  3. Синхронизируйте файлы с локальным компьютером.
  4. Используя проводник, перенесите фотографии в директорию с Linux (/home/user/)


🛠 Корректировка метаданных с помощью ExifTool

Фотографии с Яндекс.Диска часто имеют названия вроде IMG_20250217_170803.jpg. Однако Immich и другие галереи не смогут определить реальную дату, так как ориентируются на метаданные снимков.

С помощью ExifTool мы сделаем скрипт который возьмёт дату из имени файла и запишет её в метаданные.

# Устанавливаем exiftool
sudo apt update && sudo apt -y install exiftool

# Создаём файл скрипта 
touch exifscript.sh

# Делаем файл исполняемым
chmod +x exifscript.sh


Содержимое exifscript.sh:

#!/bin/bash

exiftool -overwrite_original \
  -ext png -ext jpg \
  '-AllDates<${filename; s/(\d{4})-(\d{2})-(\d{2}) (\d{2})-(\d{2})-(\d{2}).*/$1:$2:$3 $4:$5:$6/}' \
  /path/to/y.disk/photos/


📌 Разбор скрипта:

  • (\d{4})-(\d{2})-(\d{2}) (\d{2})-(\d{2})-(\d{2}) – регулярное выражение, которое извлекает год, месяц, день, часы, минуты и секунды из имени файла.
  • $1:$2:$3 $4:$5:$6 – приводит дату к формату YYYY:MM:DD HH:MM:SS, который понимает Exif.
  • /path/to/y.disk/photos/ - замееняем своим путём до фотографий

Проверить записались ли данные, можно через ту же утилиту:

root@debian# `exiftool '2017-04-09 10-22-48.PNG'`
Date/Time Original              : 2017:04:09 10:22:48
Create Date                     : 2017:04:09 10:22:48


🚀 Настройка и загрузка в Immich

🔑 Создание API-ключа в Immich

  1. Открываем веб-интерфейс Immich.
  2. Заходим в Настройки профиля → API.
  3. Создаём новый API-ключ и копируем его.

📦 Установка immich-go

# Создаём папку и переходим в неё
mkdir immich-go && cd immich-go

# Скачиваем последнюю версию  ( github.com/simulot/immich-go/releases )
https://github.com/simulot/immich-go/releases/download/v0.25.3/immich-go_Linux_x86_64.tar.gz

# Распаковываем архив
tar -xvzf immich-go_Linux_x86_64.tar.gz


📤 Импорт фотографий в Immich

Теперь самое главное - загружаем обработанные снимки в Immich:

immich-go upload from-folder /path/to/y.disk/photos/ \ 
--server https://immich.domain.ltd \
--api-key ВАШ_API_КЛЮЧ

📌 Разбор комманды:

  • /path/to/y.disk/photos - Путь в директорию с подкорректированными фотографиями
  • --server - Домен Immich инстанса 
  • --api-key - Ключ от чего-то...



Итог

Immich-go загрузит фотографии с корректрыми датами и соответственно красивым таймлайном в веб-интерфейсе, а ИИ в свою очередь сделает распознавание дубликатов которые Вы в последствии сможете удалить или оставить.