Перейти к содержимому
Главная страница

Immich: резервное копирование и управление фотоархивом

Immich

Immich решает задачу личного фото- и видеоархива на собственном сервере: автоматически принимает снимки со смартфонов, собирает их в общую временную ленту, распознаёт людей, ищет по содержимому и тексту в кадре, показывает места съёмки на карте, помогает разбирать дубли и делиться альбомами. Он полезен тем, кто хочет получить удобство привычной облачной фотогалереи, но хранить оригиналы на своём оборудовании — домашнем сервере, NAS или виртуальной машине — и самостоятельно контролировать резервные копии, пользователей и удалённый доступ.

Варианты загрузок
  • Удаление и замена фона
  • Портретная ретушь и пластика
  • Пакетная обработка фотографий
Immich
  • Нужен собственный сервер и Docker
  • Не заменяет полноценный фоторедактор
  • Нужен отдельный бэкап оригиналов

Содержание:

Что именно делает Immich

В Immich важен не отдельный инструмент, а связка серверной медиатеки, веб-интерфейса и мобильных клиентов. Сервер принимает оригиналы и хранит служебные данные, создаёт миниатюры и совместимые версии видео, извлекает EXIF, выполняет фоновые задания распознавания и поиска. Веб-интерфейс используется для просмотра, систематизации, поиска, общего доступа и администрирования. Приложения Android и iOS добавляют то, чего не даёт обычная веб-галерея: автоматическую отправку новых фотографий и видео с телефона, выбор локальных альбомов для копирования и работу с медиатекой в мобильном формате.

После загрузки файлы появляются на временной шкале по дате съёмки. Снимки можно добавлять в альбомы, помечать избранными, убирать в архив, объединять близкие кадры в стопки, присваивать теги и рейтинг, менять описание и геопозицию. Для библиотеки с GPS доступна карта, а для больших коллекций — интеллектуальный поиск, фильтры по людям, камере, объективу, месту, датам, типу медиа, рейтингу и другим признакам.

Immich не стоит воспринимать как замену Lightroom, Capture One, Photoshop или ФотоМАСТЕРу. Встроенное редактирование фотографий сейчас ограничено неразрушающим кадрированием, поворотом и отражением. Его сильная сторона — хранение, доставка, каталогизация и поиск. Если задача состоит в глубокой ретуши, локальной коррекции, замене фона, работе со слоями или подготовке макета, файл разумнее править в специализированном редакторе, а Immich использовать как центр хранения и просмотра.

Коллаж официальных экранов Immich: веб-лента, карта, просмотр фотографии и мобильные разделы

Ещё одно принципиальное различие с обычными облачными фотосервисами — ответственность за инфраструктуру. Immich может автоматически делать резервные копии базы данных, но не создаёт полноценный бэкап файловой системы вместо пользователя. Оригиналы, база и конфигурация должны попадать в отдельную схему резервного копирования. Поэтому установка на единственный диск без второй копии решает задачу удобства, но не задачу сохранности.

Установка и начало работы

Требования к серверу

Для рабочей установки разработчики рекомендуют 64-разрядную Linux- или Unix-подобную систему. Windows и macOS тоже могут использовать Docker, но для постоянного сервера Linux обычно проще из-за файловых прав, томов и сетевого хранения. Минимально требуется около 6 ГБ оперативной памяти, рекомендовано 8 ГБ; по процессору — от двух ядер, комфортнее четыре и более. На малом сервере с 4 ГБ памяти Immich можно запустить, отключив машинное обучение, но распознавание лиц и интеллектуальный поиск тогда перестанут выполнять свою основную функцию.

Хранилище следует планировать с запасом. Помимо оригиналов, Immich создаёт миниатюры, превью и перекодированные версии видео; производные файлы могут заметно увеличить занимаемый объём. База PostgreSQL обычно намного меньше самих фотографий, но она чувствительна к задержкам и должна находиться на локальном диске, желательно SSD, а не на сетевой шару. Для каталога базы критична файловая система с нормальными Unix-правами владения и доступа.

Официально рекомендуемый способ установки — Docker Compose. Нужен современный Docker с плагином Compose и команда вида docker compose; старый отдельный docker-compose в актуальной схеме не считается поддерживаемым. Практически это означает, что перед развёртыванием лучше установить Docker из официального репозитория выбранного дистрибутива, а не полагаться на сильно устаревший пакет из базового репозитория системы.

Базовая последовательность развёртывания

  1. Создайте отдельный каталог проекта Immich и поместите в него актуальные файлы Compose и окружения из официального релиза.
  2. В файле окружения задайте путь к медиатеке через UPLOAD_LOCATION, путь к PostgreSQL через DB_DATA_LOCATION, пароль базы и часовой пояс.
  3. Убедитесь, что каталог базы расположен на совместимой локальной файловой системе, а каталог медиатеки имеет достаточно места и будет включён в резервное копирование.
  4. Запустите контейнеры командой docker compose up -d и дождитесь готовности сервера, базы и службы машинного обучения.
  5. Откройте веб-интерфейс на порту 2283 внутри локальной сети. Первый зарегистрированный пользователь становится администратором.
  6. После входа создайте тестовую загрузку, проверьте очередь фоновых заданий, затем настройте мобильное приложение и только после этого переносите большой архив.

Если сервер будет доступен из Интернета, не публикуйте порт приложения напрямую без продуманной защиты. Практичнее поставить обратный прокси с HTTPS, задать внешний домен в настройках Immich и ограничить административные поверхности. Для доступа только владельца и семьи альтернативой публичной публикации может быть VPN. Это не функция «для галочки»: публичные ссылки, OAuth и мобильный доступ начинают зависеть от корректного внешнего адреса и TLS.

Первый пользователь и проверка системы

На первом запуске создаётся администратор. Затем в Administration → Users можно создавать отдельные учётные записи для членов семьи. У каждого пользователя собственная библиотека; администратор может задавать квоту в GiB и отдельную метку хранения. Если квота не заполнена, она считается неограниченной. Внешние библиотеки не расходуют пользовательскую квоту, потому что их файлы уже лежат вне внутреннего хранилища Immich.

До массовой загрузки полезно открыть Administration → Jobs и проверить, что фоновые задания не падают. После каждого нового файла запускается цепочка обработки: извлечение метаданных, генерация миниатюр, машинное обучение и при необходимости транскодирование. Если первые десять фотографий успешно получили превью, EXIF, распознанные лица и результаты умного поиска, серверная часть настроена существенно надёжнее, чем в ситуации, когда сразу загружается несколько терабайт и ошибка обнаруживается через сутки.

Как Immich хранит оригиналы и служебные данные

После обычной загрузки через мобильное приложение, браузер или CLI оригинал попадает во внутреннюю медиатеку Immich. Отдельно создаются превью, миниатюры, профили пользователей и перекодированные видео. В базе PostgreSQL хранятся связи между файлами, альбомами, пользователями, людьми, результатами поиска, метаданными и другими сущностями. Эта архитектура объясняет, почему нельзя считать каталог медиатеки обычной папкой, которую можно без последствий сортировать вручную файловым менеджером.

Для внутренних файлов действует важное правило: не переименовывайте и не перемещайте их вручную внутри служебной структуры. Immich контролирует расположение оригиналов и проверяет целостность томов с помощью служебных файлов. Изменение структуры «за спиной» приложения может привести к пропавшим ресурсам, несуществующим ссылкам или ошибкам при запуске. Если хочется сохранить привычную файловую иерархию, используйте внешние библиотеки или включите Storage Template и меняйте структуру средствами самого Immich.

Миниатюры и превью — это не резервные копии. Они создаются для быстрого интерфейса и при необходимости могут быть регенерированы. То же относится к перекодированным видео: исходный ролик сохраняется, а дополнительная версия делается для браузерной совместимости. Критичными данными остаются оригиналы, база и конфигурация. Такой подход полезно учитывать при расчёте резервного копирования: производные файлы можно включать для быстрого восстановления, но их отсутствие не равно потере исходной фотографии.

В разделе системных настроек администратор может менять формат и разрешение миниатюр и больших превью, качество и предпочтение широкого цветового охвата. Более высокое разрешение даёт больше деталей в просмотрщике, но увеличивает объём и время кодирования. Для огромной библиотеки на малом сервере снижение разрешения крупных превью может дать заметную экономию места без изменения оригиналов.

Мобильное резервное копирование

Мобильный клиент — одна из ключевых причин использовать Immich. В разделе Backup выбираются локальные альбомы, которые должны отправляться на сервер. Можно включить несколько источников, а отдельные альбомы исключить. При первичном выборе Immich рассчитывает контрольные суммы содержимого и сравнивает файлы с уже имеющимися на сервере; совпадающие ресурсы пропускаются, поэтому повторная установка приложения или импорт через другой путь не обязательно создаёт второй экземпляр того же файла.

По умолчанию загрузка ориентирована на Wi‑Fi, но сетевое поведение можно изменить. Для Android доступны дополнительные фоновые параметры: выполнение только при зарядке и задержка между созданием нового файла и попыткой отправки. Это полезно на телефонах, где камера делает серию, а пользователь не хочет немедленно гонять каждый кадр по сети.

Фоновые параметры резервного копирования Immich на Android с зарядкой и задержкой

