Миграция с Yandex.Disk в Immich
- otterhugger
- 15 апрель 2025 20:59
- 0
- 9
Immich — это мощное self-hosted решение для организации личного фотооблака.
Среди его преимуществ можно выделить современный адаптивный интерфейс, встроенную поддержку декодирования видео, локальную ИИ для распознавания лиц, а также удобное мобильное приложение для комфортного использования сервиса.
🔧 Подготовка
Для переноса фотографий в данной статье использовалось:
- WIndows PC - для синхронизации фотографий с клиента Яндекс.Диска
- Linux WSL - Подсистема линукса в Windows, для редактирования и импорта изображений в Immich
Схема:
Одна из распространённых проблем при переносе фотографий — потеря метаданных, а именно дат и времени съёмки. Чтобы этого избежать, перед загрузкой в Immich мы воспользуемся ExifTool, который восстановит правильные метаданные на основе названий файлов.
Для работы понадобится Linux с установленными:
- ExifTool – для корректировки дат и времени фотографий.
- immich-go – утилита для загрузки изображений в Immich.
Команды в этом руководстве рассчитаны на Debian-based системы.
📤 Выгрузка фотографий с Яндекс.Диска
Есть два способа выгрузки фотографий:
- Через Rclone – требует настройки, но на момент написания статьи не работает из-за бага.
- Через официальное приложение Yandex.Disk – более надёжный вариант, но требует Windows.
📥 Приложение Яндекс.Диска
- Скачайте официальное приложение с сайта Яндекса.
- Войдите в свою учётную запись.
- Синхронизируйте файлы с локальным компьютером.
- Используя проводник, перенесите фотографии в директорию с 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
- Открываем веб-интерфейс Immich.
- Заходим в Настройки профиля → API.
- Создаём новый 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 загрузит фотографии с корректрыми датами и соответственно красивым таймлайном в веб-интерфейсе, а ИИ в свою очередь сделает распознавание дубликатов которые Вы в последствии сможете удалить или оставить.