Перейти к основному содержимому

Масштабирование Immich

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

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

информация

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

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

Воркеры​

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

Уменьшение масштаба​

Точно так же, как вы можете масштабировать развертывание до нескольких контейнеров, вы также можете уменьшить его масштаб. Весь статус сохраняется в Postgres, Redis и файловой системе, поэтому нет риска при остановке запущенного контейнера immich-server. Например, если вы хотите использовать свою видеокарту для игр. Пока работает воркер API, вы все равно сможете просматривать Immich, а задания будут ждать обработки до тех пор, пока для них не появится воркер.