На iOS фоновая работа зависит от системного Background App Refresh. Операционная система сама решает, когда запускать фоновые задачи; приложение не может гарантировать мгновенную отправку каждого снимка. Чем регулярнее пользователь открывает Immich, тем стабильнее iOS выделяет фоновые окна. Если фотографии физически находятся только в iCloud, клиент временно подтягивает их на устройство для хеширования и загрузки, поэтому большой первичный перенос может потребовать заметного свободного места и трафика.

Синхронизация альбомов

Опция Album Sync создаёт на сервере альбомы с названиями, соответствующими альбомам на телефоне, и раскладывает загружаемые ресурсы по ним. Для уже отправленных файлов предусмотрена команда реорганизации, которая может добавить существующие загрузки в соответствующие серверные альбомы.

Важно понимать направление синхронизации: это перенос структуры с устройства на сервер, а не двусторонняя репликация состояния. Если удалить снимок из локального альбома или переставить порядок на телефоне, Immich не обязан повторить это изменение в серверном альбоме. Функция лучше подходит для автоматического наполнения «Камеры», «Скриншотов» или тематических мобильных альбомов, чем для строгой синхронизации двух каталогов.

Free Up Space и мессенджеры

Освобождение места на телефоне нужно использовать осознанно. Если Immich удалит локальную копию файла, стороннее приложение, которое ожидает этот файл в своей папке, может потерять к нему прямой доступ. Типичный пример — медиаданные мессенджера: чат продолжает содержать запись, но локальная картинка становится недоступной или размытой. Для таких папок разумно использовать список сохраняемых альбомов и внимательно просматривать список удаляемых файлов.

Практический безопасный сценарий таков: сначала дождитесь завершения резервного копирования, убедитесь в веб-интерфейсе, что нужные даты и видео действительно открываются, затем сделайте независимую серверную копию и только после этого запускайте освобождение места. Immich уменьшает ручную работу, но не отменяет принцип «проверить восстановление до удаления источника».

Временная лента и просмотр отдельных файлов

Основной экран Photos показывает медиатеку хронологически. На большой библиотеке важна не только прокрутка, но и возможность быстро прыгать по годам и датам. Веб-интерфейс использует виртуальную прокрутку, поэтому не пытается отрисовать одновременно все тысячи миниатюр. На практике ощущение скорости определяется сразу несколькими слоями: производительностью PostgreSQL, готовностью миниатюр, скоростью диска, сетью между браузером и сервером и тем, насколько агрессивно запущены фоновые задания.

Открытая фотография сопровождается информационной панелью. Там доступны описание, рейтинг, распознанные люди, дата, данные камеры и объектива, координаты и карта, а также действия с альбомами, тегами и другими свойствами. Для RAW-файлов Immich может использовать встроенное превью, если это включено в настройках; такой вариант часто ближе к тому, что показывает камера, но качество встроенного JPEG зависит от модели фотоаппарата.

Архив и избранное меняют способ навигации, но не заменяют альбомы. Избранное удобно как личная отметка «вернуться к этому», архив — как способ убрать скриншоты, чеки и служебные кадры с основной временной линии, не удаляя их. Поиск при этом всё равно может находить архивные ресурсы в зависимости от выбранных фильтров.

Функция Memories возвращает фотографии и видео, снятые в этот день в прошлые годы. Она строится на дате съёмки, поэтому ошибки EXIF сразу проявляются как странные воспоминания. Если архив импортирован из источника с повреждёнными датами, лучше сначала поправить временные метки, а затем доверять автоматической хронологии.

Импорт с компьютера и большой архив

Загрузка через браузер

Для разовой партии файлов подходит обычное перетаскивание в веб-интерфейс. Такой способ удобен для нескольких сотен кадров, особенно если пользователь хочет сразу увидеть их в своей учётной записи. При больших объёмах браузер становится менее предсказуемым: вкладка может закрыться, компьютер уйдёт в сон, а сеть — переключиться. Поэтому многотерабайтный архив лучше переносить через CLI или подключать как внешнюю библиотеку.

CLI

Командный клиент умеет рекурсивно загружать каталоги, автоматически создавать альбомы по папкам, помещать всё в один заданный альбом, игнорировать маски путей и работать в dry-run режиме. Полезный сценарий перед реальным импортом — запустить сухой проход, посмотреть число новых и совпадающих файлов, затем повторить команду без --dry-run. Для архивов с RAW можно исключать, например, отдельную ветку Raw или типы файлов, если на сервере нужны только JPEG и видео.

Параметр видимости позволяет ещё на этапе CLI помещать ресурсы в timeline, archive, hidden или locked. Это удобно для сканов документов или рабочих кадров, которые не должны сразу заполнять обычную семейную ленту.

Когда лучше внешняя библиотека

Если уже есть аккуратно разложенная коллекция на NAS, необязательно копировать её во внутреннее хранилище Immich. External Libraries сканируют смонтированные каталоги, создают записи в базе и показывают файлы в общей временной линии. При этом оригиналы остаются на месте. Один внешний каталог может содержать несколько import path, а для исключений используются glob-маски.

Именно внешняя библиотека подходит фотографу, у которого структура «год / проект / RAW / экспорт» уже используется другими приложениями. Immich становится индексатором и просмотрщиком, а не владельцем всей файловой иерархии. Но у этого есть цена: библиотека закрепляется за одним пользователем, а перемещение файла вне Immich может быть воспринято как удаление старого и появление нового, из-за чего связанные внутренние метаданные рискуют потеряться.

Внешние библиотеки и папочный режим

External Libraries подключаются не через произвольный путь на хосте, а через путь, который видит контейнер. Поэтому каталог сначала монтируется в Compose, например в /mnt/media, а уже затем этот внутренний путь добавляется в Immich. Ошибка «папка существует на сервере, но Immich её не видит» чаще всего означает, что том не смонтирован в контейнер, используется неверный путь или контейнеру не хватает прав.

Для архивов, которые не должны изменяться, том разумно подключить read-only. Тогда Immich сможет индексировать и показывать фотографии, но не сможет удалять оригиналы и записывать рядом XMP-файлы. Это повышает безопасность исходного архива, но ограничивает редактирование метаданных: изменения даты, рейтинга, описания, геопозиции и тегов не смогут нормально записаться в sidecar.

Периодический перескан настраивается администратором. Есть и экспериментальное наблюдение за файловой системой, но оно не одинаково хорошо работает с сетевыми дисками. Для NAS практичнее регулярное сканирование по расписанию. Если включить watcher на огромном локальном архиве, системный лимит inotify может оказаться слишком низким; ошибка ENOSPC в таком контексте говорит не о заполненном диске, а о нехватке дескрипторов наблюдения.

Для пользователя, которому важна исходная структура каталогов, существует Folder View. Он включается в Account Settings → Features → Folders и добавляет файловоподобную навигацию рядом с обычной временной линией. Это особенно полезно при внешних библиотеках и Storage Template, когда имена папок несут смысл.

Папочный вид не отменяет индекс. Immich всё равно опирается на базу, метаданные и миниатюры, просто предоставляет второй способ навигации. Поэтому папка, созданная на диске, не превращается автоматически в альбом, а альбом не обязан существовать как реальный каталог.

Поиск: от фильтров до CLIP и OCR

Поиск в Immich сочетает обычные метаданные и машинное обучение. PostgreSQL хранит структурные поля и векторный индекс, а служба machine learning вычисляет представления изображений для контекстного поиска. В результате пользователь может искать не только имя файла или дату, но и смысл сцены: например, «закат на пляже», «собака в снегу» или «велосипед у озера». Качество такого поиска зависит от выбранной модели и языка запроса.

Advanced Search полезен, когда семантический запрос слишком широкий. Фильтры включают людей, контекст, имя или расширение файла, путь и папку, описание, OCR-текст, теги, страну, регион и город, производителя камеры, модель камеры и объектива, период, тип медиа, наличие в альбомах, архив, избранное и рейтинг. Несколько условий позволяют свести тысячи снимков к очень конкретной выборке.

OCR

OCR делает текст на изображениях отдельным поисковым источником. Это особенно полезно для скриншотов, фотографий вывесок, чеков и документов. Сценарий отличается от контекстного поиска: если нужен кадр, где физически присутствует слово или номер, выбирается режим OCR; если нужен объект или сюжет, используется контекстный поиск.

Многоязычный поиск

В настройках Smart Search можно менять модель. Разработчики отдельно описывают многоязычные семейства: одни ожидают запрос на выбранном языке интерфейса, другие лучше переносят смешение языков. Замена модели требует переработки существующей медиатеки через задания Smart Search. Это важно учитывать на большом архиве: новый индекс может строиться часами или днями, но старые оригиналы при этом не переписываются.

Как диагностировать слабые результаты

  • Проверьте, завершена ли очередь Smart Search в Administration → Jobs.
  • Убедитесь, что контейнер machine learning запущен и имеет доступ к памяти.
  • Если менялась модель, перезапустите обработку всех ресурсов для Smart Search.
  • Для русского поиска выберите модель, ориентированную на многоязычные запросы, а не английский-only вариант.
  • Не путайте семантическую выдачу и OCR: надпись «Paris» на билете и фотография Парижа — разные типы сигнала.

Увеличение количества параллельных заданий ускоряет построение индекса только при наличии ресурсов. Оно не делает сам поисковый запрос быстрее и может ухудшить отзывчивость сервера, если одновременно выполняются транскодирование, генерация миниатюр и распознавание лиц.

Распознавание лиц и раздел People

