DevOps

Как обновить Immich: пошаговое руководство для начинающих

4 мин. чтения
Как обновить Immich: пошаговое руководство для начинающих

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

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

Перед обновлением: два золотых правила

Прежде чем что-либо делать, запомните эти правила. Они помогут вам сохранить ваши фото и настройки в безопасности.

  1. Всегда делайте резервную копию. Это железное правило для любого самохостового сервиса. В случае сбоя вы сможете быстро всё восстановить.

  2. Читайте заметки к релизу. Разработчики Immich всегда публикуют список изменений на странице релизов в GitHub. Иногда обновление может требовать ручных действий (например, изменения в файле docker-compose.yml). Если таких изменений нет, процесс будет простым.

Что нам понадобится

  • Сервер или компьютер, на котором запущен Immich в контейнерах Docker.

  • Доступ к терминалу этого сервера.

  • Базовое знание команд Linux (перейти в папку, выполнить команду).

Пошаговый план обновления

Процесс обновления стандартный для большинства Docker-приложений и состоит из нескольких простых шагов.

Шаг 1: Перейдите в папку с Immich

Для начала нужно попасть в директорию, где лежит ваш файл docker-compose.yml. Обычно он находится в домашней папке пользователя. В нашем примере это /opt/immich:

plaintext
cd /opt/immich

Если вы не помните путь, найдите файл командой find ~ -name "docker-compose.yml" 2>/dev/null | grep immich.

Шаг 2: Остановите работающие контейнеры (опционально)

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

plaintext
docker compose down

После выполнения этой команды Immich станет недоступен — это нормально.

Шаг 3: Скачайте новые образы

Теперь нужно дать команду Docker скачать свежие версии образов, которые указаны в вашем docker-compose.yml. Если у вас в файле прописано image: ...:release, Docker скачает самую последнюю стабильную версию.

plaintext
docker compose pull

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

Шаг 4: Запустите обновленные контейнеры

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

plaintext
docker compose up -d

Ключ -d означает «detached mode» — контейнеры запустятся в фоновом режиме. Immich автоматически выполнит все необходимые миграции базы данных.

Шаг 5: Проверьте, что всё работает

Обновление почти завершено. Теперь нужно убедиться, что все сервисы запустились без ошибок.

  1. Проверьте статус контейнеров:

plaintext
docker ps | grep immich
  1. Вы должны увидеть 4 контейнера: immich_server, immich_machine_learning, immich_postgres, immich_redis. В столбце STATUS должно быть Up (или healthy).

  2. Посмотрите логи на наличие ошибок:

plaintext
docker logs immich_server --tail 30
  1. В конце логов не должно быть красных строк ERROR или FATAL.

  2. Откройте веб-интерфейс Immich в браузере и убедитесь, что он загружается, а фотографии отображаются.

Шаг 6: Очистите мусор (опционально)

После успешного обновления на сервере останутся старые, неиспользуемые Docker-образы. Они занимают место. Их можно безопасно удалить:

plaintext
docker image prune

Подтвердите действие, нажав y.

Типичные проблемы и их решение

Даже при соблюдении инструкции иногда что-то идет не так. Вот два самых частых случая.

Проблема 1: Ошибка no configuration file provided: not found

  • Что это значит: Вы находитесь не в той папке, где лежит docker-compose.yml.

  • Решение: Найдите правильную папку (например, через find) и перейдите в нее, затем повторите команды.

Проблема 2: Контейнер immich_postgres постоянно перезапускается, а в логах ошибка No space left on device

  • Что это значит: На сервере закончилось свободное место.

  • Решение: Освободите место. Самый быстрый способ — очистить неиспользуемые Docker-данные командой docker system prune -a -f --volumes. Будьте осторожны, эта команда удалит все неиспользуемые образы, контейнеры и тома.

Заключение

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

Новые статьи на почту

Без спама, только полезное

Подписываясь, вы соглашаетесь с политикой конфиденциальности

Читайте также