Продолжу тему с Immich, так как плотно занялся настройкой. Подробной практической инфор... — 27 мая 2026 г. в 13:30:03.405
Продолжу тему с Immich, так как плотно занялся настройкой. Подробной практической информации по настройке я почти не встречал, так что со всем разбирался сам. Чтобы не забыть и помочь тем, кто будет настраивать, зафиксирую основные моменты. ▪️Сам сервис Immich для просмотра фотографий требует немного ресурсов. Я запустил на 4 CPU старого i3, 4 ГБ оперативы, RAID1 на 2 HDD. Выделил 200 ГБ под его базу данных и миниатюры. На 110 000 фоток (500 ГБ) миниатюры заняли примерно 80 ГБ. Параметры миниатюр можно настроить. ИИ анализирует только миниатюры, а не реальные фото. Так что от них зависит качество аналитики. ▪️Всю аналитику на базе LLM можно вынести на другую машину, что я и сделал. Берём секцию из docker-compose.yml для контейнера immich-machine-learning и запускаем его на любой производительной машине, желательно с видеокартой. Потом в разделе Settings ⇨ Machine learning settings добавляем url этой машины, примерно так - http://192.168.137.29:3003. Я рассчитывал, что добавив несколько серверов, можно будет параллелить задачи, но это так не работает. Выполняется проверка доступности всех добавленных серверов. Какой первый по списку будет доступен, туда и пойдут все запросы. Если сервер становится недоступен, запросы идут на следующий. То есть имеет смысл добавить один внешний сервер и для подстраховки за ним оставить локальный. Если удалённый становится недоступен, запросы пойдут на локальный. Основная нагрузка идёт в момент добавления новых файлов. После того, как всё обработается, LLM почти не проявляет активность. Если вы никуда не торопитесь, то можно не заморачиваться с производительной LLM. ▪️Модели для поиска и распознавания лиц можно выбирать там же в настройках ML. По умолчанию для поиска используется простая LLM, которая даже русского языка не знает. Выбрать модель с поддержкой русского можно тут. Все поддерживаемые для всех задач модели перечислены здесь, можно выбрать более качественные. Я для поиска выбрал среднюю модельку ViT-L-16-SigLIP2-256__webli. Меня качество поиска на русском языке устроило. Без проблем находит, к примеру, море, лес, собак, кошек, самолёты и прочие предметы. Мне этого достаточно. ▪️По умолчанию запускаются сразу все задачи по обработке - создание миниатюр, поиск метаданных, поисковой индекс, поиск и распознавание лиц, поиск дубликатов. Если разом залить много фоток или подключить большую внешнюю библиотеку, всё это будет выполняться медленно и мешать друг другу в битве за ресурсы. Лучше включать всё последовательно: сначала миниатюры, потом метаданные, а дальше по потребностям. С миниатюрами хотя бы можно будет просматривать фотки и формировать альбомы. ▪️В веб интерфейсе по умолчанию отключен просмотр медиа через обозреватель файлов в файловой системе, а это удобно, если у вас там уже выстроена структура. Включить его можно в настройках профиля пользователя, в разделе Features. ▪️По умолчанию все загружаемые файлы складываются в иерархию со случайными именами папок и файлов, что неудобно, так как структура жёстко привязана к потрохам immich. Это можно исправить, задав шаблон для архива. Настраивается в Settings ⇨ Storage Template. Шаблон по умолчанию будет вида /library/admin/2026/2026-03-24, что лично меня вполне устроило. Просто включил его. Даты файлов берутся не из времени заливки, а из метаданных, если они там есть. ☝️ Шаблон можно менять и потом конвертировать текущую структуру в новый формат. ▪️Поиск дубликатов работает средствами LLM, и работает хорошо. Можно либо вручную с ними разбираться, либо автоматом убрать все дубликаты. Система оставляет файл наибольшего размера и с наибольшим количеством метаданных. Если внешняя библиотека подключена в режиме rw, то дубликаты могут быть физически удалены. Система мне понравилась, когда вник во все нюансы, особенно с настройками LLM. Реализовано так или иначе всё, что мне нужно от подобной системы. Это хороший пример того, как небольшие локальные модели могут эффективно решать поставленные задачи. #fileserver