Immich обнаруживает лица на превью, создаёт числовые представления и группирует похожие лица в людей. Результат появляется в Explore и в карточке отдельного ресурса. Пользователь может дать человеку имя, выбрать обложку, скрыть его из обычных подборок, указать дату рождения, объединить ошибочно разделённые группы и добавить человека в избранное.

Модель не «знает» личность сама по себе. Она лишь объединяет похожие лица, а имя задаёт пользователь. Поэтому для близнецов, детей в разные годы, людей в очках и кадров с сильным ракурсом возможны ошибки. В этом случае полезнее корректировать группы, чем резко менять пороги распознавания.

Меню человека в Immich с выбором обложки, скрытием, датой рождения и объединением людей

В административных настройках есть минимальный score детектора, максимальная дистанция распознавания и минимальное число лиц для формирования устойчивой группы. Слишком низкий порог детекции создаёт ложные лица, слишком большой порог похожести может склеить разных людей. Разработчики рекомендуют не уходить далеко от стандартных значений без причины.

Если библиотека загружалась частями и кластеризация выглядит хуже ожидаемого, можно повторно запустить распознавание для всех ресурсов. Это ресурсоёмкая операция, особенно без GPU. Гораздо безопаснее выполнять её тогда, когда основная загрузка завершена и сервер не занят одновременным транскодированием большого количества видео.

Распознавание лиц относится к машинному обучению, поэтому его можно вынести на отдельный хост или ускорить поддерживаемым GPU-бэкендом. Совместимость зависит от конкретного железа, драйверов и выбранного контейнерного варианта, поэтому наличие видеокарты само по себе не гарантирует ускорение.

Для семейного архива полезно начать с нескольких самых частых людей. Дайте имена только уверенным кластерам, объедините явные дубли, а редкие лица оставьте без имени. Такое постепенное обслуживание даёт более чистый раздел People, чем попытка подписать все сотни найденных лиц за один сеанс.

Карта, GPS и обратное геокодирование

Если в EXIF есть широта и долгота, Immich показывает место съёмки и использует координаты на глобальной карте. Reverse Geocoding сопоставляет координаты с городом, регионом и страной на самом сервере с использованием данных GeoNames. Эти значения затем участвуют в поиске, поэтому запрос по городу может находить фотографии без ручных тегов.

Карта особенно полезна в путешествиях: временная линия отвечает на вопрос «когда», а карта — «где». Если камера не пишет GPS, координаты можно получить из телефона, внешнего трекера или прописать позже, но Immich не восстановит их магически по пейзажу. Для старого архива без геотегов географическая выдача будет неполной.

В деталях ресурса геопозиция отображается рядом с EXIF и может редактироваться для файлов, где это разрешено. В read-only внешней библиотеке изменения метаданных ограничены, потому что сервер не может сохранить XMP-sidecar. Перед массовым исправлением координат полезно решить, должен ли Immich быть главным источником метаданных или только читателем уже подготовленного архива.

Информационная панель Immich с картой Берлина и кнопкой добавления тега

Стили карты настраиваются отдельно от reverse geocoding. Карта — визуальный слой, а геокодирование — преобразование координат в названия. Поэтому замена тайлов или внешнего стиля не меняет города, записанные в метаданных и индексе.

Если фотографии сняты около границы административных зон, подпись города может отличаться от бытового названия места: reverse geocoding работает по базе координат, а не по подписи, которую пользователь ожидает увидеть. В таких случаях точные GPS остаются более надёжным источником, чем название населённого пункта.

Альбомы, общие альбомы и доступ для семьи

Альбомы в Immich — логические подборки. Один файл может входить в несколько альбомов, не создавая дополнительных копий оригинала. Это удобно для пересекающихся наборов: один кадр может одновременно находиться в «Отпуск», «Семья» и «Лучшее». Порядок хранения на диске от этого не обязан меняться.

Общий альбом можно открыть другим пользователям того же сервера. Для приглашённых назначаются права viewer или editor. Viewer просматривает содержимое, editor может добавлять свои фотографии и видео. Такой механизм подходит для семейных коллекций и совместного сбора снимков после поездки.

Настройки общего альбома позволяют управлять приглашёнными участниками и поведением обсуждений. В одном интерфейсе видно владельца, приглашённых, их роли и созданные публичные ссылки.

Partner Sharing

Partner Sharing отличается от альбома: пользователь делится не отдельной подборкой, а своей библиотекой с выбранным партнёром. Партнёр может просматривать и скачивать ресурсы, а его фотографии при желании можно показывать в общей временной линии. Это сценарий для супругов или семейной пары, а не для разовой отправки десяти снимков.

Публичные ссылки

Для человека без учётной записи создаётся публичная ссылка на выбранные ресурсы или альбом. Можно указать срок действия, пароль, описание, показ метаданных, разрешение на скачивание и, при необходимости, загрузку файлов со стороны получателя. Это удобнее, чем создавать временного пользователя ради одной передачи.

Выбор нескольких фотографий в веб-интерфейсе Immich перед созданием публичной ссылки

Ссылка фактически является секретом доступа, поэтому её не следует публиковать там, где она может индексироваться или пересылаться без контроля. Для чувствительных наборов используйте пароль и срок действия. Если разрешена внешняя загрузка, заранее проверьте квоту и ожидаемый объём, чтобы гостевой импорт не забил сервер.

Если публичная ссылка формируется с неправильным хостом, проверьте External Domain в системных настройках и конфигурацию обратного прокси. Это типичная проблема после переезда с локального адреса на домен.

В общих альбомах можно разрешать комментарии и реакции, что превращает их из простой папки обмена в небольшое совместное пространство. Но эта возможность не должна заменять контроль доступа: комментарий не ограничивает скачивание, а роль пользователя и параметры ссылки — ограничивают.

Теги, рейтинг, описания и XMP

Теги в веб-интерфейсе иерархические. Их можно включить через Account Settings → Features → Tags, создавать из информационной панели и открывать как отдельную навигацию. Иерархия удобна для структуры вида «Проекты / Клиенты / Съёмка» или «Животные / Птицы / Совы», где плоский список быстро становится неуправляемым.

Immich читает часть существующих XMP-метаданных, включая описания, рейтинг, дату, GPS и теги, и умеет писать поддерживаемые изменения обратно в sidecar. Это полезно при совместной работе с digiKam, Lightroom и другими каталогизаторами, которые тоже используют XMP. Однако поддерживаются не все поля: произвольные IPTC-данные, авторские схемы и параметры проявки могут оставаться только в исходном sidecar и не участвовать в поиске Immich.

Для загруженных во внутреннюю библиотеку файлов sidecar копируется вместе с оригиналом и переименовывается под внутреннюю структуру. Для внешней библиотеки XMP остаётся рядом с исходником. Если внешний том смонтирован read-only, запись изменений невозможна; в некоторых сценариях такие правки просто не сохраняются. Поэтому режим только чтения следует выбирать осознанно.

Рейтинг полезен для фотографов, потому что его можно использовать и как фильтр поиска. Описание — для контекста, который нельзя вывести из изображения. Теги — для устойчивой собственной классификации. Семантический поиск — для ситуаций, когда пользователь не хочет размечать всё вручную. Вместе эти механизмы позволяют сочетать строгую каталогизацию и автоматический поиск.

Если XMP уже ведёт другой каталогизатор, определите один основной процесс записи. Два приложения, одновременно меняющие один sidecar, могут породить неожиданную последовательность обновлений. На практике удобно либо редактировать метаданные в профессиональном каталоге и пересканировать Immich, либо сделать Immich основным местом для тегов и описаний, а другое приложение использовать только на чтение этих полей.

Storage Template и файловая структура

По умолчанию пользователю не нужно думать о том, как Immich именует внутренние файлы. Но администратор может включить Storage Template и задать шаблон папок и имён в Administration → Settings → Storage Template. Доступны переменные даты, имени файла, типа медиа, камеры, альбома и идентификатора ресурса.

Настройка Storage Template Immich с переменными даты, имени файла, камеры и альбома

Например, шаблон может раскладывать новые загрузки по годам и месяцам или включать имя камеры. Если два файла дают одинаковое имя, Immich добавляет последовательный номер вместо перезаписи. Даты шаблона вычисляются в часовом поясе сервера, что важно при медиатеке с путешествиями и пользователями из разных зон.

Изменение шаблона не обязано мгновенно перестраивать старую библиотеку. Для этого существует Storage Template Migration Job. На терабайтах файлов миграция создаёт значительную I/O-нагрузку, поэтому её лучше запускать отдельно от массового импорта и резервного копирования.

Есть возможность использовать условные конструкции, например складывать ресурсы из альбомов в одну ветку, а неразобранные — в другую. Но злоупотреблять этим не стоит. Слишком сложный шаблон превращает логическую организацию альбомами и тегами в файловую зависимость, которую позже труднее менять.

Для каждого пользователя администратор может задать storage label, чтобы вместо внутреннего идентификатора в пути использовалась понятная метка. Применение новой метки к уже загруженным данным тоже требует миграционного задания.

Storage Template не следует рассматривать как резервную копию исходной структуры телефона. Мобильные альбомы — логические сущности, а шаблон хранения — физическая схема сервера. Если необходимо сохранить мобильную классификацию, включайте синхронизацию альбомов; если нужна понятная файловая иерархия на диске — настраивайте template.

Редактирование фотографий

Встроенный редактор Immich намеренно небольшой. Он работает неразрушающе: исходный файл сохраняется, а изменения формируют отдельную отредактированную версию. Доступны кадрирование, поворот и отражение. При скачивании Immich по умолчанию отдаёт отредактированный вариант, но позволяет выбрать оригинал.

