Featured image of post Yandex.Disk to Immich

Yandex.Disk to Immich

Если вы предпочитаете self-hosted решения для хранения фотографий, то этот гайд поможет вам перенести снимки с Яндекс.Диска в Immich.


🔧 Подготовка

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

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

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

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


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

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

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

📥 Выгрузка через приложение Яндекс.Диска

  1. Скачайте официальное приложение с сайта Яндекса.
  2. Войдите в свою учётную запись.
  3. Синхронизируйте файлы с локальным компьютером.

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

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

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

Установка ExifTool

Устанавливаем ExifTool

1
sudo apt install exiftool

📜 Создание скрипта для коррекции дат

Создадим скрипт exifscript.sh, который исправит метаданные на основе имени файла:

1
nano exifscript.sh

Добавляем в него следующее содержимое:

1
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/ на реальный путь к фотографиям.

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

1
2
3
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

  1. Создаём папку и переходим в неё:
1
mkdir immich-go && cd immich-go
  1. Скачиваем последнюю версию с GitHub:
1
wget https://github.com/simulot/immich-go/releases/download/v0.24.5/immich-go_Linux_x86_64.tar.gz
  1. Распаковываем архив:
1
tar -xvzf immich-go_Linux_x86_64.tar.gz

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

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

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

Итог

Теперь фотографии успешно перенесены с Яндекс.Диска в Immich с правильными датами!