Immich помогает собрать фото и видео в единую медиатеку, автоматически переносить новые снимки со смартфона, просматривать архив по временной шкале, искать кадры по людям, объектам, тексту, месту и метаданным, объединять материалы в альбомы и теги, показывать их на карте и делиться выбранными файлами или целыми альбомами. Для повседневной работы доступны поиск с фильтрами, распознавание лиц, просмотр EXIF, избранное, архив, стопки похожих кадров, защищённая папка, базовое кадрирование и поворот, публичные ссылки, партнёрский доступ и инструменты администратора для управления пользователями, хранилищем, фоновыми заданиями и машинным анализом.
Главная идея Immich — хранить исходные файлы в инфраструктуре, которую контролирует владелец медиатеки, а затем обращаться к ней с компьютера и телефона через удобную галерею. Поэтому перед переносом большого архива имеет смысл продумать место для оригиналов, базы данных, миниатюр и перекодированных роликов, а также резервное копирование. Сам каталог не заменяет резервную копию: встроенное сохранение базы защищает сведения об объектах и пользователях, но оригиналы фотографий и видео нужно копировать отдельно.
По набору функций Immich ближе всего к персональным системам управления фотоархивом в стиле облачных фотогалерей, но с собственным сервером. Это не полноценный RAW-конвертер и не редактор для сложной ретуши: его сильные стороны — приём файлов, организация, поиск, просмотр, совместный доступ и автоматизация медиатеки. Если задача состоит именно в глубокой цветокоррекции, пластике, удалении дефектов и художественной обработке, понадобится отдельный фоторедактор; если же важнее собрать десятки тысяч снимков в понятный каталог и быстро находить нужные кадры, Immich закрывает гораздо больше повседневных операций.
Скачать Immich
- Ретушь фото
- Русский интерфейс
- Просто для новичков
- Нужен собственный сервер
- Редактор только базовый
- Синхронизация в одну сторону
Как устроена медиатека Immich
После входа пользователь попадает в фотоленту, где изображения и ролики сгруппированы по дате съёмки. Для большого архива это удобнее обычного списка файлов: можно быстро прокручивать годы, переходить к нужному месяцу, выделять несколько объектов и применять действия сразу к группе. В левой навигации собраны отдельные представления для фотографий, поиска, карты, общего доступа, альбомов, избранного, архива, защищённой папки и корзины. Набор пунктов зависит от включённых возможностей, поэтому администратор или сам пользователь может упростить интерфейс, скрыв ненужные разделы.
Каждый объект в медиатеке имеет собственную карточку сведений. В ней показываются дата и время, имя файла, разрешение, размер, параметры камеры и объектива, выдержка, ISO, диафрагма, координаты и другие доступные метаданные. В той же панели можно добавить описание, поставить звёздную оценку, назначить теги, увидеть распознанных людей и при необходимости поправить некоторые сведения. Это особенно полезно для старых архивов, где файлы названы случайно: вместо имени вроде IMG_0048 пользователь ориентируется по времени, месту, людям, рейтингу и тематике.
Для материалов, которые не должны постоянно находиться в основной ленте, есть архив. Перемещение туда не удаляет файл: объект перестаёт мешать хронологии, но остаётся доступным через поиск и соответствующий раздел. Избранное служит противоположной цели — позволяет быстро собрать наиболее важные кадры. Корзина отделяет обычное удаление от немедленного уничтожения, а защищённая папка предназначена для материалов, которые пользователь хочет убрать из общих представлений и открывать отдельно. Эти инструменты решают разные задачи, поэтому не стоит заменять один другим: архив — про порядок в ленте, избранное — про быстрый доступ, корзина — про удаление, а защищённая папка — про ограничение видимости.
Ещё один способ уменьшить визуальный шум — стопки. В них можно объединять несколько вариантов одной сцены, серийные кадры или похожие изображения так, чтобы на временной шкале показывался один представитель группы. Стопка не превращает файлы в один объект и не стирает остальные версии; она лишь организует показ. Для фотографа это удобно после серийной съёмки, а для семейного архива — при наличии нескольких почти одинаковых снимков, экспортов или обработанных копий.
Просмотр людей и распознавание лиц
Раздел людей формируется после обработки миниатюр модулем машинного анализа. Immich находит лица, строит для них числовые представления и объединяет похожие лица в группы. Пользователь затем присваивает группам имена, и эти имена становятся частью навигации и поиска. Такая организация полезна не только для портретов: она позволяет открыть страницу человека и увидеть его фотографии по времени, даже если файлы находятся в разных альбомах и папках.
Страница человека выглядит как отдельная хронологическая выборка. Можно сменить главное фото, скрыть человека из обычного списка, объединить две группы, если алгоритм разделил одного человека, или добавить дату рождения. При заданной дате рождения Immich способен показывать возраст человека на момент съёмки, что удобно для детских и семейных архивов. Есть также отметка избранного человека, чтобы часто используемые профили не терялись среди множества распознанных лиц.
Распознавание не следует воспринимать как безошибочную идентификацию. Качество группировки зависит от лиц на исходных кадрах, ракурсов, освещения, возраста, размера лица в кадре и выбранных параметров модели. Если один человек разделён на несколько профилей, их можно объединить. Если в одну группу попали разные люди, ошибочные назначения нужно исправить через инструменты работы с лицами. Для крупных архивов разумно сначала дать системе закончить фоновые задания, а уже потом оценивать качество: пока очередь обработки не завершена, раздел людей выглядит неполным.
Параметры распознавания задают компромисс между количеством найденных лиц и точностью группировки. Слишком агрессивные настройки способны создать много маленьких групп, а слишком мягкие — увеличить риск объединения разных людей. Менять их после заполнения большой медиатеки лучше осознанно: повторный анализ требует процессорного времени и может заново сформировать часть результатов. Если сервер слабый, машинный анализ можно вынести на другую подходящую машину, оставив основное хранилище и базу там, где они находятся.
Поиск по содержимому, метаданным и тексту
Поиск в Immich сочетает несколько независимых механизмов. Контекстный запрос позволяет описать сцену обычными словами и получить визуально или семантически подходящие кадры. Отдельно доступны поиск по имени и расширению файла, описанию и распознанному тексту. Поэтому один и тот же архив можно исследовать по-разному: запросом по сюжету, точным фрагментом имени, фразой из подписи или надписью, попавшей в кадр.
Расширенная форма поиска добавляет фильтры по людям, тегам, стране, региону и городу, производителю камеры, модели камеры и объектива, диапазону дат, типу медиа и состоянию объекта. Можно ограничить результаты избранным, архивом, объектами вне альбомов, заданной звёздной оценкой и другими признаками. Фильтры особенно важны в библиотеках на десятки тысяч файлов: запрос пляж может быть слишком широким, а сочетание сюжета, человека, года и камеры быстро сужает выборку.
Контекстный поиск работает через модель машинного обучения и векторный индекс. Это означает, что результат не обязан содержать введённые слова в метаданных: система сравнивает смысл запроса с рассчитанными признаками изображения. Отсюда и ограничения. Необычные объекты, мелкие детали, специфические термины и языки могут распознаваться хуже; другая модель способна дать иной баланс скорости, потребления памяти и качества. После смены модели существующую медиатеку необходимо переиндексировать соответствующим заданием, иначе новые векторные признаки не появятся сами.
Поиск по OCR решает другую задачу: он ориентирован на текст, видимый на изображении. Это полезно для фотографий чеков, вывесок, документов, экранов, музейных табличек и упаковки. Качество зависит от резкости, контраста, угла и языка текста. OCR не заменяет полноценную систему распознавания документов, но в фотокаталоге даёт практичный способ найти кадр по слову, которое не было заранее записано в имя или описание.
Поиск по пути особенно полезен при подключении внешней библиотеки с уже продуманной структурой каталогов. Если архив десятилетиями раскладывался по папкам, путь остаётся дополнительным признаком и позволяет перейти от умной классификации к знакомой файловой логике. В сочетании с представлением папок это снижает риск потерять привычную структуру после импорта.
Автоматическое резервное копирование со смартфона
Мобильный клиент Immich умеет автоматически отправлять новые фотографии и видео в медиатеку. Пользователь выбирает альбомы устройства, которые нужно включить в резервное копирование, а ненужные можно исключить. Такое разделение удобно, когда в галерее телефона смешаны камера, скриншоты, изображения мессенджеров, загрузки и служебные папки: в архив можно отправлять только камеру и, например, отдельный альбом с важными документами.
Передача запускается при открытии или возвращении в приложение и может выполняться периодически в фоне, насколько это разрешает операционная система. По умолчанию пользователь может оставить отправку только по Wi‑Fi, чтобы не расходовать мобильный трафик. Есть параметры, связанные с зарядкой и задержкой новых файлов. На Android агрессивная оптимизация батареи способна останавливать фоновую работу; на iPhone результат зависит от разрешения обновления приложений в фоне и правил iOS. Поэтому первая проверка при пропавшем автобэкапе — не сервер, а системные ограничения телефона.
Immich вычисляет контрольные суммы и проверяет, есть ли такой объект на сервере. Это помогает не отправлять один и тот же файл повторно, даже если он уже попал в медиатеку другим способом. Однако дедупликацию следует отличать от поиска визуально похожих снимков. Проверка при загрузке относится к совпадению содержимого, а инструмент поиска дубликатов может использовать машинный анализ, чтобы показать похожие изображения для ручного решения.
Синхронизация альбомов с телефона направлена от устройства к серверу. Одинаковые названия могут использоваться для сопоставления, новые файлы добавляются в соответствующий альбом, но перемещения и удаления на телефоне не превращают серверную библиотеку в зеркальную копию. Это важное ограничение: функция предназначена для переноса и организации материалов, а не для двустороннего синхронизатора файлов. Если пользователь после загрузки переставил снимок между альбомами телефона, не следует ожидать, что сервер автоматически воспроизведёт все такие изменения.
Для экономии памяти существует операция освобождения места. Перед удалением локальных копий приложение показывает результаты сканирования, чтобы пользователь мог проверить, какие файлы уже сохранены. На мобильных платформах удаление передаётся системной медиатеке и обычно сначала помещает объекты в её корзину, которую затем нужно очищать отдельно. Это безопаснее мгновенного стирания, но требует понимания того, как устроено облачное хранение телефона.
Особенно осторожно нужно действовать с iCloud Photos. Если фотография синхронизируется с iCloud, удаление её с iPhone может удалить тот же объект и из iCloud, потому что системная медиатека воспринимает действие как обычное удаление. Похожий нюанс встречается у приложений, которые ожидают наличие исходного медиафайла на устройстве: после освобождения места старое сообщение может показать недоступный вложенный файл. Поэтому перед массовой очисткой полезно проверить небольшую тестовую выборку и использовать список альбомов, которые должны остаться на устройстве.
Загрузка с компьютера и импорт готового архива
С компьютера новые материалы можно загружать через веб-интерфейс. Для небольших партий это самый понятный путь: выбрать файлы, дождаться передачи и затем разложить их по альбомам. Для большой существующей коллекции удобнее командный интерфейс или внешние библиотеки, потому что браузерная загрузка не обязана быть лучшим способом переносить десятки тысяч уже отсортированных файлов.
Командный инструмент позволяет автоматизировать массовый импорт и создавать альбомы на основе структуры каталогов. Такой сценарий полезен при миграции с другого фотокаталога или при первичной загрузке архива с диска. Перед запуском на всей коллекции разумно испытать схему на отдельной папке: проверить даты, имена, XMP, сопоставление альбомов и поведение дубликатов. После теста проще исправить шаблон или параметры, чем перестраивать большой импорт.
Внешняя библиотека позволяет индексировать файлы, которые уже лежат в выбранной папке сервера или сетевого хранилища, не копируя их в обычную область загрузок Immich. Для фотографов и владельцев NAS это один из самых ценных режимов: существующая файловая структура остаётся на месте, а медиатека получает миниатюры, поиск, лица, карту и другие представления. Папка должна быть доступна контейнеру по корректному пути, а права доступа должны соответствовать выбранной модели работы.
Если исходный архив нельзя изменять, внешний каталог лучше подключать только для чтения. Тогда ошибки в интерфейсе или случайное удаление не затронут оригинальные файлы. Если предоставить запись, возможности становятся шире, но и ответственность выше: действия, связанные с удалением объектов внешней библиотеки, способны влиять на исходник. Поэтому права монтирования — не формальность, а один из основных уровней защиты архива.
Изменения во внешней папке обнаруживаются сканированием и механизмами наблюдения за файловой системой, однако не каждое хранилище одинаково хорошо передаёт события. При переносе большой пачки файлов или работе через некоторые сетевые файловые системы полезно запускать повторное сканирование. В настройках можно задать расписание сканирования, чтобы новые материалы подхватывались регулярно без ручного вмешательства.
Представление папок сохраняет привычную навигацию по файловому дереву. Оно особенно ценно для коллекций, где названия директорий несут смысл: год, съёмка, клиент, путешествие, тип проекта. В отличие от альбомов, папка отражает физическую или смонтированную структуру, а не только логическую группировку внутри каталога. Пользователь может оставить старую организацию и параллельно пользоваться поиском, людьми, тегами и альбомами.
Шаблон хранения и имена файлов
Для файлов, которые загружаются непосредственно в Immich, администратор может включить шаблон структуры хранения. Он формирует каталоги и имена с использованием переменных: года, месяца, дня, времени, исходного имени, расширения, типа файла, производителя и модели камеры, объектива, альбома и идентификатора объекта. Это позволяет вместо случайного набора служебных каталогов получить структуру, удобную для ручного резервного копирования и аварийного просмотра.
Шаблон нужно проектировать до массового импорта. Даты и часовой пояс влияют на получившийся путь, а слишком длинные конструкции способны приблизиться к ограничениям файловой системы. Хороший вариант обычно прост: год, дата съёмки и исходное имя. Добавлять в путь все доступные поля стоит только тогда, когда это действительно помогает восстановить контекст без базы данных.
Изменение шаблона влияет на новые объекты, а для ранее загруженных материалов существует отдельное задание миграции хранилища. Его нельзя путать с обычной индексацией: миграция физически перестраивает расположение управляемых файлов в соответствии с новой схемой. Перед таким заданием особенно важна резервная копия и проверка свободного места. Если медиатека находится на медленном диске, операция может занять значительное время.
Проверка хэшей помогает обнаруживать несоответствия между ожидаемым и фактическим содержимым управляемого хранилища. Отключать её без причины не стоит. Контрольная сумма не заменяет резервную копию и не восстанавливает испорченный файл, но даёт возможность заметить проблему до того, как единственная повреждённая копия станет незаметной частью архива.
Альбомы, общие альбомы и партнёрский доступ
Альбом в Immich — логическая подборка, поэтому один снимок может участвовать в нескольких подборках без физического копирования оригинала. Это удобно для семейных событий, поездок, рабочих проектов и тематических коллекций. Название и описание альбома помогают быстро понять его назначение, а временной порядок сохраняет естественную последовательность материалов.
Обычный альбом можно открыть другим зарегистрированным пользователям. В зависимости от выданных прав участник только просматривает содержимое или получает возможность добавлять материалы. Такой режим лучше публичной ссылки, когда нужно постоянное совместное пространство для членов семьи или команды: у каждого остаётся собственная учётная запись, а доступ можно менять централизованно.
Партнёрский доступ рассчитан на более широкий сценарий: пользователь предоставляет другому человеку просмотр своей библиотеки, а не одного выбранного альбома. Это удобно для семейной пары, которая хочет видеть фотографии друг друга без постоянного ручного добавления в общие подборки. При этом библиотеки пользователей остаются отдельными. Дедупликация выполняется в контексте конкретной библиотеки, поэтому одинаковый кадр у двух партнёров может появляться как два объекта.
Публичная ссылка подходит, когда у получателя нет учётной записи Immich. Её можно создать для выбранных объектов или альбома, задать срок действия, пароль и разрешения. В зависимости от выбранных параметров получателю можно позволить загрузку файлов, скачивание или только просмотр. Внешний доступ следует выдавать минимально необходимым: если нужно лишь показать фотографии, не стоит разрешать загрузку новых файлов.
Публичная ссылка не делает сервер автоматически безопасным для публикации в интернете. Защита транспортного соединения, корректная настройка обратного прокси, обновления, сложные пароли и контроль открытых портов остаются задачей владельца. Если доступ нужен только семье, часто проще использовать VPN или другой защищённый способ входа в домашнюю сеть, чем открывать весь сервер напрямую.
Теги и звёздные оценки
Теги дают независимую от альбомов систему классификации. Они могут быть иерархическими, поэтому вместо десятков несвязанных меток можно построить дерево вроде фотография → архитектура → модернизм или семья → праздники → день рождения. В большой медиатеке это полезнее плоского списка: родительская категория объединяет общий смысл, а дочерние теги уточняют тему.
Immich умеет учитывать теги и ключевые слова из XMP/IPTC, что облегчает перенос архива из программ, где классификация уже была выполнена. При изменении описания, оценки или тегов система может работать с XMP-данными рядом с исходником. Это важно для переносимости: часть интеллектуальной организации остаётся не только в базе фотокаталога, но и в стандартных метаданных, доступных другим инструментам.
Перед массовым редактированием XMP стоит проверить права записи и стратегию резервного копирования. Для внешней библиотеки, подключённой только для чтения, запись сопутствующих файлов закономерно будет невозможна. Если сохранение XMP принципиально, каталог должен иметь разрешённый путь для таких изменений; если важнее абсолютная неизменность исходной коллекции, разумнее оставить только чтение и хранить организацию в базе Immich.
Звёздная оценка дополняет теги. Она подходит для отбора удачных кадров после съёмки, подготовки лучших фотографий к печати или выбора материалов для общего альбома. Рейтинг можно сочетать с поисковыми фильтрами: например, показать фотографии определённого человека за год и оставить только объекты с высокой оценкой. Такой подход превращает Immich из простой галереи в практичный каталог отбора, хотя профессиональные инструменты цветовых меток и сложных коллекций здесь заметно скромнее, чем в специализированных DAM-системах.
Просмотр фото, видео, Live Photo и панорам
Просмотрщик Immich открывает фото на тёмном фоне, поддерживает навигацию между соседними объектами и показывает панель сведений. Отсюда доступны избранное, архив, общий доступ, скачивание, добавление в альбом, работа со стопкой и другие действия. Пользователь может скачать обработанное представление или исходный файл, когда для объекта есть сохранённые изменения.
Для Live Photo и Motion Photo сохраняется связка неподвижного кадра и короткого видео, если формат корректно распознан. Это позволяет переносить такие материалы с телефона без превращения их в два несвязанных объекта в обычной ленте. Панорамные изображения в формате 360 градусов могут открываться в соответствующем интерактивном режиме в веб-интерфейсе. Для видео доступны воспроизведение, миниатюры и, при необходимости, серверное перекодирование в более совместимый формат.
Видеофайл не всегда воспроизводится в исходном кодеке непосредственно в браузере. Поэтому Immich использует FFmpeg и может создавать транскодированную копию, пригодную для клиентского устройства. Аппаратное ускорение способно заметно уменьшить нагрузку на процессор, но поддержка зависит от видеокарты, драйверов, кодека и выбранного режима. Если конкретный ролик проигрывается на телефоне, но не в веб-интерфейсе, сначала следует проверить завершение задания транскодирования и совместимость целевого кодека, а не считать файл повреждённым.
Для показа подборки на большом экране есть режим слайд-шоу, а веб-интерфейс может работать с Google Cast для совместимых устройств. При трансляции особенно важна совместимость видеокодека: изображение обычно передаётся проще, а неподдерживаемое видео может потребовать перекодирования. Если телевизор или медиаприставка не открывает ролик, полезно проверить, создана ли сервером совместимая версия.
Базовое редактирование без потери исходника
Встроенный редактор выполняет поворот, зеркальное отражение и кадрирование. Для кадра можно выбрать свободную рамку или распространённые соотношения сторон. Изменения сохраняются без разрушения исходного файла: оригинал остаётся доступным, а при скачивании пользователь может выбрать обычную обработанную версию или исходник. Это снижает риск потерять важную фотографию из-за неудачного кадрирования.
Такой редактор рассчитан на исправление композиции и ориентации, а не на полноценную обработку. В нём не следует ожидать продвинутой ретуши кожи, локальных масок, сложной работы с цветом, точного шумоподавления, пластики, замены неба или профессионального RAW-проявления. Для этих задач логичнее обработать файл в специализированной программе, экспортировать результат и затем хранить рядом с оригиналом либо как отдельный объект в медиатеке.
При работе с несколькими версиями одной фотографии полезно использовать стопки и понятные имена. Например, RAW можно оставить оригиналом, а готовый JPEG — отдельным экспортом. Если система распознаёт их как похожие объекты, стопка уменьшит дублирование в ленте, но обе версии останутся доступны. Это прозрачнее, чем пытаться использовать Immich как редактор недеструктивного проявления RAW, для которого он не предназначен.
Поддерживаемые форматы изображений и видео
Immich принимает широкий набор изображений: JPEG, PNG, WebP, HEIC/HEIF, AVIF, GIF, TIFF, BMP, JPEG 2000, JPEG XL, MPO, SVG, PSD и множество RAW-расширений, включая форматы популярных камер. Наличие расширения в списке означает возможность принять и обработать файл в рамках возможностей системы, но не гарантирует, что каждый экзотический вариант кодирования будет одинаково полно показан всеми клиентами. Для RAW особенно важен механизм создания превью.
Видео поддерживает распространённые контейнеры MP4, MOV, MKV, WebM, AVI, M4V, 3GP, MPEG, WMV, а также ряд форматов, встречающихся у камер и видеотехники, включая MTS/M2TS и MXF. Фактическое воспроизведение определяется не только расширением контейнера, но и кодеком внутри. Поэтому два файла .mp4 могут вести себя по-разному: один браузер воспроизведёт сразу, а для второго потребуется серверное перекодирование.
| Тип | Примеры | Что учитывать |
|---|---|---|
| Обычные фото | JPEG, PNG, WebP, AVIF | Быстро создаются миниатюры и превью; качество показа зависит от настроек превью |
| Фото телефона | HEIC, HEIF, Live Photo | Для совместимости клиентов могут использоваться производные изображения и связанный ролик |
| RAW | Файлы камер разных производителей | Для удобного просмотра создаётся превью; можно предпочесть встроенный в RAW кадр |
| Графика | TIFF, PSD, SVG, JPEG XL | Поддержка просмотра отличается от возможностей полноценного графического редактора |
| Обычное видео | MP4, MOV, MKV, WebM | Контейнер не определяет кодек; при несовместимости выполняется транскодирование |
| Видео камер | MTS, M2TS, MXF | Нагрузка на создание превью и совместимой копии может быть высокой |
Для RAW администратор может выбирать использование встроенного превью. Это часто быстрее полного декодирования сырого файла и достаточно для каталога, но качество зависит от того, какое превью записала камера. Если цель — оценивать критическую резкость или цвет, лучше открывать оригинал в профильном RAW-конвертере; превью Immich предназначено прежде всего для навигации и просмотра.
Миниатюры и крупные превью занимают дополнительное место. В настройках можно выбирать разрешение и качество создаваемых изображений, а также параметры широкого цветового охвата. Более крупные и качественные превью выглядят лучше на больших экранах, но увеличивают хранилище и время обработки. Для домашнего архива на медленном диске часто выгоднее умеренные значения, а для просмотра на 4K-мониторе — более высокое разрешение.
Карта и географический поиск
Если в EXIF есть координаты, фотографии отображаются на карте. Это позволяет просматривать поездки и искать события не по названиям папок, а по месту съёмки. Обратное геокодирование сопоставляет координаты с географическими названиями, используя данные GeoNames, после чего страна, регион или город могут участвовать в фильтрах поиска.
Координаты из фото считаются чувствительными данными. Перед созданием публичной ссылки стоит решить, нужно ли показывать географию получателю. Домашний адрес, школа, частые маршруты и места отдыха могут раскрывать больше, чем сам кадр. Публичный доступ лучше строить по принципу минимально необходимой информации и проверять страницу в отдельном браузере так, как её увидит человек без учётной записи.
Если карта пустая, сначала следует убедиться, что у исходных файлов действительно есть GPS-координаты и что обработка метаданных завершена. Старые сканы и фотографии с камер без GPS закономерно не появятся на карте. Координаты можно хранить в метаданных после внешнего геотегирования, а затем обновить метаданные объекта в Immich.
Дубликаты и похожие кадры
При загрузке Immich старается не принимать точную копию уже известного файла в той же библиотеке, используя контрольные суммы. Это защищает от банального повторного импорта. Отдельный инструмент дубликатов ищет визуально похожие изображения с помощью машинных признаков и предлагает их для просмотра. Именно второй механизм помогает разобрать серии экспортов, пересохранённые версии и почти одинаковые кадры, которые не совпадают побайтно.
В окне разбора дубликатов система может предварительно выбрать предпочтительный объект, ориентируясь на размер файла и наличие метаданных. При объединении учитываются связанные сведения: альбомы, избранное, рейтинг, описания, видимость, координаты и теги. Но автоматический выбор не заменяет визуальную проверку. Больший файл не всегда лучше: он может быть неудачным исходником, а меньший — аккуратно обработанной финальной версией.
Поиск дубликатов выполняется в пределах библиотеки пользователя. Если два пользователя загрузили один и тот же файл каждый в свою коллекцию, это не обязательно превращается в один общий объект. Аналогичный эффект можно заметить при партнёрском доступе: в общей временной картине могут оказаться визуально одинаковые фотографии из разных библиотек. Это следствие разделения данных пользователей, а не сбой сравнения.
Пользователи, квоты и административные права
Администратор создаёт учётные записи, может назначать квоту хранения и при необходимости задавать метку хранилища. Квота ограничивает объём управляемых загрузок конкретного пользователя; внешние библиотеки учитываются иначе, потому что их файлы уже находятся вне обычной области загрузок. Такой контроль полезен на семейном сервере с ограниченным диском: ребёнку, гостю или временной учётной записи можно выделить меньше места, а основному владельцу — больше.
Удаление пользователя — операция с последствиями для его медиатеки. В системе предусмотрена задержка перед окончательным удалением, чтобы случайное действие можно было отменить. Для срочного удаления администратор может выбрать немедленный вариант. Перед этим стоит проверить общие альбомы и партнёрский доступ: исчезновение владельца способно повлиять на то, какие материалы будут доступны другим.
Профиль пользователя содержит настройки приложения, учётной записи, статистику использования, ключи API, авторизованные устройства, параметры загрузки, функции, уведомления, OAuth, пароль и партнёрский доступ. Такой раздел полезен при диагностике: если неизвестное устройство осталось авторизованным, его можно удалить; если интеграции больше не нужен ключ API, ключ следует отозвать, а не оставлять действующим.
Ключ API даёт программный доступ и должен рассматриваться как секрет. Его не следует публиковать в скриншотах, репозиториях, сообщениях или открытых конфигурациях. Для автоматизации лучше выдавать отдельный ключ и удалять его после завершения проекта. Если ключ случайно раскрыт, правильное действие — отозвать его и создать новый, а не надеяться, что никто не заметит.
Фоновые задания и очереди обработки
После приёма файла работа только начинается. Immich извлекает метаданные, создаёт миниатюры и превью, запускает машинный анализ, при необходимости перекодирует видео и выполняет другие задания. Эти операции образуют очереди. На странице заданий администратор видит, какие процессы ожидают выполнения, активны или требуют повторного запуска. Большая очередь после первого импорта — нормальна: тысячи RAW и роликов невозможно обработать мгновенно.
Нагрузку можно распределять через параметры параллелизма. Увеличение числа одновременно работающих задач ускоряет обработку только пока хватает процессора, памяти и диска. На слабом сервере чрезмерный параллелизм даёт обратный эффект: начинается активный своп, диск занят множеством случайных операций, интерфейс отвечает медленнее. Оптимальная настройка — та, при которой очередь стабильно сокращается, а обычный просмотр остаётся отзывчивым.
Машинный анализ можно запускать на отдельном более мощном узле. Это полезно, если фотоархив хранится на энергоэффективном NAS, а распознавание лиц и контекстный поиск хочется выполнять на компьютере с более быстрым CPU или GPU. Важно обеспечить устойчивое сетевое соединение между компонентами и не забывать, что база данных и оригиналы по-прежнему требуют собственного резервного копирования.
Если после импорта нет лиц, умный поиск ничего не находит или миниатюры остаются пустыми, стоит проверить не одну магическую настройку, а цепочку: доступ к оригиналу, состояние очереди, доступность обработчика, место на диске, журналы ошибок и завершение нужного задания. Перезапускать все процессы без диагностики хуже, чем определить, на каком именно этапе остановился объект.
Требования к серверу и дискам
Для нормальной работы рекомендуется 64-разрядная Linux-система или другая Unix-подобная среда с поддерживаемым Docker. Официальная инструкция рассматривает Docker Compose как основной способ развёртывания. На Windows используется WSL2 или Docker Desktop, а на macOS возможен Docker Desktop, хотя для постоянного сервера предпочтительнее Linux. Процессорные архитектуры amd64 и arm64 поддерживаются, но для современных контейнеров машинного анализа на amd64 требуется достаточно новый набор инструкций.
По памяти практический минимум выше, чем у простой файловой галереи. Документация указывает 6 ГБ RAM как минимальное значение и рекомендует 8 ГБ; конфигурация с 4 ГБ возможна при отключении машинного обучения, но оставляет мало запаса для базы, очередей, превью и видеозадач. Для процессора разумным минимумом считаются два ядра, а четыре дают более комфортный запас. При массовом транскодировании или первичном распознавании лиц вычислительные требования заметно возрастают.
К объёму оригиналов нужно прибавить место для миниатюр и перекодированных роликов. Ориентир документации для производных файлов — в среднем ещё 10–20% от размера медиатеки, но конкретный результат зависит от видео, настроек превью и состава архива. Если коллекция почти целиком состоит из длинных роликов, запас может потребоваться больше. База PostgreSQL обычно занимает намного меньше оригиналов, однако именно она содержит критически важные связи и метаданные.
Базу данных следует держать на локальном быстром носителе, а не на сетевой папке. Для контейнера базы нужен гарантированный объём памяти, и документация отдельно предупреждает о файловых системах Windows: каталог данных PostgreSQL не следует размещать в NTFS или exFAT через обычное монтирование из /mnt. В WSL2 безопаснее использовать управляемый том Docker или файловую систему Linux. Нарушение этого правила способно привести не только к низкой скорости, но и к проблемам с корректностью базы.
Оригиналы можно хранить на больших HDD или подходящем NAS, но необходимо учитывать особенности файловой системы и резервирования. Immich ожидает Unix-совместимое поведение хранилища. Если используется сетевой ресурс, база всё равно должна оставаться локальной, а для внешних библиотек следует проверить права и стабильность монтирования после перезагрузки. Каталог, который иногда отваливается, создаёт больше проблем, чем медленный, но предсказуемый диск.
Резервное копирование и восстановление
Встроенное резервное копирование базы сохраняет метаданные, сведения о пользователях, альбомах и другие данные PostgreSQL, но не копирует оригинальные фото и видео. Поэтому полноценная защита Immich всегда состоит минимум из двух частей: резервной копии базы и резервной копии файлового хранилища. Если сохранить только базу, восстановятся записи без исходников; если сохранить только оригиналы, фотографии физически останутся, но исчезнет значительная часть организации.
Надёжная схема следует принципу 3‑2‑1: минимум три копии данных, на двух разных типах носителей, одна — в другом месте. Для домашнего архива это может быть рабочий диск, отдельный резервный накопитель и зашифрованная внешняя копия. Не обязательно использовать конкретного облачного поставщика: важнее, чтобы одна авария, ошибка пользователя или отказ оборудования не уничтожили все экземпляры одновременно.
Резервирование должно быть проверяемым. Недостаточно видеть зелёную строку в расписании; периодически нужно восстанавливать тестовую копию базы и выборочно сверять оригиналы по контрольным суммам. Такая проверка обнаруживает типичные скрытые проблемы: каталог назначения давно заполнен, права изменились, резервная программа пропускает новые директории, а задача формально продолжает запускаться.
Миниатюры и перекодированные видео можно либо включать в резервную копию, либо считать восстанавливаемыми производными. Если их не сохранять, восстановление займёт дольше: серверу придётся заново создать превью, выполнить машинный анализ и транскодирование. Для небольшой библиотеки это приемлемо, для сотен тысяч объектов — может занять дни. Решение зависит от доступного места и допустимого времени восстановления.
Установка через Docker Compose
Перед развёртыванием нужно подготовить Docker с плагином Compose, каталог проекта и переменные окружения. Официальная схема использует файл compose и пример конфигурации, где задаются путь к библиотеке, пароль базы, часовой пояс и другие параметры. Современная команда запуска пишется через docker compose с пробелом. Старый отдельный исполняемый файл с дефисом не следует использовать как основу новой установки.
Пароль базы лучше задать до первого запуска и хранить только в закрытом конфигурационном файле. Путь для загрузок должен указывать на стабильное хранилище, которое будет доступно после каждого перезапуска. Ошибка в пути на Linux иногда приводит к тому, что Docker создаёт пустую директорию на системном диске; пользователь замечает проблему лишь когда системный раздел неожиданно заполняется. После первого старта полезно проверить фактическое место записи на уровне файловой системы.
После запуска контейнеров нужно дождаться готовности базы и сервисов, затем открыть интерфейс и создать первого администратора. На этом этапе лучше не начинать огромный импорт сразу. Сначала загружают несколько фото, один HEIC, один RAW и короткое видео, проверяют миниатюры, поиск, метаданные и воспроизведение, затем тестируют резервную копию базы. Такая короткая приёмка выявляет неверные пути и права до того, как на сервер поступит весь архив.
При обновлениях следует читать примечания к релизу и выполнять миграции в указанном порядке. У проектов с базой данных переход между крупными выпусками может включать изменения схемы, векторного расширения или контейнеров. Надёжная практика — иметь свежую резервную копию, не менять одновременно несколько независимых частей инфраструктуры и после запуска проверить журнал миграции и состояние очередей.
Сеть, HTTPS и доступ с телефона
Мобильный клиент подключается к адресу сервера, который вводится при первом входе. В домашней сети это может быть внутреннее имя или адрес, а для доступа извне нужен защищённый маршрут. Клиент должен видеть тот же конечный адрес, который корректно обслуживает API и медиафайлы. Если внешний и внутренний маршруты различаются, применяют DNS, VPN или прокси-схему, при которой пользователь не меняет адрес вручную каждый раз.
Для внешнего доступа предпочтительно HTTPS с доверенным сертификатом. Самоподписанные сертификаты, нестандартные заголовки и необычные прокси могут мешать мобильному клиенту даже тогда, когда страница открывается в браузере. Если вход работает только дома, а через мобильную сеть нет, нужно последовательно проверить DNS, сертификат, порт, прокси и маршрут, а не переустанавливать приложение.
HTTPS важен не только для шифрования. Некоторые браузерные возможности работают полноценно только в безопасном контексте. При больших загрузках веб-интерфейс может использовать механизмы, уменьшающие риск засыпания страницы; надёжность таких функций также зависит от защищённого соединения и поведения браузера. Для долговременного сервера корректный TLS стоит считать базовой частью конфигурации.
Открывать административную панель напрямую во весь интернет без необходимости не следует. Если доступ нужен ограниченному кругу людей, VPN упрощает модель угроз. Если необходимы публичные ссылки, можно публиковать сервер через обратный прокси, но тогда особенно важны обновления, журналирование, ограничение прав и проверка того, какие заголовки и реальные адреса клиента передаются приложению.
OAuth, пароли, устройства и уведомления
Immich может использовать OAuth/OIDC, чтобы делегировать вход внешнему поставщику идентификации. Это удобно в домашней лаборатории или организации, где уже есть единая учётная запись. Администратор настраивает идентификатор клиента, секрет, адреса поставщика и правила сопоставления. Ошибка в обратном адресе или области доступа обычно проявляется как цикл авторизации либо отказ после успешного входа у поставщика.
Даже при OAuth локальные права Immich остаются важными. Роль администратора не должна автоматически выдаваться всем пользователям внешнего каталога. Если используется сопоставление роли по claim, нужно проверить тестовой учётной записью, что обычный пользователь не получает административных возможностей. Изменения схемы входа сначала испытывают в отдельном окне, сохраняя рабочую административную сессию на случай ошибки.
Раздел авторизованных устройств помогает отозвать старый телефон или браузерную сессию. После продажи смартфона, потери ноутбука или подозрения на компрометацию лучше удалить соответствующую авторизацию и сменить пароль. Для OAuth дополнительно проверяют сессии у поставщика идентификации. Удаление приложения с устройства само по себе не всегда означает, что серверная сессия немедленно стала недействительной.
При настроенном SMTP сервер может отправлять уведомления по электронной почте, включая сообщения, связанные с пользователями и общим доступом. Если письма не приходят, проверяют адрес сервера, порт, режим шифрования, учётные данные и политику отправителя. Почтовые ошибки не должны блокировать основной доступ к фотографиям, поэтому диагностику удобно вести по журналам SMTP, не меняя одновременно настройки медиатеки.
Производительность на большой библиотеке
Скорость Immich определяется не одним компонентом. Первичная загрузка упирается в сеть и запись оригиналов, извлечение метаданных — в CPU и чтение, миниатюры — в CPU и диск, машинный анализ — в вычислительный модуль, транскодирование видео — в CPU или GPU, а повседневный поиск и временная шкала зависят от базы и кэшей. Поэтому поставить более быстрый процессор не всегда решает проблему: узким местом может оказаться HDD, сеть до NAS или нехватка памяти.
При первом импорте лучше измерять очереди поэтапно. Если оригиналы загружаются быстро, но миниатюры появляются медленно, сеть не виновата. Если поиск по людям запаздывает, а обычная галерея быстрая, внимание нужно уделить машинному анализу. Если любой переход между датами задерживается даже после завершения фоновых задач, стоит проверить базу, диск и использование памяти.
Аппаратное ускорение видео особенно полезно для коллекции 4K. Поддерживаются разные варианты ускорения в зависимости от оборудования, но нельзя считать наличие GPU гарантией успеха. Кодек исходника, доступные аппаратные декодеры и энкодеры, драйвер внутри контейнера и выбранная политика транскодирования должны совпадать. Неправильно настроенный GPU иногда медленнее программного режима из-за ошибок и повторных запусков.
Для машинного обучения похожее правило: ускоритель полезен, если сервер и контейнер действительно умеют его использовать. При небольшой медиатеке простой CPU может быть достаточен, особенно после завершения первичного анализа. Постоянно держать мощную видеокарту включённой ради редких новых фотографий необязательно; отдельный ML-узел позволяет запускать тяжёлые операции на более производительной машине, когда это нужно.
Миниатюры и превью стоит выбирать под реальные экраны. Слишком большое разрешение увеличивает место и трафик, слишком маленькое делает фотографии мягкими при полноэкранном просмотре. После изменения настроек уже существующие производные файлы не обязательно обновятся сами: потребуется соответствующее задание регенерации. На сотнях тысяч объектов оно может создать значительную нагрузку, поэтому его лучше запускать в спокойное время.
Типичные ошибки мобильного резервного копирования
Фоновые загрузки останавливаются на Android
Первым делом проверяют ограничения батареи для Immich. Многие прошивки агрессивно выгружают фоновые процессы, даже если пользователь разрешил сеть. Следующий шаг — убедиться, что выбран нужный альбом, разрешён требуемый тип сети и приложение действительно имеет доступ к фото и видео. Полезно открыть Immich, оставить экран активным и посмотреть, продолжается ли очередь: если да, проблема почти наверняка связана с фоновыми ограничениями устройства.
На iPhone часть фотографий появляется с задержкой
iOS сама решает, когда предоставить приложению время в фоне. Нужно проверить Background App Refresh и разрешение к медиатеке. Если оригиналы находятся только в iCloud и на телефоне хранится оптимизированная копия, системе может понадобиться сначала получить файл во временный кэш. На большой библиотеке такой процесс не выглядит мгновенным. Для первичного переноса лучше держать телефон на питании и стабильном Wi‑Fi.
После освобождения места пропали файлы из другого приложения
Операция удаления использует системную медиатеку. Приложения, которые ссылаются на локальный файл, могут потерять к нему доступ, даже если копия уже есть на сервере Immich. Поэтому альбомы с критичными локальными зависимостями нужно исключать из очистки. На iPhone отдельно учитывают синхронизацию iCloud: удаление из системной медиатеки может распространиться на облачную библиотеку Apple.
Типичные ошибки сервера и библиотеки
Контейнеры запустились, но страница недоступна
Нужно проверить состояние контейнеров, порт, журнал приложения и готовность базы. Частая причина — неверный пароль базы или старый конфигурационный файл после изменения compose. Если сервер находится за прокси, временно полезно проверить прямой доступ из той же сети, чтобы разделить проблему приложения и маршрутизации. Одновременная смена DNS, прокси, сертификата и контейнеров только усложняет поиск причины.
База работает нестабильно в Windows
Следует проверить, где физически расположен каталог PostgreSQL. Размещение базы на NTFS или exFAT, смонтированной в WSL через /mnt, не соответствует рекомендованной схеме. Перенос в Docker volume или файловую систему Linux устраняет целый класс проблем с семантикой файлов и производительностью. Перед переносом нужна корректная резервная копия базы и проверенное восстановление.
Внешняя библиотека видна пустой
Чаще всего контейнер не видит тот путь, который видит хост, либо у процесса нет прав чтения. Нужно войти в контекст контейнера и проверить фактический путь, а не ориентироваться только на каталог в файловом менеджере сервера. После исправления монтирования запускают повторное сканирование. Если библиотека на NAS, дополнительно проверяют, что сетевой ресурс подключается до старта контейнеров и не отваливается при перезагрузке.
Новые файлы во внешней папке не появились
События файловой системы могут не проходить через некоторые сетевые протоколы так же надёжно, как на локальном диске. В этом случае помогает ручное сканирование или расписание. Если проблема возникла только после массового перемещения, стоит дождаться окончания текущих задач и запустить повторное сканирование один раз, а не нажимать его многократно: несколько параллельных обходов лишь увеличат нагрузку.
Нет лиц и контекстного поиска
Проверяют очередь машинного обучения, доступность ML-сервиса и выбранную модель. Если модель недавно менялась, старый индекс не становится новым автоматически. Для лиц также важно наличие созданных превью. Удобно взять один конкретный файл и проследить его путь через метаданные, миниатюру и ML, вместо того чтобы оценивать всю библиотеку сразу.
Видео есть в ленте, но не проигрывается
Следует определить кодек исходника и проверить задание транскодирования. Если аппаратное ускорение включено недавно, временное переключение на программный режим помогает понять, связан ли сбой с GPU. При успешном программном транскодировании проблема обычно в драйвере, доступе контейнера к устройству или неподдерживаемой комбинации декодера и энкодера.
Миниатюры серые или отсутствуют
Причиной может быть ошибка декодирования конкретного формата, нехватка места для производных файлов, права доступа или незавершённая очередь. Для RAW полезно проверить встроенное превью. После устранения причины запускают регенерацию миниатюр для проблемных объектов или соответствующую очередь, а не повторно загружают оригиналы.
Дата съёмки выглядит неверно
Immich извлекает дату из доступных метаданных и учитывает часовые пояса. Старый скан без EXIF может получить дату файла, которая не совпадает с реальным событием. Для таких коллекций правильнее заранее прописать метаданные подходящим инструментом или отредактировать сведения после импорта. Массовую корректировку сначала проверяют на копии нескольких файлов, чтобы не сдвинуть весь архив на несколько часов или дней.
Заканчивается место, хотя оригиналы помещаются
Нужно учитывать миниатюры, превью, транскодированные ролики, базу и временные файлы. Видеоколлекция особенно быстро увеличивает производные данные. Сначала измеряют каталоги по отдельности, затем уменьшают качество или разрешение производных только при необходимости. Простое удаление неизвестных внутренних папок опасно: часть из них связана с записями базы и должна обслуживаться штатными заданиями.
Практический сценарий: семейный фотоархив
Для семьи удобно создать отдельную учётную запись каждому человеку, настроить автоматическое копирование альбома камеры и предоставить партнёрский доступ там, где нужен общий просмотр. События лучше собирать в общие альбомы: Отпуск 2026, Школьный концерт, День рождения. Так исходные библиотеки остаются персональными, а совместная подборка формируется без копирования файлов.
Перед первым массовым импортом стоит определить, какие телефонные альбомы действительно нужно сохранять. Скриншоты, мемы и временные изображения из мессенджеров быстро раздувают коллекцию и ухудшают поиск. Их можно исключить из автобэкапа или отправлять в отдельную библиотеку. Для важных семейных документов, наоборот, полезно создать отдельный альбом на телефоне и явно включить его.
Лица имеет смысл именовать после завершения первичной обработки. Сначала объединяют очевидные дубли профилей, затем задают имена ближайшим родственникам и только потом разбирают редких людей. Для ребёнка можно указать дату рождения, чтобы возраст в момент съёмки помогал ориентироваться в длинной истории. Слишком мелкие или случайные лица разумно скрывать, иначе раздел людей быстро превращается в список незнакомцев из фоновых сцен.
Резервное копирование семейного архива нельзя откладывать до когда всё настрою. Уже после первых удачных тестов нужно создать копию базы и оригиналов. Особенно важна внешняя копия вне основного сервера: RAID и зеркальный диск помогают при отказе накопителя, но не спасают от ошибочного удаления, шифровальщика, пожара или кражи всего устройства.
Практический сценарий: архив фотографа
Фотографу удобнее не переносить рабочую структуру в управляемое хранилище без необходимости, а подключить уже существующие каталоги как внешнюю библиотеку. Тогда проекты остаются в привычных папках рядом с RAW, JPEG и XMP, а Immich добавляет быстрый визуальный поиск, лица, карту и просмотр с телефона. Для законченных проектов каталог можно монтировать только для чтения, исключая случайное изменение исходников.
Теги и рейтинги особенно полезны, если они уже записаны в XMP/IPTC. После сканирования можно находить лучшие кадры по звёздам, теме и людям. При этом финальный отбор и проявление RAW остаются в профильной программе. Immich играет роль витрины и поискового слоя над архивом, а не заменяет рабочий каталог, где хранятся маски, история проявления и сложные корректировки.
Для клиента можно создать публичную ссылку на отобранный альбом, задать пароль и срок действия. Если клиенту нужен только просмотр, загрузку и скачивание лучше отключить. Если он должен передать дополнительные файлы, разрешение загрузки можно включить только для конкретной ссылки. После завершения проекта ссылку удаляют или дают ей истечь, а не оставляют бессрочной.
При хранении больших RAW и 4K-видео необходимо отдельно планировать быстрый SSD для базы и производных данных, ёмкий массив для оригиналов и резервное хранилище. Даже если сами исходники лежат на NAS, машинный анализ и миниатюры создают значительный поток чтения. Сеть 1 Гбит/с может стать узким местом при первичной индексации очень крупной коллекции, поэтому перенос лучше выполнять партиями и следить за очередями.
Практический сценарий: перенос архива с облачной фотогалереи
При миграции сначала выгружают оригиналы и сопутствующие метаданные из прежнего сервиса, затем сохраняют неизменную резервную копию экспорта. Только после этого экспериментируют с импортом. Один тестовый год или один альбом позволяет увидеть, правильно ли читаются даты, координаты и названия, не появились ли лишние дубликаты и как обрабатываются Live Photo.
Если экспорт содержит JSON или другие служебные файлы, нельзя предполагать, что Immich автоматически восстановит все поля прежнего сервиса. Часть метаданных лучше заранее преобразовать в стандартные EXIF/XMP подходящим миграционным инструментом. Альбомы можно восстанавливать командным импортом или создавать заново. Важно различать оригинальную файловую структуру и логические альбомы: это разные уровни организации.
После импорта сравнивают количество объектов, несколько случайных дат, географию, лица и видео. Особое внимание уделяют файлам с изменённой датой на диске: дата копирования не должна подменять дату съёмки, если оригинальный EXIF сохранён. Только после проверки новой медиатеки можно решать, когда отключать старый сервис или удалять временный экспорт.
Что настраивать сразу, а что можно оставить по умолчанию
Сразу следует настроить путь к оригиналам, пароль базы, часовой пояс, резервное копирование, внешний доступ и политику учётных записей. Эти параметры влияют на безопасность и физическое расположение данных, поэтому переделывать их после большого импорта сложнее. Также полезно решить, будут ли внешние библиотеки доступны для записи и нужен ли шаблон хранения управляемых загрузок.
Качество миниатюр, модель контекстного поиска, параметры распознавания лиц и степень параллелизма можно сначала оставить близкими к стандартным значениям. Их оптимизируют после того, как станет понятна нагрузка именно этой библиотеки. Менять всё одновременно невыгодно: невозможно понять, какой параметр улучшил скорость, а какой создал лишнюю работу.
Пользовательские функции вроде тегов, представления папок, памяти по датам и звёздной оценки можно включать по мере необходимости. Интерфейс становится понятнее, когда в навигации остаются только реально используемые разделы. Для семьи часто достаточно фото, поиска, людей, карты, альбомов и общего доступа; фотограф добавит папки, теги и рейтинги.
Сравнение Immich с аналогами
| Программа | Лучше подходит для | Главное ограничение |
|---|---|---|
| Immich | Автозагрузки со смартфона, современной временной шкалы, поиска по людям и содержимому на своём сервере | Требует самостоятельного администрирования сервера, базы, обновлений и резервных копий |
| PhotoPrism | Каталогизации большого архива на сервере, работы с метаданными, картой и визуальным поиском | Фоновая автозагрузка с телефона требует отдельного приложения с WebDAV |
| LibrePhotos | Открытой семейной фототеки с распознаванием лиц и поиском по содержимому | Официальный мобильный клиент пока экспериментальный; готового iOS-приложения нет |
| Nextcloud Memories | Пользователей, которые уже хранят файлы в Nextcloud и хотят удобную фотоленту поверх существующего облака | Зависит от правильно настроенного и достаточно производительного стека Nextcloud |
| Synology Photos | Владельцев совместимого Synology NAS, которым нужна готовая фотогалерея внутри экосистемы устройства | Привязано к совместимому оборудованию и программной среде Synology |
Практический выбор зависит от уже имеющейся инфраструктуры. Если ключевой сценарий — автоматическая отправка снимков с телефона, быстрая лента, лица, контекстный поиск и семейный доступ при контроле над хранилищем, Immich обычно оказывается наиболее цельным вариантом. PhotoPrism сильнее воспринимается как серверный фотокаталог, Nextcloud Memories логичнее там, где Nextcloud уже является центром файлов, а Synology Photos экономит время владельцу подходящего NAS. При выборе следует считать не только функции интерфейса, но и стоимость хранения, резервного копирования и собственного времени на обслуживание.
Ограничения, которые важно знать до переноса архива
Первое ограничение — необходимость обслуживать серверную часть. Обновления, база данных, права файлов, HTTPS, резервные копии и мониторинг дисков не исчезают за красивой фотолентой. Если пользователь не хочет заниматься инфраструктурой вообще, управляемый облачный сервис будет проще. Immich особенно оправдан тогда, когда контроль над файлами и гибкость важнее полной свободы от администрирования.
Второе — встроенная обработка фотографий остаётся базовой. Кадрирование, поворот и зеркальное отражение удобны для быстрой коррекции, но не закрывают задачи RAW-проявления и ретуши. Это не недостаток организации медиатеки, а граница назначения. Лучший результат получается, когда Immich отвечает за архив и поиск, а специализированный редактор — за тон, цвет, дефекты и художественную обработку.
Третье — мобильная синхронизация альбомов не является двусторонним зеркалом. Сервер хорошо принимает новые материалы и формирует собственную организацию, но изменения структуры на телефоне не обязаны отражаться обратно и наоборот. Если нужен именно синхронизатор файловых папок с одинаковым состоянием на всех устройствах, следует использовать другой класс программ и уже поверх его каталога строить фотогалерею.
Четвёртое — интеллектуальные функции зависят от вычислений и качества исходных данных. Лица иногда требуют объединения или исправления, OCR ошибается на мелком тексте, контекстный поиск зависит от модели, география невозможна без координат. Эти инструменты резко ускоряют навигацию, но не отменяют обычные теги, альбомы и проверку пользователем.
Пятое — общий доступ не заменяет полноценную систему согласования фотографий для коммерческой студии. Альбомы, ссылки, пароли и загрузка файлов удобны для семьи и простой передачи клиенту, но в Immich нет полного набора специализированных функций proofing-сервисов: сложных статусов согласования, коммерческой продажи отпечатков или развитого клиентского workflow. Для таких проектов фотокаталог можно использовать как архив, а согласование вести отдельно.
Временная шкала, выделение и массовые действия
Хронологическая лента рассчитана на работу не только с отдельными фотографиями, но и с большими выборками. После перехода в режим выделения можно отмечать объекты по одному, захватывать последовательность и затем отправлять выбранное в альбом, архив, избранное, стопку, общий доступ или корзину. Для разбора поездки это быстрее, чем открывать каждый кадр. Практичный приём — сначала сузить набор поиском по дате, камере или человеку, а уже затем выполнять массовое действие: так меньше риск захватить соседний день или похожую съёмку.
Массовые операции особенно полезны для архива после импорта. Например, старые технические сканы можно убрать из основной ленты в архив, финальные экспортированные кадры отметить звёздами, а несколько версий одной композиции объединить в стопку. Важно помнить, что визуальная организация и физическое удаление — разные действия. Перенос в архив не освобождает место, стопка не удаляет лишние варианты, а добавление в альбом не создаёт ещё одну физическую копию.
Для длинной временной шкалы полезна навигация по годам. Вместо непрерывной прокрутки пользователь переходит к нужному периоду, а затем уточняет выбор. Система строит представление по времени съёмки, поэтому ошибки EXIF сразу становятся заметны: фотография 2008 года с неверной датой может оказаться среди новых кадров. Такие аномалии лучше исправлять в метаданных, а не пытаться перетащить объект в другое место ленты.
Архив, корзина, защищённая папка и режим только чтения
Архив скрывает выбранные объекты из основной временной шкалы и представления папок, но они остаются доступными в поиске и специальном разделе. Это удобно для служебных изображений, серийных кадров и материалов, которые нужны редко, но удалять их нельзя. Если снимок неожиданно исчез из ленты, поиск по имени или метаданным и проверка архива помогают быстро понять, был ли он действительно удалён.
Корзина предназначена для контролируемого удаления. Перед массовой очисткой рекомендуется проверить, относится ли объект к управляемой или внешней библиотеке и какие права имеет подключённый каталог. Физическое поведение внешнего файла зависит от режима монтирования и доступности записи. На архиве, который должен быть неизменным, защита на уровне файловой системы надёжнее дисциплины пользователя: каталог только для чтения не позволит случайному действию изменить оригинал.
Защищённая папка убирает чувствительные материалы из обычных представлений, но её не следует считать заменой шифрованию всего хранилища или отдельной системе секретов. Администратор сервера по-прежнему контролирует инфраструктуру. Для семейного сервера раздел полезен как интерфейсная граница между обычной лентой и приватной частью коллекции, а требования к физической безопасности диска и резервных копий решаются отдельно.
На мобильном устройстве можно включить режим только чтения. Он подходит для планшета на кухне, телевизионного устройства или телефона родственника, которому нужно смотреть фотографии без риска случайно удалить или изменить их. Такой режим уменьшает число ошибочных действий, но не отменяет серверные права учётной записи. Если требуется строгое ограничение, права доступа и назначение учётной записи должны соответствовать сценарию.
Воспоминания, слайд-шоу и повседневный просмотр
Воспоминания формируют подборки по прошлым датам и помогают возвращаться к архиву без ручного поиска. Функцию можно включать и выключать в пользовательских настройках, как и другие элементы навигации. Для семьи это удобный способ регулярно видеть старые фотографии, но при очень большом архиве не всем нужен такой блок. Отключение воспоминаний не удаляет объекты и не меняет альбомы — исчезает только соответствующее представление.
Слайд-шоу полезно для показа поездки или семейного события без ручного перелистывания. Перед запуском лучше открыть конкретный альбом или отобранную выборку, иначе в показ могут попасть технические кадры и случайные скриншоты. Для большого экрана можно использовать поддерживаемую трансляцию Google Cast из веб-интерфейса. Фотографии обычно не создают сложностей, а видео требует совместимого формата или готовой транскодированной версии.
При повседневном просмотре качество ощущается не только по разрешению исходника. Пользователь чаще видит производное превью, оптимизированное для быстрой выдачи. Поэтому слишком низкое качество превью способно создать впечатление, что исходные фотографии испорчены, хотя оригиналы неизменны. Проверять качество исходника следует через загрузку оригинала или профильный редактор, а параметры превью выбирать исходя из размеров экрана и скорости сети.
EXIF, XMP и сохранение описаний
Immich извлекает технические данные изображения и показывает их в информационной панели. Набор зависит от файла: модель камеры, объектив, экспозиция, ISO, диафрагма, фокусное расстояние, координаты, дата и другие поля могут присутствовать не всегда. Скан старой бумажной фотографии, экспорт из мессенджера и RAW с камеры дают совершенно разный объём метаданных. Отсутствие поля в интерфейсе не обязательно означает ошибку каталога — его могло не быть в исходнике.
XMP sidecar позволяет хранить часть пользовательских сведений рядом с медиафайлом. Поддерживаются распространённые варианты имени, когда файл XMP располагается рядом с оригиналом. Изменения описания, рейтинга и тегов могут отражаться в sidecar, что повышает переносимость архива. Если позже медиатеку будет читать другая программа, стандартные поля проще восстановить, чем внутренние связи из конкретной базы данных.
При работе с уже существующими XMP разумно сделать копию нескольких пар оригинал + sidecar и проверить цикл чтения и записи. Разные программы используют собственные пространства имён и не обязаны одинаково интерпретировать все поля. Immich хорошо подходит для основных описаний, рейтингов и тегов, но сложные инструкции проявления из RAW-редактора не становятся командами встроенному редактору Immich.
Для сканированного архива метаданные часто важнее исходного имени. Если пользователь заранее записывает реальный год, место и краткое описание, затем поиск и карта начинают работать гораздо полезнее. Сотни файлов scan0001.jpg, scan0002.jpg остаются техническими именами, а содержательная навигация строится по дате, людям, тегам и описанию.
Настройка машинного поиска и выбор модели
Контекстный поиск использует модель, преобразующую изображение и текстовый запрос в сопоставимое векторное представление. Администратор может выбирать модель с учётом нужного языка, качества, скорости и доступной памяти. Универсального лучшего варианта нет: более крупная модель способна точнее понимать сложные запросы, но медленнее обрабатывает первичный архив и требует больше ресурсов.
Если пользователи ищут преимущественно на русском, модель следует выбирать с учётом языковой поддержки. Проверка должна быть практической: взять несколько заранее известных сцен и попробовать запросы на нужном языке. Хороший тест включает простые предметы, действия, место, время суток и комбинацию признаков. Если модель плохо понимает запросы, смена языка формулировки иногда помогает, но для постоянной работы правильнее подобрать подходящую модель.
После изменения модели существующие изображения нужно заново обработать для создания совместимого векторного индекса. В большой библиотеке это тяжёлая операция. Её лучше планировать после завершения обычных очередей и не совмещать с массовым транскодированием видео. Во время переиндексации обычная галерея продолжает иметь смысл, но результаты контекстного поиска могут быть неполными до окончания задания.
Обычные фильтры не зависят от семантической модели так же сильно. Поиск по имени, расширению, описанию, человеку, камере, дате и тегам остаётся предсказуемым способом найти объект. Поэтому для важных рабочих коллекций лучше не полагаться только на умный запрос. Теги, рейтинг и нормальные метаданные дают устойчивую структуру, а контекстный поиск дополняет её.
Точная работа с фильтрами поиска
Расширенные фильтры можно комбинировать. Например, чтобы найти снимки с конкретной поездки, выбирают диапазон дат, город и нужного человека. Для отбора результатов с определённой камеры добавляют производителя, модель и объектив. Чтобы найти материалы, которые ещё не разобраны, полезен фильтр объектов вне альбомов. Комбинация условий уменьшает число ложных совпадений без необходимости придумывать сложный текстовый запрос.
Фильтр по типу медиа отделяет фото от видео. Это важно в поездках, где сотни коротких роликов чередуются с фотографиями: при подготовке фотокниги можно сразу исключить видео, а для монтажа — наоборот, оставить только ролики. Архив и избранное также участвуют в условиях, поэтому пользователь способен временно искать внутри скрытой части коллекции, не возвращая её в основную ленту.
Фильтрация по описанию и OCR различается. Описание вводит пользователь или другой инструмент метаданных, а OCR извлекает текст из самого изображения. Если нужно найти фотографию таблички с названием улицы, полезен OCR; если кадр подписан встреча выпускников, подходит описание. Разделение механизмов помогает понять, почему одно и то же слово находится в одном режиме и отсутствует в другом.
Импорт без потери исходной структуры
Владельцам многолетней папочной системы не обязательно отказываться от неё ради красивой фотоленты. Внешняя библиотека индексирует существующее дерево, а представление папок позволяет продолжать переходить по знакомым каталогам. Параллельно над теми же файлами работают поиск, лица и карта. Это снижает зависимость от базы: даже если интерфейс временно недоступен, оригиналы остаются в понятной файловой структуре.
Для такой схемы особенно важны стабильные точки монтирования. Путь внутри контейнера должен оставаться одинаковым после перезагрузки, а NAS должен подключаться до запуска сервиса. Если сетевой каталог временно отсутствует и вместо него появляется пустая локальная папка, сканирование может дать неожиданный результат. Автоматизацию запуска полезно настроить так, чтобы приложение не начинало работу, пока ключевое хранилище недоступно.
Переименование или массовое перемещение папок вне Immich требует повторного сканирования. Для огромного архива лучше избегать бесконечной перестройки дерева: физическая структура отвечает за долговечное хранение, а гибкую тематическую организацию удобнее делать альбомами и тегами. Тогда один и тот же файл участвует в разных проектах без копирования и без постоянных изменений путей.
Удаление и освобождение места без ошибок
Перед любой массовой очисткой нужно точно понимать, где находится единственная копия. Если телефон уже отправил фотографию на сервер, это ещё не означает наличие резервной копии сервера. Удаление с телефона освобождает локальное место, но при отказе единственного серверного диска файл будет потерян. Поэтому сначала настраивают отдельную копию хранилища, затем проверяют её, и лишь после этого рассматривают массовое освобождение памяти устройства.
На Android и iOS системная корзина может удерживать удалённые файлы и продолжать занимать место. Если после операции свободного пространства почти не прибавилось, нужно проверить корзину стандартной галереи. Очищать её следует только после проверки, что нужные фотографии действительно открываются с сервера и входят в резервную копию.
Пакетное удаление на мобильной платформе ограничивается правилами операционной системы, поэтому приложение обрабатывает объекты партиями. Большой архив может потребовать несколько циклов подтверждения. Это нормальнее, чем попытка обойти системные механизмы удаления: именно они дают пользователю возможность увидеть, что собирается удалить приложение.
Хранилище оригиналов, превью и базы как отдельные слои
При планировании дисков полезно мысленно разделить четыре типа данных: оригиналы, производные файлы, PostgreSQL и резервные копии. Оригиналы требуют ёмкости и надёжности, превью и транскоды — скорости и места, база — низкой задержки и корректной файловой системы, резервные копии — физической независимости от рабочего сервера. Один большой диск может вместить всё, но такая схема плохо изолирует отказ.
Быстрый SSD особенно полезен для базы и небольших часто читаемых производных данных. Оригиналы большого фотоархива могут лежать на HDD, если сеть и файловая система стабильны. При этом не стоит превращать SSD в единственную копию метаданных: его скорость не заменяет резервирование. Регулярный дамп базы должен уходить на другой носитель вместе с системой контроля успешности задания.
Если производные файлы не включены в резервирование, нужно заранее оценить время их регенерации. Для десятков тысяч JPEG это может быть приемлемо, а сотни часов видео и большой RAW-архив создадут серьёзную очередь. В домашней системе можно экономить место и восстанавливать производные, а в рабочей медиатеке выгоднее копировать их, чтобы после аварии быстрее вернуть интерфейс в привычное состояние.
Настройки миниатюр и широкий цветовой охват
Immich создаёт несколько типов производных изображений для разных размеров интерфейса. Маленькие миниатюры ускоряют сетку, крупные превью используются при просмотре. Администратор задаёт разрешение и качество. Высокое качество не улучшает исходник: оно лишь уменьшает потери в производной версии. Поэтому увеличивать параметры до максимума имеет смысл только при наличии экрана, сети и диска, которые позволяют увидеть разницу.
Для совместимых изображений можно использовать широкий цветовой охват Display P3. Это актуально на современных дисплеях, но требует корректной цепочки управления цветом от исходника до браузера и экрана. Если монитор обычный sRGB, пользователь не получит дополнительных оттенков только от включения P3. Для критической оценки цвета по-прежнему нужен калиброванный рабочий процесс в специализированном редакторе.
После изменения размера или качества старые превью могут остаться прежними, пока не запущена регенерация. Задание следует планировать как тяжёлое обслуживание: оно читает исходники и создаёт много новых файлов. Перед запуском проверяют свободное место и делают резервную копию конфигурации, а во время выполнения наблюдают, не вытесняет ли процесс обычных пользователей.
Видео: транскодирование, аппаратное ускорение и совместимость
Для видео Immich разделяет хранение оригинала и подготовку версии для воспроизведения. Исходник остаётся в медиатеке, а FFmpeg при необходимости создаёт совместимую копию. Такой подход особенно полезен для HEVC, высоких битрейтов и форматов камер, которые браузер не декодирует напрямую. Пользователь видит ролик в привычном интерфейсе, не меняя оригинальный файл.
Аппаратное ускорение требует соответствия конкретному оборудованию. На Intel, NVIDIA, AMD и других платформах используются разные механизмы, а не абстрактная кнопка GPU. Перед массовым включением лучше проверить несколько файлов: обычный H.264, HEVC, 4K и один сложный ролик с камеры. Если аппаратный путь стабилен на тестовой выборке, его можно применять ко всей очереди.
Неподдерживаемый профиль кодека или необычный контейнер может дать ошибку даже при наличии мощной видеокарты. В таком случае программный FFmpeg служит контрольным вариантом. Если программное транскодирование успешно, оригинал, скорее всего, исправен, а проблема находится в аппаратной конфигурации. Если оба режима падают на одном файле, нужно проверить сам медиафайл внешним анализатором и журнал FFmpeg.
Командный интерфейс и автоматизация
CLI полезен там, где браузер превращает повторяемую задачу в ручной труд. Через командный импорт можно загружать большие каталоги, автоматизировать отправку и формировать альбомы по папкам. Это удобно для скриптов миграции, выгрузок со сканера или регулярного переноса с рабочей станции. Любую автоматизацию сначала запускают в режиме маленькой тестовой партии, чтобы проверить пути и логику альбомов.
Для интеграций используются API-ключи. Скрипт должен получать ключ из переменной окружения или защищённого хранилища секретов, а не из текста исходного кода. Права и жизненный цикл ключа нужно минимизировать: отдельный ключ для конкретной задачи проще отозвать, чем общий секрет, которым пользуются несколько интеграций. Журналирование скрипта не должно печатать ключ полностью.
Автоматический импорт не отменяет дедупликацию и контроль результата. После каждой крупной партии полезно сравнить количество обработанных файлов, список ошибок и размер очереди. Если десятки файлов не загрузились из-за формата или сети, повторять весь каталог бессмысленно; лучше отобрать только ошибки и разобраться с ними отдельно.
Что проверять перед обновлением
Перед обновлением необходимо иметь свежий дамп базы и копию оригиналов, а также знать текущие параметры хранилища и прокси. Затем читают примечания к выпуску и обращают внимание на обязательные миграции. Если изменение затрагивает базу или расширения PostgreSQL, особенно опасно перескакивать через инструкции и одновременно менять версию базы, путь томов и сетевую схему.
После обновления проверяют не только факт открытия главной страницы. Нужно войти обычным пользователем, открыть старый и новый файл, выполнить поиск, посмотреть лицо, воспроизвести видео, создать тестовую загрузку и проверить очередь заданий. Если используется мобильный клиент, его соединение тоже тестируют. Такой короткий набор операций обнаруживает ошибки, которые не видны по одному зелёному статусу контейнера.
Если обновление не удалось, возвращаться следует по документированной процедуре и с пониманием состояния базы. Простая замена образа на старый после уже выполненной необратимой миграции может быть опаснее исходной ошибки. Наличие проверенного дампа превращает восстановление в управляемую операцию, а отсутствие — в эксперимент над единственной копией метаданных.
Как оценивать Immich перед окончательным переходом
Лучший тест — не пустая установка, а копия небольшой, но разнообразной части реального архива. В неё включают разные годы, камеры, RAW, HEIC, Live Photo, видео, сканы, фотографии с GPS, XMP и несколько одинаковых файлов. Затем проверяют импорт, ленту, лица, карту, контекстный поиск, OCR, альбомы, теги, публичную ссылку, мобильную загрузку и резервное восстановление.
Отдельно измеряют время первичной обработки и объём производных данных. Если тестовые 5000 файлов создают 40 ГБ превью и очередь обрабатывается шесть часов, эти цифры можно масштабировать и заранее понять требования большого архива. Реальное измерение полезнее абстрактного списка системных требований, потому что доля RAW и видео у разных пользователей различается в разы.
Финальное решение принимают после проверки восстановления. Пока пользователь не смог поднять тестовую копию базы и открыть несколько оригиналов из резервного хранилища, миграция ещё не закончена. Красивый интерфейс показывает удобство работы, а успешное восстановление показывает надёжность системы. Для фотоархива второй критерий важнее, потому что коллекция часто хранит невосполнимые материалы.
Диагностика по журналам без лишних изменений
Когда ошибка повторяется, полезно сначала зафиксировать точное время, имя проблемного файла и действие, после которого возник сбой, а затем смотреть журнал соответствующего контейнера. Сообщение о невозможности открыть исходник ведёт к проверке пути и прав, ошибка базы — к PostgreSQL и состоянию диска, сбой FFmpeg — к конкретному видео и параметрам транскодирования, а ошибка машинного анализа — к ML-сервису и модели. Такой разбор быстрее хаотичного перезапуска всех компонентов.
Для воспроизводимой проверки выбирают один объект и повторяют операцию после каждого исправления. Если проблема исчезла, только затем применяют изменение ко всей библиотеке. Перед публикацией фрагмента журнала нужно удалить пароли, токены, ключи API, адреса внутренней сети и персональные данные. Полезный журнал содержит время, тип ошибки и контекст операции, но не требует раскрывать секреты конфигурации.
После исправления причины проверьте очередь заданий и повторите только операции, завершившиеся ошибкой. Массовую регенерацию всей библиотеки запускайте лишь тогда, когда она действительно необходима.
Контрольный список после настройки
- Загрузите тестовые JPEG, HEIC, RAW и видео и убедитесь, что для каждого создаётся читаемое превью.
- Проверьте, что оригиналы физически записываются на запланированный диск, а не в случайный каталог системного раздела.
- Сделайте резервную копию базы и выполните тестовое восстановление в отдельной среде.
- Настройте независимую копию оригиналов и проверьте её контрольными суммами.
- Откройте мобильный клиент по Wi‑Fi и по внешнему маршруту, если внешний доступ действительно нужен.
- Проверьте HTTPS и отсутствие предупреждений сертификата на компьютере и телефоне.
- Включите резервное копирование только нужных телефонных альбомов и исключите временные папки.
- Убедитесь, что батарейные ограничения телефона не останавливают фоновую отправку.
- Не используйте освобождение места на всей медиатеке, пока не проверили действие на небольшой выборке.
- Если работает iCloud, отдельно убедитесь, что понимаете последствия системного удаления на iPhone.
- Дождитесь завершения очередей миниатюр и машинного анализа перед оценкой поиска и лиц.
- Назовите несколько людей, объедините ошибочно разделённые профили и скройте нерелевантные лица.
- Проверьте контекстный поиск, OCR и фильтры по камере, дате и месту на известных фотографиях.
- Если подключена внешняя библиотека, проверьте права чтения и сознательно решите, нужна ли запись.
- Добавьте новый файл во внешнюю папку и убедитесь, что сканирование его обнаруживает.
- Проверьте, как XMP и рейтинги читаются на нескольких файлах до массового редактирования.
- Создайте тестовый общий альбом для обычного пользователя и убедитесь, что его права соответствуют ожиданиям.
- Создайте публичную ссылку без лишних разрешений, откройте её в приватном окне и затем удалите.
- Назначьте разумные квоты пользователям, если общий диск ограничен.
- Удалите ненужные API-ключи и старые авторизованные устройства.
- Проверьте свободное место с учётом миниатюр и транскодированного видео, а не только оригиналов.
- Запишите порядок обновления, расположение конфигурации и процедуру восстановления так, чтобы её можно было повторить без памяти.
После такой проверки Immich можно заполнять основным архивом без спешки и переносить данные партиями. Главное преимущество системы раскрывается не в одной эффектной функции, а в сочетании автоматического приёма файлов, хронологической ленты, поиска, людей, карты, метаданных, альбомов и контролируемого общего доступа. При аккуратно настроенном хранилище и регулярных резервных копиях она превращает разрозненные папки и телефонные галереи в понятную медиатеку, где исходники остаются под контролем владельца, а нужный кадр находится по смыслу, человеку, месту, дате или техническим сведениям.