Практически это закрывает бытовые случаи: выровнять ориентацию, убрать лишний край, сделать квадрат или 16:9 перед отправкой. Цветокоррекции, кривых, локальных масок, удаления объектов и ретуши кожи в этом инструменте нет. Если фотографии требуют серьёзной обработки, рабочий процесс лучше строить так: правка в профильном редакторе, экспорт результата в библиотеку, затем каталогизация и общий доступ через Immich.

Неразрушающий подход важен для семейного архива: случайное кадрирование не уничтожает исходную композицию. Но он увеличивает количество производных данных и требует учитывать их при переносе сервера. Оригинал остаётся главным источником, а база связывает его с версией редактирования.

Для внешней библиотеки возможность править метаданные и создавать sidecar зависит от режима монтирования. Само визуальное редактирование и управление оригиналом нужно проверять отдельно: права файловой системы остаются окончательным ограничением, даже если кнопка присутствует в интерфейсе.

Дубликаты, стопки и уборка медиатеки

Immich предотвращает точные повторы при загрузке с помощью контрольных сумм, но это не решает проблему визуально похожих кадров: JPEG после повторного экспорта имеет другое содержимое, хотя на глаз идентичен. Для таких случаев есть Duplicates Utility, использующая машинное обучение для группировки визуально похожих ресурсов.

В Review duplicates пользователь выбирает, что оставить, а что отправить в корзину. При автоматическом предварительном выборе Immich предпочитает файл большего размера и с более богатым набором EXIF. Это полезная эвристика, но не гарантия качества: увеличенный JPEG может весить больше хорошего оригинала, а кадр с большей метаинформацией не обязательно лучше по содержанию.

Когда в группе оставляется ровно один ресурс, Immich переносит к нему часть метаданных удаляемых: членство в альбомах, избранное, рейтинг, описания, совместимые координаты и теги. Если остаётся несколько файлов, метаданные не объединяются. Такой принцип снижает риск неожиданного смешения разных кадров.

Если несколько похожих фотографий нужны, их можно собрать в Stack. Это подходит для серий, RAW+JPEG, вариантов экспорта или Live Photo, когда не хочется видеть четыре почти одинаковые плитки в основной ленте. Стопка — не дедупликация: все исходные файлы сохраняются.

Перед массовой кнопкой Deduplicate All разумно сделать резервную копию и проверить несколько групп вручную. Визуальное сходство не равно функциональной эквивалентности: исходный RAW и небольшой JPEG могут выглядеть одинаково в миниатюре, но иметь совершенно разную ценность.

Архив, избранное, корзина и Locked Folder

Archive скрывает ресурсы с основной временной шкалы, но не удаляет их. Это хороший инструмент для скриншотов, документов и технических кадров, которые должны оставаться доступными через поиск. Favorites служит простой личной меткой и подходит для краткого списка лучших снимков без создания отдельного альбома.

Trash отделяет решение «убрать из библиотеки» от физического удаления. Для внешней библиотеки поведение зависит от прав тома: при read-write очистка корзины может удалить оригинал, а при read-only файл удалить невозможно и после следующего сканирования он может снова появиться. Поэтому права монтирования напрямую влияют на семантику кнопки удаления.

Locked Folder предназначен для ресурсов, которым нужна дополнительная защита и отдельное представление. Его не следует путать с криптографическим сейфом на уровне диска: наличие этого раздела не отменяет шифрование файловой системы, защиту резервных копий и безопасную аутентификацию. В CLI видимость locked можно назначить уже при импорте.

Смысл этих режимов лучше разделять: Archive — убрать шум из таймлайна, Trash — подготовить к удалению, Locked — ограничить обычное отображение, Favorites — выделить важное. Если использовать один режим вместо другого, потом сложнее понять, почему фотография «исчезла» из обычного просмотра.

Форматы изображений, RAW и Live Photos

Immich поддерживает распространённые JPEG, PNG, WebP, HEIC/HEIF, AVIF, TIFF, GIF, BMP, SVG, JPEG 2000, JPEG XL, PSD и ряд RAW-вариантов. Список значительно шире типичной браузерной поддержки, потому что сервер создаёт подходящие превью. Это важное отличие между «файл можно хранить» и «браузер умеет показать исходник напрямую».

RAW особенно показателен: Immich не является RAW-конвертером для творческой проявки, но способен индексировать и показывать такие файлы, читать метаданные и использовать встроенные превью. Для фотографа это удобно как каталог, однако финальный цвет и шумоподавление по-прежнему лучше контролировать в специализированном конвертере.

Apple Live Photos и Android Motion Photos поддерживаются как связанные медиа, а не просто как два независимых файла. Для архива со смартфонами это сохраняет «живой» характер снимков. При миграции из сторонней системы важно переносить обе части пары и метаданные, иначе связь может потеряться.

Веб-клиент также умеет показывать 360-градусные изображения. Возможность существует именно на веб-стороне; мобильный клиент не обязан иметь тот же набор режимов для 360. Поэтому при проверке функции важно учитывать платформу, а не делать вывод по одному приложению.

Поддержка большого количества форматов не означает одинаково быстрый импорт. RAW, многомегапиксельные TIFF и редкие видео требуют больше времени для превью и метаданных, чем обычный JPEG. При первом индексировании смешанного архива это нормально: Jobs обрабатываются по категориям, а не обязательно строго в том порядке, в котором файлы появились в таймлайне.

Видео и транскодирование

Immich хранит исходное видео и при необходимости создаёт дополнительную совместимую версию. Поддерживаются распространённые контейнеры и форматы, включая MP4, MOV, MKV, AVI, WebM, MPEG, MTS/M2TS и другие. То, что файл импортируется, не означает, что каждый браузер способен воспроизвести его исходный кодек, поэтому серверное транскодирование остаётся важной частью медиатеки.

В системных настройках задаются политика транскодирования, допустимые контейнеры и кодеки, целевой видео- и аудиокодек, разрешение, битрейт и preset. Политика может перекодировать всё, только несовместимые ролики, видео выше заданного битрейта или разрешения, либо отключить транскодирование.

Для HDR и нестандартного pixel format перекодирование часто требуется даже при знакомом контейнере. Если исходный файл открывается на одном компьютере, но не играет на телевизоре или мобильном браузере, проблема может быть не в Immich, а в поддержке кодека на клиенте. Именно поэтому «совместимая копия» полезнее попытки раздать всем оригинал.

Аппаратное ускорение

Документация описывает NVENC, Intel Quick Sync, VAAPI и RKMPP. GPU снижает нагрузку на CPU и ускоряет очередь, но аппаратное кодирование обычно даёт больший размер или более низкое качество при тех же номинальных настройках, чем медленный программный preset. На домашнем сервере часто выгоднее сначала настроить корректную политику транскодирования и только затем добавлять GPU-ускорение.

При аппаратной настройке важны драйверы, проброс устройства в контейнер и выбранный backend. Отсутствие ошибки в интерфейсе ещё не гарантирует использование GPU; проверяйте загрузку устройства и журналы контейнера во время реального задания.

Если сервер работает на WSL2 или одноплатном компьютере, ограничения конкретного API становятся особенно важны. Например, не каждое устройство поддерживает аппаратное tone mapping или выбранный кодек. Использовать «аппаратное ускорение» как универсальный флажок нельзя: конфигурация должна соответствовать реальному декодеру и энкодеру.

Многопользовательская работа и квоты

Каждая учётная запись Immich имеет собственную медиатеку. Это лучше, чем общий логин на всю семью: фотографии не смешиваются автоматически, а общий доступ настраивается через альбомы и партнёров. Администратор создаёт пользователя, может задать квоту, сбросить пароль и удалить учётную запись.

Квота применяется к загружаемому объёму пользователя. Когда предел достигнут, новые загрузки блокируются. Внешние библиотеки в квоту не входят, поскольку они не копируются во внутреннее пространство. В Server Stats администратор видит использование ресурсов пользователями и может заранее заметить, что один аккаунт забирает всё свободное место.

Для нескольких родственников полезно заранее продумать роли. Личные фотографии каждого человека остаются в его библиотеке, общие поездки собираются в shared albums, а постоянный доступ супругов друг к другу решается Partner Sharing. Такой подход проще обслуживать, чем одна общая учётная запись: можно отозвать доступ конкретному человеку, не менять пароль у всех и не смешивать источники загрузки.

Удаление пользователя выполняется с задержкой, чтобы не превращать случайный клик в мгновенную потерю. Администратор может настроить период или запросить немедленное удаление, но последний вариант необратим. Для домашней системы разумно сначала проверить резервную копию, затем удалять учётную запись.

SMTP позволяет отправлять приветственные письма новым пользователям и уведомления о событиях общих альбомов. Для небольшой семьи это необязательно, а для сервера на несколько десятков людей уже упрощает администрирование. Уведомления не заменяют контроль места: если квота пользователя близка к пределу, лучше смотреть Server Stats, а не ждать, пока мобильный бэкап начнёт ошибаться.

Storage Label

Администратор может назначить пользователю понятную storage label. Она используется в путях, если включён Storage Template, и позволяет избавиться от малочитаемых внутренних идентификаторов. Менять label после многолетней эксплуатации можно, но для уже существующих файлов потребуется Storage Migration Job. На большой медиатеке это отдельная операция, которую лучше не совмещать с обновлением сервера.

Аутентификация, OAuth, API и интеграции

