Предотвращение загрузки и создания дубликата фотографий в immich

Дано:

  1. Сервер immich, на котором синхронизируются фотографии с телефонов.

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

Много фотографий с телефонов так же лежат в этой свалке на ПК.
Если отправить их в immich то он конечно не станет грузить дубликаты, но сделает копии фотографий в том месте куда они загружаются. Вручную чистить это все невозможно.
Очень хотелось бы чтобы он не только не грузил дубликаты но и не создавал копии.
Может кто сталкивался с такой проблемой и имеет решение?

Нормального решения нет, есть сторонние костыли.

  1. можно найти что-то для дедупликации файлов, условно, скрипт пробегается по файлам, находит дубликаты и создает хард линки. Это когда несколько имен файлов ссылаются на один блок данных на диске. Но при этом если изменить 1 файл, то поменяются и другие. Удаление же файла физически происходит когда счетчик указателей на него обнуляется.
  2. Дедупликация на уровне ZFS и других ФС
    Вот тут у меня есть dataset с фотками, причем, есть “Разобрать” и “С камеры”, “NEW” и распределенные по каталогам, надо добраться и почистить все + частично загружаю эти фотки в immich
    Вот пишет, что 37% от данных в пуле определены как дубликаты
% zpool get dedupratio data                  
NAME  PROPERTY    VALUE  SOURCE
data  dedupratio  1.37x  -

хорошая идея самому поискать дубликаты на самих дисках. Если найду рабочий вариант то поделюсь

Нашел 2 варианта, доступных в репозиториях, лично не пробовал

rdfind

Установка

apt install rdfind

Поиск дубликатов

rdfind -dryrun true /path/to/directory

Поиск и замена хардлинками

rdfind -makehardlinks true /path/to/directory

fdupes

Установка

apt install fdupes

Поиск дубликатов

fdupes -r /path/to/directory

Поиск и замена хардлинками

fdupes -rL /path/to/directory

А чем не подходит разбор дубликатов в самом интерфейсе immich(вкладка утилиты-дубликаты)? Он отлично распознает одинаковые фото, причем по похожести, а не по размеру файла или названию. Через него же можно удалять фотографии, с удалением и из базы, и с внешнего хранилища.

Тут вопрос в другом: есть immich с фотками и есть условная файловая шара куда скидываются фотографии, immich не знает о существования внешних хранилищ

У меня так просто файловая шара с фотками за 15 лет, в immich переношу коллекциями.

Тогда как варинат в immich добавить эту шару как внешнее хранилище. immich найдет дубликаты, их удалить, и отключить хранилище. У меня так же подключено. Папка куда сам immich синхронизирует + внешнее хранилище, которое просканировал immich