Помимо пароля, Immich поддерживает OAuth/OIDC. Администратор может настроить внешний провайдер идентификации, автоматическую регистрацию и параметры сопоставления учётных записей. Это удобно, если в домашней лаборатории уже используется единый вход через совместимый identity provider и пользователь не хочет вести отдельные пароли для каждого сервиса.

Перед отключением парольного входа убедитесь, что OAuth действительно работает для администратора. Если выключить оба механизма, обычный вход станет невозможен; восстановление тогда выполняется серверной командой. Такая ошибка особенно неприятна, когда сервер находится удалённо и нет быстрого SSH-доступа.

Для автоматизации доступны API keys. Ключи создаются в настройках пользователя и могут получать ограниченный набор разрешений. Это безопаснее, чем передавать основной пароль скрипту импорта или стороннему сервису. CLI тоже использует API-ключ для авторизации.

Практические интеграции строятся вокруг API и CLI: массовый импорт, сценарии после съёмки, автоматическое создание альбомов, отчёты о новых загрузках. Но изменения через API всё равно должны соответствовать логике Immich; прямые правки в базе или каталоге хранения лишают приложение контроля над целостностью.

При создании ключа давайте только те права, которые действительно нужны скрипту. Если задача — только загрузка, не выдавайте административные разрешения. Ключ храните как секрет, а не в репозитории вместе со скриптом. При утечке его проще отозвать и пересоздать, чем менять пароль пользователя и все его сессии.

Logged in devices

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

Системные настройки: что действительно влияет на работу

Administration → Settings содержит множество параметров, но не все нужно менять. Для первого развёртывания разумнее оставить стандартные значения, а затем корректировать только те блоки, где есть измеримая проблема: нехватка диска, медленная генерация превью, несовместимое видео или слишком тяжёлое машинное обучение.

Image Settings

Immich создаёт несколько представлений изображения: очень маленький thumbhash для мгновенной подложки, обычную миниатюру для сетки и большое превью для просмотрщика и некоторых ML-задач. Можно выбрать формат JPEG или WebP, разрешение и качество. WebP обычно компактнее, но кодируется медленнее. Повышение качества увеличивает диск и время обработки, но не улучшает оригинал.

Опция Prefer wide gamut сохраняет Display P3 в производных изображениях, если источник содержит широкий цветовой охват. Это полезно на современных дисплеях, но старые браузеры могут показывать цвет иначе. Prefer embedded preview для RAW использует встроенный JPEG камеры как вход для превью: иногда он даёт более ожидаемый цвет, иногда — артефакты сжатия. Универсального лучшего значения нет.

Job Settings

Concurrency задаёт, сколько задач конкретного типа могут выполняться одновременно. Если увеличить Smart Search с одного процесса до нескольких, первичный индекс строится быстрее только пока хватает CPU, RAM и I/O. Если диск уже занят транскодированием и миниатюрами, дополнительная параллельность может снизить общую производительность. Для небольшого NAS лучше умеренные значения и стабильная очередь.

Machine Learning Settings

Здесь выбираются модели Smart Search, duplicate detection и facial recognition. Смена модели влияет только после переработки соответствующих ресурсов. Поэтому тестируйте новую модель на небольшом наборе или будьте готовы к длинной очереди. Если ML-сервис вынесен на другой компьютер, проверьте сетевую доступность и задержку: сервер должен стабильно обращаться к нему при фоновой обработке.

Trash, Theme и Server Settings

Срок хранения корзины влияет на возможность исправить случайное удаление, а внешний домен — на корректность ссылок и уведомлений. Тема интерфейса почти не влияет на сервер, но корпоративный или семейный welcome message помогает отличать несколько экземпляров Immich друг от друга. На сервере для тестов и на основном архиве это снижает риск случайно выполнить административную операцию не там.

Производительность и фоновые задания

Когда в Immich загружается файл, пользователь почти сразу видит запись, но полноценная обработка продолжается в фоне. Генерируются несколько миниатюр, извлекаются метаданные, выполняются face detection, facial recognition, smart search, duplicate detection и, для видео, transcoding. Именно поэтому после первого импорта библиотека может «догонять» ещё долго после того, как копирование закончено.

Очереди видны в Administration → Jobs. Если поиск не находит новые фотографии, сначала проверяйте не браузер, а очередь Smart Search. Если лица не появились — Face Detection и Facial Recognition. Если ролик не воспроизводится — Transcode Videos. Такой подход быстрее, чем хаотичная перезагрузка контейнеров.

Некоторые задания запускаются по расписанию. Например, ночные задачи могут обслуживать воспоминания и другие фоновые процессы. External Libraries и дампы базы имеют собственные настройки расписания. Если сервер выключается на ночь, это нужно учитывать: запланированная работа может не выполниться в ожидаемое время.

PostgreSQL должен иметь стабильный локальный I/O. Сетевой каталог для базы — плохая идея даже если файлы фотографий лежат на NAS. Оригиналы можно хранить на ёмком массиве, а базу — на локальном SSD. Такой разнос обычно даёт более предсказуемую отзывчивость.

Аппаратное ускорение машинного обучения снижает CPU-нагрузку, но не обязано ускорять интерфейс после окончания индексирования. Когда векторный индекс уже построен, задержка обычного поиска больше зависит от базы и запроса. Поэтому GPU имеет наибольший смысл при частом добавлении большого количества новых фотографий и при повторной индексации.

Как оценивать производительность без фиктивных замеров

Скорость Immich нельзя честно выразить одной цифрой «фотографий в секунду»: JPEG, RAW и видео имеют разную стоимость обработки, а серверы различаются на порядок. Вместо синтетического числа смотрите на четыре признака: растёт ли очередь быстрее, чем успевает обрабатываться; начинает ли система использовать swap; падает ли отзывчивость веб-интерфейса; успевает ли мобильный backup выгружать новый материал в течение суток.

Если очередь нарастает, сначала выясните, какой тип работы является узким местом. Для видео это часто CPU/GPU, для базы — диск, для внешней библиотеки на NAS — сеть и latency, для ML — память и вычисления. Тюнинг «всего сразу» почти всегда хуже точечного исправления.

Резервное копирование и восстановление

Самая опасная ошибка при настройке Immich — считать сервер второй копией только потому, что фотографии приехали со смартфона. Если после загрузки пользователь запускает Free Up Space, сервер становится единственным местом хранения. Поломка диска, ошибочная очистка тома или человеческая ошибка тогда приводят к реальной потере.

Immich автоматически делает дампы базы, но файловую систему оригиналов пользователь должен резервировать самостоятельно. Для полного восстановления нужна как минимум связка: оригинальные ресурсы, дамп базы по поддерживаемой схеме, конфигурация Compose и переменные окружения. Производные thumbnails и encoded-video желательно копировать для экономии времени, но их можно пересоздать.

Практичная схема 3-2-1 для домашнего сервера: рабочая медиатека на основном массиве, локальная резервная копия на другом физическом носителе и ещё одна копия вне дома или в другом помещении. Вторая папка на том же RAID не считается независимым носителем: контроллер, питание, шифровальщик или ошибочная команда могут затронуть обе.

Резервная копия без теста восстановления остаётся гипотезой. Полезно периодически поднять отдельный тестовый экземпляр, восстановить базу и несколько каталогов и убедиться, что фотографии открываются, альбомы и люди присутствуют, а пользователи входят. Особенно важно делать тест после крупных обновлений или миграции storage template.

Не редактируйте внутренние каталоги Immich вручную даже во время бэкапа. Копирование допустимо, а перемещение и «чистка дублей» файловым менеджером — нет. Для удаления используйте приложение, для переноса — официальную процедуру и проверенную резервную копию.

Что копировать в первую очередь

  • Каталог оригиналов, загруженных через Immich.
  • Актуальные дампы PostgreSQL или поддерживаемую резервную копию базы.
  • Файлы Compose и окружения без публикации секретов.
  • Если важна скорость восстановления — thumbnails и encoded-video.
  • Внешние библиотеки резервируются отдельно, потому что Immich не владеет их исходными файлами.

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

Типичные проблемы и способы их устранения

Сервер не стартует после изменения путей

Проверьте сообщения System Integrity. Immich создаёт служебные маркеры в каталогах и проверяет чтение и запись. Ошибка о пропавшем .immich часто означает, что том перестал монтироваться в прежнее место или изменились права. Не отключайте проверку целостности как первую реакцию: она специально ловит ситуации, в которых контейнер видит пустой каталог вместо диска с медиатекой.

PostgreSQL не работает на Windows-пути

Каталог базы должен находиться на файловой системе с Unix-правами. NTFS, exFAT и смонтированные в WSL каталоги Windows могут приводить к проблемам. Если сервер запускается через Windows, используйте Docker volume или совместимое хранилище для базы, а не обычную папку на диске C:.

После обновления интерфейс странно себя ведёт

Сначала исключите кэш браузера. Для внешних библиотек документация отдельно отмечает, что из-за агрессивного кэширования обновлённый файл может некоторое время показываться старым. Жёсткая перезагрузка и очистка кэша помогают отличить проблему представления от ошибки индекса.

Внешняя библиотека не сканируется

  • Проверьте mount в Compose.
  • Убедитесь, что путь указан так, как его видит контейнер.
  • Проверьте права чтения и отсутствие проблемных симлинков между разными Docker mount.
  • Откройте shell контейнера и выполните ls для нужного каталога.
  • Если используются отдельные workers, убедитесь, что том доступен и им.

Watcher выдаёт ENOSPC, хотя диск свободен

Для автоматического наблюдения за внешней библиотекой Linux использует inotify. При огромном числе каталогов системный лимит watchers может закончиться раньше диска. Увеличьте соответствующий лимит или откажитесь от watcher в пользу периодического сканирования. Для сетевых дисков второй вариант обычно надёжнее.

Мобильный бэкап пропускает фоновые загрузки

На Android отключите агрессивную оптимизацию батареи для Immich, проверьте сетевые ограничения и параметры фоновой работы. На iOS включите Background App Refresh и периодически открывайте приложение. Нельзя заставить iOS постоянно держать сторонний процесс активным.

Умный поиск и лица не появляются

Откройте Jobs, проверьте очередь и журналы machine learning. Если ML отключён из-за нехватки памяти, эти функции работать не будут. После смены модели запустите повторную обработку существующих ресурсов.

Видео открывается на одном устройстве и не открывается на другом

Проверьте политику транскодирования и очередь Transcode Videos. Контейнер или кодек исходника может поддерживаться сервером, но не браузером клиента. Создание совместимой копии обычно надёжнее, чем попытка заставить каждый клиент воспроизводить оригинал.

После удаления из read-only библиотеки файл вернулся

Это ожидаемое следствие прав. Immich может переместить запись в корзину, но не способен физически удалить оригинал. После сканирования ресурс обнаруживается снова. Для физического удаления нужны права записи либо действие вне Immich с последующим пересканом.

Метаданные не меняются во внешней библиотеке

Проверьте, может ли контейнер записать XMP рядом с файлом. На read-only mount это невозможно. Если библиотека read-write, проверьте права пользователя контейнера и существующий sidecar. Не пытайтесь исправлять ситуацию прямой правкой базы: при следующем сканировании расхождение станет ещё сложнее диагностировать.

После смены .env ничего не изменилось

Переменные окружения применяются при создании контейнера. Обычный restart может оставить старое окружение. Запустите docker compose up -d, чтобы Compose пересоздал нужные контейнеры, а при необходимости используйте принудительное пересоздание. Это отличается от изменения настроек внутри веб-интерфейса, которые хранятся в базе.

Практический сценарий: семейный фотоархив

Для семьи удобно разделить учётные записи, но использовать один сервер. Администратор создаёт пользователей, задаёт разумные квоты и включает SMTP только если нужны письма. На каждом телефоне выбираются Camera, Videos и нужные альбомы, а скриншоты при желании исключаются. Album Sync можно включить для сохранения мобильной структуры.

После первого большого импорта не спешите с Free Up Space. Дождитесь, когда очереди миниатюр и машинного обучения станут пустыми, проверьте случайную выборку по нескольким годам, откройте несколько длинных видео, убедитесь в наличии свежей независимой резервной копии. Только после этого имеет смысл освобождать место на телефонах.

Для общих событий создавайте семейный альбом с правом editor. Это лучше, чем общий аккаунт: авторство и личные библиотеки сохраняются. Супругам, которые хотят видеть медиатеки друг друга постоянно, можно дополнительно включить Partner Sharing. Публичные ссылки оставляйте для родственников без учётной записи.

Раз в месяц имеет смысл просматривать Duplicates Utility и корзину, но не запускать автоматическую чистку огромного архива без резервной копии. Раз в квартал — проверять восстановление базы и нескольких оригиналов. Такой режим превращает Immich из «ещё одного приложения» в управляемый домашний архив.

Как разделить личное и общее

Не обязательно переносить каждую фотографию в общий альбом. Обычная практика — оставить всю камеру в личной библиотеке, а общими сделать только поездки, детей, праздники и семейные документы. Partner Sharing можно использовать для постоянного просмотра медиатеки супруга, не смешивая физическое владение файлами. Тогда удаление личного аккаунта и его квоты остаётся понятной административной операцией.

Для детей или телевизора полезен read-only режим мобильного приложения: он снижает риск случайного удаления с устройства и превращает клиент в просмотрщик. Это не отдельная система прав на сервере, поэтому не нужно путать его с пользовательской ролью viewer в shared album.

Практический сценарий: архив фотографа на NAS

Если фотограф уже хранит проекты на NAS и редактирует их в Lightroom, Capture One, darktable или digiKam, копировать всё внутрь Immich не обязательно. Каталоги можно смонтировать как External Library. Раздел RAW, который не нужен в семейной галерее, исключается glob-маской, а готовые JPEG и видео индексируются.

Для особо ценных исходников том можно подключить только для чтения. Тогда Immich не сможет случайно удалить файл, но и не сможет писать XMP. Если важна двусторонняя работа с рейтингом и тегами, библиотека должна быть read-write, а резервная копия — достаточно надёжной, чтобы компенсировать повышенные права.

Folder View сохранит навигацию по проектам. Теги Immich можно использовать для поперечной классификации, не меняя каталогов: жанр, клиент, публикация, статус. Smart Search полезен для поиска по содержимому, когда метаданных нет. Альбомы — для клиентских или семейных подборок, которые не должны влиять на физическую структуру.

Редактирование исходника остаётся в профессиональном приложении. После внешней правки библиотеку нужно пересканировать, чтобы Immich увидел изменения. На очень больших архивах избегайте постоянного watcher по сетевому ресурсу и используйте расписание сканирования.

RAW+JPEG

Если камера пишет пару RAW+JPEG, Immich может показывать оба ресурса. Для чистого таймлайна их удобно объединять в stack, а не удалять один из файлов. RAW остаётся материалом для проявки, JPEG — быстрым готовым вариантом. Duplicates Utility в таком архиве требует особой осторожности: визуально похожие файлы могут иметь совершенно разную роль.

Согласование XMP

Когда rating и tags уже ведутся в Lightroom или digiKam, сначала импортируйте небольшой проект и проверьте, какие поля Immich читает. Затем решите, где будет выполняться запись. Если основной каталогизатор регулярно перезаписывает XMP, редактировать те же поля в Immich бессмысленно: последующий sync может заменить их внешней версией.

Практический сценарий: перенос со смартфона

Самый простой миграционный путь — сначала развернуть сервер и проверить backup на небольшом альбоме. Затем на телефоне выбрать все нужные локальные альбомы и оставить приложение открытым на время первичной отправки. На iPhone учитывайте загрузку оригиналов из iCloud: если локально хранятся оптимизированные версии, процесс может временно потребовать существенный объём памяти.

Параллельно стоит отключить автоматическое удаление на телефоне. После завершения загрузки сравните число файлов по нескольким альбомам, проверьте Live Photos/Motion Photos и длинные видео, убедитесь в корректной дате и геопозиции. Затем дождитесь машинного индекса и проверьте поиск по лицам и содержимому.

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

Если часть архива уже загружена другим способом

Immich сравнивает содержимое по контрольным суммам. Поэтому фотографии, ранее импортированные через CLI или веб, могут быть распознаны мобильным приложением как уже существующие и не передаваться повторно. Это полезно при миграции: можно сначала быстро загрузить большой архив с компьютера, а потом включить мобильный backup только для новых кадров.

Однако структура альбомов — отдельная сущность. Если файлы уже есть на сервере, включение Album Sync не всегда означает мгновенное появление старой мобильной структуры. Используйте функцию реорганизации уже загруженных ресурсов в альбомы и проверяйте результат на одном-двух каталогах.

Практический сценарий: сбор фотографий с мероприятия

Создайте альбом события и добавьте пользователей сервера как editors. Они смогут положить в него свои снимки без передачи файлов через мессенджеры. Для гостей без аккаунта создайте публичную ссылку с разрешением на загрузку и ограниченным сроком действия.

Если ссылка доступна большой группе, задайте пароль и не включайте лишний показ EXIF, если координаты или информация о камере не должны быть публичными. После завершения мероприятия отключите гостевую загрузку или удалите ссылку, разберите дубли и объедините похожие кадры в стопки.

Для итогового набора можно создать отдельный альбом «Лучшее», где остаются выбранные кадры. Это не требует копирования файлов: один ресурс может входить в альбом исходной загрузки и в финальную подборку одновременно.

Если участники загружают снимки с разных камер, сортировка по времени зависит от корректных часов в устройствах. Перед мероприятием полезно синхронизировать время, иначе общий timeline будет перемешан. После факта неверную дату можно исправить в метаданных, но массовая коррекция всегда сложнее профилактики.

Практический сценарий: большой исторический архив

Для сканов плёнки и семейных фотографий прошлого века главная проблема — отсутствие нормального EXIF. Если отсканированный файл имеет дату создания сканирования, временная лента будет показывать не момент съёмки, а дату оцифровки. До массового импорта стоит подготовить даты хотя бы на уровне года или месяца и сохранить их в поддерживаемых метаданных.

Лица на старых фотографиях распознаются хуже, если кадр маленький, повреждённый или человек снят в профиль. Не следует снижать порог детекции до минимума ради каждого лица: это создаст большое число ложных совпадений. Удобнее обработать хорошие портреты, назвать основные кластеры и затем вручную присоединять сложные кадры.

Для сканов документов и подписанных оборотов полезен OCR. Он позволяет искать фамилию, номер или надпись, которая физически присутствует в кадре. Текстовое описание при этом остаётся более надёжным для исторического контекста: кто изображён, где и по какому поводу был сделан снимок.

Если исходный архив уже организован папками «ветвь семьи / год / событие», подключение External Library и Folder View позволяет сохранить эту структуру. Альбомы и теги можно добавить поверх неё без переименования оригиналов.

Безопасность и удалённый доступ

Самостоятельное хранение даёт контроль, но не делает сервис автоматически безопасным. Immich управляет приложением и учётными записями, а пользователь отвечает за операционную систему, Docker, сетевой периметр, HTTPS, обновления и резервные копии. Публикация сервера в Интернет без TLS и регулярных обновлений сводит на нет часть преимуществ приватного хранения.

Для домашнего использования есть три типовых модели. Первая — доступ только из локальной сети: самая простая, но мобильный backup вне дома не работает. Вторая — VPN: сервер не выставляется напрямую, но телефон должен быть подключён к защищённой сети. Третья — HTTPS через обратный прокси и домен: удобнее для публичных ссылок и постоянного мобильного доступа, зато требует аккуратной конфигурации.

OAuth снижает количество локальных паролей, но добавляет зависимость от провайдера идентификации. Публичные ссылки удобны, но являются ключами доступа к выбранным данным. API keys мощны и должны иметь минимальные разрешения. Администраторский аккаунт лучше не использовать в сторонних скриптах.

Locked Folder не заменяет шифрование дисков и резервных копий. Если злоумышленник получает административный доступ к серверу или физический доступ к незашифрованным носителям, логическая папка в интерфейсе не является криптографической границей.

Обратный прокси

При проксировании убедитесь, что передаются корректные заголовки клиента и протокола, а лимит тела запроса не мешает большим видео. Ошибка «фото загружается, видео на несколько гигабайт — нет» нередко находится не в Immich, а в ограничении proxy. Также важны тайм-ауты: первичная загрузка по медленному каналу может длиться заметно дольше обычного HTTP-запроса.

Публичные ссылки

Ссылка должна считаться секретом. Для временной передачи ставьте срок действия и пароль, после завершения задачи удаляйте ссылку. Если разрешена загрузка от гостя, следите за свободным местом и не оставляйте такой endpoint бессрочно. Публичный альбом не должен использоваться как замена учётной записи постоянного пользователя.

Обновление и эксплуатация

Обновления Immich выполняются контейнерами, но перед ними нужно читать release notes, особенно при переходе между крупными версиями. Сервер и мобильные приложения имеют требования совместимости; разумно сначала обновлять клиенты, затем сервер. Понижение версии после миграции базы не следует считать штатным способом отката.

Рабочая процедура обновления выглядит так: проверить свежую резервную копию, прочитать заметки о breaking changes, обновить образ, запустить Compose, дождаться миграций и проверить Jobs. После этого открыть несколько фотографий и видео с разных лет, проверить поиск и мобильный вход. Только после успешной проверки можно удалять старые контейнерные образы.

Не стоит совмещать крупное обновление, перенос Storage Template и массовый импорт в одну ночь. Каждая операция отдельно создаёт нагрузку на диск и базу и усложняет диагностику. Последовательные изменения проще откатывать и проверять.

Что проверять после обновления

  • Главная лента открывается и миниатюры не пропали.
  • Новая мобильная фотография загружается и появляется в веб-клиенте.
  • Smart Search возвращает старые и новые ресурсы.
  • People открывается без повторной неожиданной кластеризации.
  • Видео играет на браузере, который использовался до обновления.
  • External Libraries сканируются по прежним путям.
  • Публичная тестовая ссылка формируется с корректным внешним доменом.

Такой короткий smoke test занимает меньше времени, чем поиск причины через неделю, когда выясняется, что фоновые задания после обновления перестали обрабатывать новые файлы.

Сравнение с аналогами

Immich и ФотоМАСТЕР

Это программы для разных этапов работы. ФотоМАСТЕР — настольный фоторедактор: он исправляет свет и цвет, повышает резкость, подавляет шум, удаляет объекты, заменяет фон и небо, выполняет портретную ретушь, коррекцию лица и фигуры, применяет эффекты, водяные знаки и пакетную обработку. Он поддерживает RAW на входе и экспортирует готовые изображения в распространённые растровые форматы.

Immich, напротив, организует большой архив: автоматически принимает мобильные фото, хранит видео, строит ленту, карту, поиск по лицам и содержимому, общие альбомы и публичные ссылки. Его редактор ограничен кадрированием, поворотом и отражением. Поэтому выбор определяется задачей: обработка одного снимка — зона ФотоМАСТЕРа, хранение и поиск десятков тысяч ресурсов — зона Immich. В реальном рабочем процессе эти программы могут дополнять друг друга.

Если пользователь после съёмки хочет убрать случайного человека, заменить фон, исправить кожу, добавить надпись и подготовить фотографию к печати, серверная медиатека не поможет. Если же задача — найти все кадры конкретного человека за десять лет, показать поездки на карте и автоматически сохранить новые фотографии телефона, настольный редактор не решает её. Поэтому сравнивать количество «инструментов» напрямую некорректно: инструменты относятся к разным стадиям.

Immich и PhotoPrism

Оба продукта разворачиваются на собственном сервере и индексируют фото и видео, поддерживают RAW, распознавание лиц, поиск, карты и работу с уже существующей файловой коллекцией. PhotoPrism делает акцент на PWA и индексации originals, умеет работать через WebDAV и автоматически назначать labels. Для мобильного фонового переноса часто используются внешние WebDAV-клиенты вроде PhotoSync.

Immich имеет собственные мобильные приложения Android и iOS с выбором локальных альбомов и фоновым backup, а также сильнее воспроизводит сценарий «камера телефона → личный сервер». PhotoPrism может быть удобнее там, где важны WebDAV и классическая работа с originals как файловой библиотекой. В обоих случаях сервером, HTTPS и резервными копиями занимается владелец.

PhotoPrism позволяет индексировать originals без переименования и дополнительно имеет режим import, который сортирует загруженные файлы и удаляет точные дубли. В Immich похожая развилка выглядит иначе: собственные загрузки контролируются внутренним storage, а существующая структура подключается через External Libraries. Поэтому при миграции уже готового NAS-архива важно сравнивать не только интерфейс, но и то, кто должен оставаться владельцем файловой структуры.

Immich и Nextcloud Memories

Memories — приложение внутри Nextcloud. Оно строит быстрый timeline по EXIF, имеет альбомы, карту, внешние ссылки, редактирование метаданных и транскодирование. Распознавание людей и объектов подключается через экосистему Nextcloud, а автоматическая загрузка на iOS обычно опирается на официальный мобильный клиент Nextcloud.

Если Nextcloud уже является центральным файловым сервисом дома или компании, Memories хорошо вписывается в существующие аккаунты и хранилища. Immich — более специализированная фотоплатформа: отдельный сервер, отдельные мобильные клиенты и собственная очередь машинного обучения. Его проще рассматривать как замену фотосервису, а Memories — как расширение уже используемого Nextcloud.

У Memories есть преимущество экосистемы: фотографии остаются обычными файлами Nextcloud, рядом работают синхронизация документов, календарь и другие приложения. Цена — дополнительные зависимости, включая сам Nextcloud, PHP-окружение и рекомендуемые приложения для preview и AI. Immich имеет более узкую область и меньше «соседних» функций, зато поток мобильного бэкапа и машинного поиска построен внутри одной фотосистемы.

Задача Immich ФотоМАСТЕР PhotoPrism Nextcloud Memories
Автобэкап со смартфона Собственные iOS/Android клиенты Нет Через совместимые клиенты/WebDAV Через клиенты Nextcloud; Android-клиент Memories развивается отдельно
Редактирование фото Кадрирование, поворот, отражение Глубокая коррекция и ретушь Метаданные и базовые операции Метаданные и серверное редактирование
Распознавание лиц Встроено через ML-службу Не задача каталога Есть Через приложения распознавания Nextcloud
Внешняя файловая библиотека External Libraries Открытие файлов вручную Originals и индексирование Хранилище Nextcloud и external storage
Публичные ссылки Пароль, срок, права на загрузку Нет Есть Есть через Nextcloud
Администрирование сервера Нужно Не нужно Нужно Нужно для Nextcloud

Сравнивать эти решения одной оценкой бессмысленно: ФотоМАСТЕР решает редакторскую задачу, а три серверных продукта — задачу медиатеки. Среди серверных вариантов главным вопросом становится уже существующая инфраструктура и способ загрузки с телефонов.

Ограничения Immich, которые важно учитывать

Первое ограничение — инфраструктура. Пользователь должен поддерживать сервер, Docker, хранилище, базу, сеть и резервные копии. Для человека, который не хочет администрировать ничего кроме телефона, это существенная цена за контроль над данными.

Второе — Immich не является полноценным фоторедактором. Нельзя рассчитывать на замену RAW-проявки, слоёв, масок, локальной коррекции и ретуши. Даже если каталог умеет читать PSD и RAW, это не означает, что он повторяет инструменты Photoshop, Lightroom или ФотоМАСТЕРа.

Третье — умные функции требуют вычислительных ресурсов и времени. На малом NAS импорт десятков тысяч файлов сопровождается длинной очередью миниатюр, поиска, лиц и видео. GPU помогает, но добавляет настройку и имеет ограничения по backend.

Четвёртое — внешние библиотеки имеют особую семантику. Перемещение файлов вне Immich, read-only тома и сетевые файловые системы требуют понимания того, когда метаданные сохраняются в базе, когда в XMP, а когда файл будет воспринят как новый.

Пятое — мобильная фоновая работа зависит от ОС. На iOS приложение не контролирует момент запуска фоновой задачи, на Android производители часто агрессивно ограничивают батарею. Автобэкап очень удобен, но его всё равно нужно периодически проверять.

Шестое — самостоятельный сервер не даёт автоматической географической избыточности. Даже RAID и два диска в одном корпусе не защищают от кражи, пожара или ошибки администратора. Immich делает библиотеку удобной, но стратегия сохранности остаётся отдельным проектом.

Как настроить Immich без лишней сложности

Для первого развёртывания полезно ограничиться стандартной схемой Docker Compose, локальным SSD для PostgreSQL и отдельным каталогом для медиатеки. Не включайте одновременно сложный Storage Template, внешний OAuth, GPU-ускорение и десяток внешних библиотек. Сначала добейтесь стабильной базовой загрузки и просмотра.

После этого настройте один телефон и дайте ему загрузить несколько сотен файлов. Проверьте дубликаты, геопозицию, лица, OCR и несколько видео. Затем настройте резервное копирование сервера. Только после теста восстановления переходите к полному архиву и освобождению места на телефонах.

Следующим этапом можно подключить общие альбомы, Partner Sharing и публичные ссылки. Отдельно — внешние библиотеки с read-only или read-write режимом. И уже в последнюю очередь имеет смысл оптимизировать GPU, параллельность jobs, нестандартные ML-модели и сложную файловую структуру.

Такой порядок сокращает количество неизвестных. Если что-то перестало работать после включения конкретной функции, причина локализована. Когда десять изменений внесены одновременно, даже подробные логи хуже помогают понять источник ошибки.

Минимальный рабочий набор настроек

  • Правильные пути UPLOAD_LOCATION и DB_DATA_LOCATION.
  • Отдельный пароль базы и корректный часовой пояс.
  • Один протестированный пользователь-администратор.
  • Работающие Jobs для миниатюр, метаданных и ML.
  • Мобильный backup по Wi‑Fi хотя бы с одного телефона.
  • Независимая резервная копия оригиналов и базы.

Всё остальное — улучшения. Такой список полезен при переезде на новый сервер: сначала восстанавливается базовая функциональность, затем внешний доступ и дополнительные оптимизации.

Регулярное обслуживание

Раз в неделю

Проверьте, что новые мобильные фотографии доходят до сервера и нет зависших очередей. Просмотрите свободное место и журнал неудачных backup-операций. Если сервер доступен извне, убедитесь, что сертификат и домен работают как обычно.

Раз в месяц

Просмотрите Duplicates Utility, корзину и накопившиеся неразобранные альбомы. Проверьте, что автоматический дамп базы создаётся. Обновите сервер после чтения release notes, если версия содержит важные исправления и миграция не требует отдельной подготовки.

Раз в квартал

Сделайте тест восстановления хотя бы небольшой части архива. Проверьте offsite-копию и срок хранения. Если используются External Libraries, убедитесь, что пути монтирования не изменились и периодическое сканирование выполняется.

После изменения инфраструктуры

После замены диска, NAS, reverse proxy, домена или identity provider проведите полный smoke test: загрузка, поиск, лица, видео, внешние библиотеки, публичная ссылка и восстановление. Инфраструктурное изменение может не затронуть главную страницу, но сломать один из фоновых потоков.

Ответы на практические вопросы

Можно ли использовать Immich только как галерею, не загружая в него файлы?

Да. Существующую коллекцию можно подключить как External Library. Тогда Immich индексирует файлы и создаёт служебные данные, а оригиналы остаются на прежнем месте. Если том read-only, удаление и запись XMP будут ограничены.

Можно ли хранить базу на NAS вместе с фотографиями?

Файлы медиатеки могут находиться на сетевом хранилище, но PostgreSQL требует совместимую локальную файловую систему с корректными правами. Для базы лучше SSD внутри сервера или Docker volume на поддерживаемом диске.

Удаляет ли Immich оригинал после редактирования?

Нет. Встроенные операции редактирования неразрушающие: исходник остаётся, а изменённая версия хранится отдельно и связана с ним. При скачивании можно выбрать отредактированный вариант или оригинал.

Можно ли искать по тексту на скриншоте?

Да, OCR является отдельным источником поиска. После обработки изображений текст можно использовать вместе с другими фильтрами. Если OCR ещё не завершён, новые снимки не будут находиться по надписям.

Зачем нужны теги, если есть Smart Search?

Smart Search вероятностный: он хорошо находит объекты и сцены, но не знает вашу бизнес-классификацию. Теги подходят для устойчивых категорий «клиент», «публикация», «документ», «отобрано». Семантический поиск дополняет их, а не заменяет.

Можно ли дать родственнику доступ только к одному альбому?

Пользователю того же сервера альбом можно расшарить как viewer или editor. Человеку без учётной записи можно выдать публичную ссылку с паролем, сроком действия и ограничениями на скачивание или загрузку.

Нужна ли видеокарта?

Нет. Immich работает на CPU. GPU полезен для тяжёлого транскодирования и машинного обучения, особенно при массовом импорте, но добавляет драйверы и контейнерную настройку. Для небольшого семейного архива мощный CPU часто достаточен.

Почему сервер занимает больше места, чем папка с оригиналами?

Помимо исходников, хранятся миниатюры, большие превью, лица, база и перекодированные видео. Чем выше качество превью и чем больше несовместимых видео пришлось транскодировать, тем заметнее накладные расходы.

Можно ли выключить машинное обучение?

Да, это способ снизить требования к памяти на слабом сервере. При этом теряются или перестают обновляться функции, зависящие от ML: интеллектуальный поиск, распознавание лиц и визуальное обнаружение дублей.

Что произойдёт, если переименовать внутренний файл вручную?

Так делать не следует. База и служебная структура ожидают конкретные пути. Для понятных имён используйте Storage Template, для существующей файловой структуры — External Libraries.

Можно ли использовать один аккаунт на двух телефонах?

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

Кому Immich подходит лучше всего

Immich особенно уместен у владельцев домашнего сервера или NAS, которым нужен автоматический backup телефонов и удобная галерея для семьи. Он также интересен фотографам как дополнительный слой поиска и удалённого просмотра над существующим архивом, если исходники подключаются через External Libraries.

Для небольшой команды продукт подходит, если организация готова самостоятельно обслуживать сервер и понимает правила доступа к персональным фотографиям. Multi-user, OAuth, квоты, публичные ссылки и API дают необходимые кирпичики, но политика резервного копирования и безопасности остаётся на владельце инфраструктуры.

Если же основная задача — улучшить один кадр, заменить фон, отретушировать лицо или пакетно наложить водяной знак, Immich избыточен и функционально не заменяет редактор. Если нужна медиатека без администрирования, управляемый облачный сервис может оказаться практичнее. Смысл Immich появляется тогда, когда контроль над хранилищем и автоматизация личного архива важнее отсутствия серверной работы.

При правильной схеме он закрывает весь цикл после съёмки: телефон или компьютер доставляет файл на сервер, Immich создаёт превью и метаданные, машинное обучение делает его находимым, пользователь распределяет нужное по альбомам и делится подборкой, а независимый бэкап отвечает за сохранность. Именно разделение этих ролей — загрузка, каталог, общий доступ и отдельное резервирование — делает систему предсказуемой в долгой эксплуатации.

Контрольная проверка перед постоянным использованием

Перед тем как считать сервер готовым и удалять локальные копии со смартфонов, полезно провести контрольный проход. Сначала загрузите фотографии трёх типов: обычный JPEG или HEIC с телефона, RAW с камеры и несколько видео разных кодеков. Убедитесь, что у каждого ресурса строится миниатюра, открывается информационная панель, читаются дата и камера, а видео воспроизводится хотя бы на двух разных клиентах. Это быстрее обнаруживает проблемы форматов, чем проверка только одного нового снимка.

Затем проверьте поиск. Дождитесь завершения Smart Search, OCR и Facial Recognition. Выполните запрос по объекту, по человеку, по городу и по слову, которое видно на одном из скриншотов или документов. Если один тип поиска не работает, смотрите его очередь и конфигурацию отдельно: успешный контекстный поиск не доказывает, что OCR или лица уже обработаны.

Проверьте сценарий общего доступа на тестовом альбоме. Создайте второго пользователя, выдайте ему viewer, затем editor, убедитесь в различии прав. После этого создайте короткоживущую публичную ссылку с паролем и откройте её в приватном окне браузера. Так можно заранее увидеть ошибку внешнего домена, прокси или TLS, не отправляя нерабочую ссылку родственникам.

Отдельно протестируйте удаление. Отправьте ненужный тестовый кадр в корзину, восстановите его, затем удалите окончательно. Если используется External Library, повторите тест на read-only и read-write каталогах, чтобы увидеть реальное различие. На рабочем архиве эта проверка предотвращает неправильное ожидание, что read-only оригинал исчезнет с диска после очистки корзины.

Последний этап — восстановление. Возьмите свежий дамп базы и резервную копию нескольких оригиналов, разверните их в тестовой среде или хотя бы проверьте читаемость архивов и наличие нужных файлов. После успешной проверки можно включать Free Up Space, автоматические расписания и массовый импорт. Если один из этих шагов не воспроизводится, проблема существует уже сейчас и безопаснее решить её до того, как Immich станет единственным местом хранения.

0 0 голоса
Рейтинг статьи

Подписаться
Уведомить о
guest
0 комментариев
Старые
Новые Популярные