Найти тему
Александр Linux

Immich для просмотра и хранения личных фото и видео

Всем привет!!!

В этом материале я покажу как установить Immich в контейнер docker на Synology и TerraMaster, расскажу как загрузить фото и видео, как сделать резервную копию и как обновить Immich.

-2

Оглавление

Введение

Immich – это популярное приложение для управления фотографиями, которое работает на собственном сервере. Оно представляет собой удобную альтернативу облачным сервисам, таким как Google Фото и использует мощный фреймворк машинного обучения Tensorflow для автоматического тегирования и категоризации фотографий.

Конечно Google Фото намного круче Immich, но тут дело в том что ваши фото только ваши и никто не сможет получить к ним доступ или закрыть вам доступ к ним. А Immich выполняет все базовые функции для такого сервиса и даже немного больше.

Ниже небольшая галерея веб интерфейса и пара скриншотов с мобильного телефона для затравки. Можно увеличивать нажатием.



📷

📷

📷

📷

📷
Immich именно то приложение, которое я готов рекомендовать. Оно очень похоже на Synology Photos и поэтому для владельцев этой марки NAS может стать альтернативой, а для всех остальных это идеальный вариант на мой взгляд. Так как например у TerraMaster их приложение TerrPhoto очень далеко от идеала и далеко от Immich.
Несмотря на все плюсы Immich я буду пользоваться Synology Photos, но если бы у меня его не было, то я бы точно использовал бы Immich.ПлюсыОтличное мобильное приложение
Просмотр на телефоне как локальных так и облачных данных
Очень мощный поиск людей по лицу, даже с боку
Возможность делиться альбомами
МинусыВеб интерфейс на ПК на английском языке
Сложноват импорт существующей библиотеки и ее структуры
Метки на английском языке, русский очень плох
Нет просмотра папок, только временная шкала и метки
Сами разработчики говорят следующее:⚠️ Этот проект находится в очень активной разработке.
⚠️ Ожидайте ошибок и критических изменение.
⚠️ Не используйте это приложение для бекапа ваших фото и видео.
⚠️ Всегда следуйте 3-2-1 плану резервного копирования ваших драгоценных фото и видео!
Я поясню почему так. На самом деле они просто предостерегают, так как занимаются этим приложением в свободное от работы время и активно внедряют различные новшества и решения. Поэтому они не хотят брать на себя ответственность за ваши личные данные. На самом деле такое можно написать про все проекты с открытым исходным кодом и бесплатным распространением. При этом мы все пользуемся этими решениями.Не приживайте за ваши данные, они будут лежать на вашем сервере и никуда не денутся, если вы их сами не удалите или если не сломается сервер. Для этого и разработчики Immich и я рекомендуем делать резервные копии ваших данных, а каких я расскажу ниже.Системные требования
Поддержа Docker и docker-compose
ОЗУ не менее 4ГБ, предпочтительно 6ГБ
Процессор х86 с минимум 2 ядра, предпочтительно 4
Если Synology, то DSM 7.2 и новее
Если TerraMaster, то TOS 5.1 и новее
Видео ролик
Файл docker-compose
Нужно пояснить про файл docker-compose для проекта Immich. Дело в том, что этот файл придуман мной на основе официального файла разработчиков, но оптимизирован для работы в Synology и TerraMaster, хотя по факту этот файл можно применять практически где угодно, например в Portainer. Но некоторые особенности пояснить нужно.Проект состоит из 4-х контейнеров:immich_server – это контейнер предоставляющий веб интерфейс
immich_microservices – это основной контейнер, который обрабатывает и анализирует медиа файлы при их добавлении
immich_machine_learning – это контейнер с ИИ, который благодаря нейросети изучает фото и извлекает метки
immich_redis – это контейнер для кеширования и ускорения работы
immich_postgres – это контейнер с базой данных
Внутренний порт службы Immich 3001 менять нельзя, а внешний 2283 можно. Именно 2283 вы будите указывать в браузере или в телефоне для подключения к интерфейсу Immich, но я рекомендую использовать для этого обратный прокси и SSL сертификат, о чем расскажу ниже.В папке library будет лежать все файлы загруженные через веб интерфейс или через мобильное приложения. Они будут отсортированы по годам и месяцам. Каталоги external/userХ я предусмотрел для трех пользователей, если у вас их больше добавьте самостоятельно. Эти каталоги нужны для импорта уже существующей коллекции фото и видео с вашей собственной структурой. Нужно будет просто скопировать в эти папки ваши данные и отсканировать.Для владельцев не Synology очень важно закомментировать или удалить настройку user: 1024:101, так как если этого не сделать работать может не предсказуемо плохо или вообще не заработает.version: "3.8"

services:
  immich-server:
    container_name: immich_server
    image: ghcr.io/immich-app/immich-server:release
    command: [ "start.sh", "immich" ]
    volumes:
      - ./library:/usr/src/app/upload # Основная папка с фото и видео материалами
      # Дополнительные папки для внешних библиотек. Создайте столько сколько будет у вас пользователей.
      - ./external/user1:/usr/src/app/external/user1
      - ./external/user2:/usr/src/app/external/user2
      - ./external/user3:/usr/src/app/external/user3
      # - /etc/localtime:/etc/localtime:ro
    user: 1024:101 # Этот параметр только для Synology DSM, установите решетку в начале строки для других ОС
    environment:
      - DB_PASSWORD=immich_postgres
      - DB_HOSTNAME=immich_postgres
      - DB_USERNAME=immich
      - DB_DATABASE_NAME=immich
      - REDIS_HOSTNAME=immich_redis
      - POSTGRES_PASSWORD=immich_postgres
      - POSTGRES_DB=immich
      - POSTGRES_USER=immich
    ports:
      - 2283:3001
    depends_on:
      - immich_redis
      - immich_postgres
    restart: always

  immich-microservices:
    container_name: immich_microservices
    image: ghcr.io/immich-app/immich-server:release
    command: [ "start.sh", "microservices" ]
    user: 1024:101 # Этот параметр только для Synology DSM, установите решетку в начале строки для других ОС
    environment:
      - DB_PASSWORD=immich_postgres
      - DB_HOSTNAME=immich_postgres
      - DB_USERNAME=immich
      - DB_DATABASE_NAME=immich
      - REDIS_HOSTNAME=immich_redis
      - POSTGRES_PASSWORD=immich_postgres
      - POSTGRES_DB=immich
      - POSTGRES_USER=immich
    volumes:
      - ./library:/usr/src/app/upload # Основная папка с фото и видео материалами
      # Дополнительные папки для внешних библиотек. Создайте столько сколько будет у вас пользователей.
      - ./external/user1:/usr/src/app/external/user1
      - ./external/user2:/usr/src/app/external/user2
      - ./external/user3:/usr/src/app/external/user3
      # - /etc/localtime:/etc/localtime:ro
    depends_on:
      - immich_redis
      - immich_postgres
    restart: always

  immich-machine-learning:
    container_name: immich_machine_learning
    image: ghcr.io/immich-app/immich-machine-learning:release
    user: 1024:101 # Этот параметр только для Synology DSM, установите решетку в начале строки для других ОС
    environment:
      - DB_PASSWORD=immich_postgres
      - DB_HOSTNAME=immich_postgres
      - DB_USERNAME=immich
      - DB_DATABASE_NAME=immich
      - REDIS_HOSTNAME=immich_redis
      - POSTGRES_PASSWORD=immich_postgres
      - POSTGRES_DB=immich
      - POSTGRES_USER=immich
    volumes:
      - ./library:/usr/src/app/upload # Основная папка с фото и видео материалами
      # Дополнительные папки для внешних библиотек. Создайте столько сколько будет у вас пользователей.
      - ./external/user1:/usr/src/app/external/user1
      - ./external/user2:/usr/src/app/external/user2
      - ./external/user3:/usr/src/app/external/user3
      - ./cache:/cache
    restart: always

  immich_redis:
    container_name: immich_redis
    image: redis
    user: 1024:101 # Этот параметр только для Synology DSM, установите решетку в начале строки для других ОС
    volumes:
      - ./redis:/data
    restart: always

  immich_postgres:
    container_name: immich_postgres
    image: tensorchord/pgvecto-rs:pg16-v0.2.0
    environment:
      - DB_PASSWORD=immich_postgres
      - DB_HOSTNAME=immich_postgres
      - DB_USERNAME=immich
      - DB_DATABASE_NAME=immich
      - REDIS_HOSTNAME=immich_redis
      - POSTGRES_PASSWORD=immich_postgres
      - POSTGRES_DB=immich
      - POSTGRES_USER=immich
    volumes:
      - ./dbdata:/var/lib/postgresql/data
    restart: always

volumes:
  dbdata:
  cache:
  library:

networks:
  immich:
    external: false
Обратный прокси
TerraMasterВ операционной системе TOS от TerraMaster нет функционала обратного прокси, а так же нет возможности получать и продлевать бесплатные SSL сертификаты. Поэтому вам придется сначала выполнить установку Nginx Proxy Manager на TerraMaster и там настроить обратный прокси для Immich. В данной инструкции я не буду рассматривать эти настройки. Но по аналогии они один в один, как и у Synology.SynologyВ Synology DSM есть все необходимые компоненты. Открываете панель управления, портал для входа, дополнительно и обратный прокси. Тут создаете правило как показано на картинке ниже. Источник соединение https, имя домена, порт 443, назначение http, localhost и порт 2283 или тот что был у вас в yml файле. Затем на вкладке пользовательский заголовок нужно добавить WebSocket. В дополнительных настройках обязательно увеличить время от 600 до 3600 секунд. Это время в течении которого должен будет загрузиться файл на сервер. Если файл будет загружаться дольше, то выйдет неизвестная ошибка и файл не загрузится. Не стоит делать этот параметр слишком большим, это только заставит выделять дополнительные ресурсы сервера, а нужного результата может не дать.
📷

📷

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

📷

📷

📷
Затем в каталоге Immich создайте такие пустые папки: library external cache redis dbdata
📷
Внутри папки external создайте пустые папки: user1 user2 user3
📷
Теперь откройте Docker Manager и создайте новый проект. Придумайте название, укажите путь до проекта и создайте YAML файл который вы подготовили из раздела docker-compose данной инструкции и нажмите проверить. Если ошибок не выдало то применить.
📷
Начнется
📷
Через какое-то время статус перейдет на запущено и можно переходить к пункту первоначальная настройка.
📷
Установка Immich на Synology
Для установки Immich я рекомендую в Synology создать отдельную папку общего доступа с таким же именем, в которой и будут лежать все файлы. Единственно не рекомендую включать корзину и скрыть сетевое отображение. Так же можно включить контрольные суммы, что бы повысить надежность хранения файлов. Остальные параметры я не трогал, оставил по умолчанию.
📷

📷
Затем в каталоге Immich создайте такие пустые папки: library external cache redis dbdata
📷
Внутри папки external создайте пустые папки: user1 user2 user3
📷
Теперь открываем Container Manager и создаем новый проект. Указываем его имя, путь и создать файл. В поле текста вставляем docker-compose текст и жмем везде далее.
📷
Если все сделали верно, то увидите exit code 0 и запущенные контейнеры в проекте. Не торопитесь переходить к пункту первоначальной настройки, дайте некоторое время контейнерам развернуться.
📷

📷
Разрешить сеть на файрволе
Про настройку Synology Firewall Брандмауэр у меня есть статья и видеоЕсли у вас на Synology включен файрвол, то необходимо сеть бриджа проекта Immich добавить в разрешающее правило. Для этого посмотрите какая сеть назначена вашему проекту. В моем случаи это 192.168.192.0 с маской 20, что равно 255.255.240.0
Каждый раз при создании проекта эта сеть меняется📷
Идем в настройки фаервола и добавляем нашу сеть выше запрещающего правила.📷
Первоначальная настройка Immich
Для первоначальной настройки откройте новую вкладку в браузере и введите такой url http://IP-NAS:2283 либо введите доменное имя, которые вы сделали на этапе настройки обратного прокси https://immich.XXX.synology.me. Должно открыть такое окно
📷
Первым делом нужно придумать данные нового пользователя администратора. Указывайте реальный почтовый ящик и сложный пароль.
📷
Затем нужно осуществит mgthdsq d[jд под этим пользователем
📷
Встретит окно приветствия
📷
Можно выбрать тему оформления, потом это можно поменять.
📷
На этом этапе я рекомендую активировать шаблон хранения файлов
📷
Система предложит на выбор множество вариантов, я выбрал Год/месяц/файл
📷
И вот теперь все готово и вы попали в веб интерфейс, где еще нет ни одной фотографии. Можно нажать кнопку Upload и загружать файлы, не папки, фотографий либо на телефоне в фирменном приложении. При авторизации на телефоне укажите такие же параметры сервера как и в браузере http://IP-NAS:2283 либо введите доменное имя, которые вы сделали на этапе настройки обратного прокси https://immich.XXX.synology.me
📷
Внешняя библиотека
Для чего нужна внешняя библиотека? Дело в том, что по умолчанию в Immich нельзя загружать существующие медиа файлы с собственной структурой данных. Интерфейс Immich в веб или мобильном телефоне загружает только файлы и загружает их в папку библиотеки с заранее установленным шаблоном. Если у вас много папок с фото и видео, то придется через веб интерфейс каждую по отдельности загружать. Это долго и очень неудобно.Выход есть: использовать внешние библиотеки, которые предусмотрел разработчик, но внятно нигде не написано как их добавлять. Это решит и еще одну проблему связанную с резервными копиями. Через внешнюю библиотеку можно без проблем восстанавливать Immich на новом сервере.Для начала последовательность действий. Сначала администратор должен в настройках каждого пользователя указать его внешнею библиотеку. Путь у каждого пользователя к внешней библиотеке должен быть уникальный и такой, какой видит его контейнер, а не сервер. В данном случаи в файле docker-compose было подготовлено три пути:/usr/src/app/external/user1
/usr/src/app/external/user2
/usr/src/app/external/user3

📷

📷
Затем пользователь должен перейти в свой профиль и в разделе библиотеки добавить внешнею библиотеку указав ей тот путь, который указал администратор на скринах выше. Не забудьте нажать кнопку сохранить.
📷

📷

📷

📷

📷
После копирования файлов во внешнею библиотеку через проводник необходимо нажать кнопку сканирования всех библиотек. По умолчанию сканирование библиотек запланировано на 00:00 часов каждый день. Этот параметр можно изменить на чаще в настройках.
📷
Когда система начнет сканировать библиотеки, процессор очень сильно нагрузится, а в задачах будут видны активные процессы. Процесс сканирования может быть долгим, все зависит от количества файлов и производительности процессора.
📷
Сами фото и видео начнут отображаться в веб интерфейсе и мобильном приложении
📷
Мобильное приложение
Если веб интерфейс только на английском языке, то мобильное приложение полностью руссифицировано. Работает отлично. Отображает фото и видео как на телефоне, так и на сервере помечая специальным значком каждый файл. Сами файлы можно загружать как по отдельности так и делать это в фоновом режиме.
📷

📷

📷

📷

📷

📷
Обновление Immich
Как уже писалось выше разработчики активно развивают проект и он время от времени обновляется. Что бы его обновить в контейнере сделайте следующее:
Рекомендую сделать резервную копию библиотекОстановите проект
Очистите проект
Удалите образы проекта Immich
Заново создайте проект. Во время создания будут скачены свежие образы.
Готово, Immich в контейнере обновлен.

📷

📷

📷
Резервное копирование
Для резервного копирования Immich нужно делать бекап всей папки Immich. Тут будут все файлы библиотек, база данных и файл docker-compose. Если нужно будет развернуть, то просто создайте новый проект с этим файлом, при этом папки так же должны быть на этих же местах, и все восстановится как было.
📷
Теперь вы знаете как установить Immich для просмотра и хранения личных фото и видео на ваш Synology или TerraMaster, но по аналогии можно поставить куда угодно главное поддержка docker и docker-compose.
📷 📷 📷 📷 📷 Immich именно то приложение, которое я готов рекомендовать. Оно очень похоже на Synology Photos и поэтому для владельцев этой марки NAS может стать альтернативой, а для всех остальных это идеальный вариант на мой взгляд. Так как например у TerraMaster их приложение TerrPhoto очень далеко от идеала и далеко от Immich. Несмотря на все плюсы Immich я буду пользоваться Synology Photos, но если бы у меня его не было, то я бы точно использовал бы Immich.ПлюсыОтличное мобильное приложение Просмотр на телефоне как локальных так и облачных данных Очень мощный поиск людей по лицу, даже с боку Возможность делиться альбомами МинусыВеб интерфейс на ПК на английском языке Сложноват импорт существующей библиотеки и ее структуры Метки на английском языке, русский очень плох Нет просмотра папок, только временная шкала и метки Сами разработчики говорят следующее:⚠️ Этот проект находится в очень активной разработке. ⚠️ Ожидайте ошибок и критических изменение. ⚠️ Не используйте это приложение для бекапа ваших фото и видео. ⚠️ Всегда следуйте 3-2-1 плану резервного копирования ваших драгоценных фото и видео! Я поясню почему так. На самом деле они просто предостерегают, так как занимаются этим приложением в свободное от работы время и активно внедряют различные новшества и решения. Поэтому они не хотят брать на себя ответственность за ваши личные данные. На самом деле такое можно написать про все проекты с открытым исходным кодом и бесплатным распространением. При этом мы все пользуемся этими решениями.Не приживайте за ваши данные, они будут лежать на вашем сервере и никуда не денутся, если вы их сами не удалите или если не сломается сервер. Для этого и разработчики Immich и я рекомендуем делать резервные копии ваших данных, а каких я расскажу ниже.Системные требования Поддержа Docker и docker-compose ОЗУ не менее 4ГБ, предпочтительно 6ГБ Процессор х86 с минимум 2 ядра, предпочтительно 4 Если Synology, то DSM 7.2 и новее Если TerraMaster, то TOS 5.1 и новее Видео ролик Файл docker-compose Нужно пояснить про файл docker-compose для проекта Immich. Дело в том, что этот файл придуман мной на основе официального файла разработчиков, но оптимизирован для работы в Synology и TerraMaster, хотя по факту этот файл можно применять практически где угодно, например в Portainer. Но некоторые особенности пояснить нужно.Проект состоит из 4-х контейнеров:immich_server – это контейнер предоставляющий веб интерфейс immich_microservices – это основной контейнер, который обрабатывает и анализирует медиа файлы при их добавлении immich_machine_learning – это контейнер с ИИ, который благодаря нейросети изучает фото и извлекает метки immich_redis – это контейнер для кеширования и ускорения работы immich_postgres – это контейнер с базой данных Внутренний порт службы Immich 3001 менять нельзя, а внешний 2283 можно. Именно 2283 вы будите указывать в браузере или в телефоне для подключения к интерфейсу Immich, но я рекомендую использовать для этого обратный прокси и SSL сертификат, о чем расскажу ниже.В папке library будет лежать все файлы загруженные через веб интерфейс или через мобильное приложения. Они будут отсортированы по годам и месяцам. Каталоги external/userХ я предусмотрел для трех пользователей, если у вас их больше добавьте самостоятельно. Эти каталоги нужны для импорта уже существующей коллекции фото и видео с вашей собственной структурой. Нужно будет просто скопировать в эти папки ваши данные и отсканировать.Для владельцев не Synology очень важно закомментировать или удалить настройку user: 1024:101, так как если этого не сделать работать может не предсказуемо плохо или вообще не заработает.version: "3.8" services: immich-server: container_name: immich_server image: ghcr.io/immich-app/immich-server:release command: [ "start.sh", "immich" ] volumes: - ./library:/usr/src/app/upload # Основная папка с фото и видео материалами # Дополнительные папки для внешних библиотек. Создайте столько сколько будет у вас пользователей. - ./external/user1:/usr/src/app/external/user1 - ./external/user2:/usr/src/app/external/user2 - ./external/user3:/usr/src/app/external/user3 # - /etc/localtime:/etc/localtime:ro user: 1024:101 # Этот параметр только для Synology DSM, установите решетку в начале строки для других ОС environment: - DB_PASSWORD=immich_postgres - DB_HOSTNAME=immich_postgres - DB_USERNAME=immich - DB_DATABASE_NAME=immich - REDIS_HOSTNAME=immich_redis - POSTGRES_PASSWORD=immich_postgres - POSTGRES_DB=immich - POSTGRES_USER=immich ports: - 2283:3001 depends_on: - immich_redis - immich_postgres restart: always immich-microservices: container_name: immich_microservices image: ghcr.io/immich-app/immich-server:release command: [ "start.sh", "microservices" ] user: 1024:101 # Этот параметр только для Synology DSM, установите решетку в начале строки для других ОС environment: - DB_PASSWORD=immich_postgres - DB_HOSTNAME=immich_postgres - DB_USERNAME=immich - DB_DATABASE_NAME=immich - REDIS_HOSTNAME=immich_redis - POSTGRES_PASSWORD=immich_postgres - POSTGRES_DB=immich - POSTGRES_USER=immich volumes: - ./library:/usr/src/app/upload # Основная папка с фото и видео материалами # Дополнительные папки для внешних библиотек. Создайте столько сколько будет у вас пользователей. - ./external/user1:/usr/src/app/external/user1 - ./external/user2:/usr/src/app/external/user2 - ./external/user3:/usr/src/app/external/user3 # - /etc/localtime:/etc/localtime:ro depends_on: - immich_redis - immich_postgres restart: always immich-machine-learning: container_name: immich_machine_learning image: ghcr.io/immich-app/immich-machine-learning:release user: 1024:101 # Этот параметр только для Synology DSM, установите решетку в начале строки для других ОС environment: - DB_PASSWORD=immich_postgres - DB_HOSTNAME=immich_postgres - DB_USERNAME=immich - DB_DATABASE_NAME=immich - REDIS_HOSTNAME=immich_redis - POSTGRES_PASSWORD=immich_postgres - POSTGRES_DB=immich - POSTGRES_USER=immich volumes: - ./library:/usr/src/app/upload # Основная папка с фото и видео материалами # Дополнительные папки для внешних библиотек. Создайте столько сколько будет у вас пользователей. - ./external/user1:/usr/src/app/external/user1 - ./external/user2:/usr/src/app/external/user2 - ./external/user3:/usr/src/app/external/user3 - ./cache:/cache restart: always immich_redis: container_name: immich_redis image: redis user: 1024:101 # Этот параметр только для Synology DSM, установите решетку в начале строки для других ОС volumes: - ./redis:/data restart: always immich_postgres: container_name: immich_postgres image: tensorchord/pgvecto-rs:pg16-v0.2.0 environment: - DB_PASSWORD=immich_postgres - DB_HOSTNAME=immich_postgres - DB_USERNAME=immich - DB_DATABASE_NAME=immich - REDIS_HOSTNAME=immich_redis - POSTGRES_PASSWORD=immich_postgres - POSTGRES_DB=immich - POSTGRES_USER=immich volumes: - ./dbdata:/var/lib/postgresql/data restart: always volumes: dbdata: cache: library: networks: immich: external: false Обратный прокси TerraMasterВ операционной системе TOS от TerraMaster нет функционала обратного прокси, а так же нет возможности получать и продлевать бесплатные SSL сертификаты. Поэтому вам придется сначала выполнить установку Nginx Proxy Manager на TerraMaster и там настроить обратный прокси для Immich. В данной инструкции я не буду рассматривать эти настройки. Но по аналогии они один в один, как и у Synology.SynologyВ Synology DSM есть все необходимые компоненты. Открываете панель управления, портал для входа, дополнительно и обратный прокси. Тут создаете правило как показано на картинке ниже. Источник соединение https, имя домена, порт 443, назначение http, localhost и порт 2283 или тот что был у вас в yml файле. Затем на вкладке пользовательский заголовок нужно добавить WebSocket. В дополнительных настройках обязательно увеличить время от 600 до 3600 секунд. Это время в течении которого должен будет загрузиться файл на сервер. Если файл будет загружаться дольше, то выйдет неизвестная ошибка и файл не загрузится. Не стоит делать этот параметр слишком большим, это только заставит выделять дополнительные ресурсы сервера, а нужного результата может не дать. 📷 📷 📷 Установка Immich на TerraMaster Для установки Immich я рекомендую в TerraMaster создать отдельную папку общего доступа с таким же именем, в которой и будут лежать все файлы. Единственно не рекомендую включать корзину и скрыть сетевое отображение. 📷 📷 📷 📷 Затем в каталоге Immich создайте такие пустые папки: library external cache redis dbdata 📷 Внутри папки external создайте пустые папки: user1 user2 user3 📷 Теперь откройте Docker Manager и создайте новый проект. Придумайте название, укажите путь до проекта и создайте YAML файл который вы подготовили из раздела docker-compose данной инструкции и нажмите проверить. Если ошибок не выдало то применить. 📷 Начнется 📷 Через какое-то время статус перейдет на запущено и можно переходить к пункту первоначальная настройка. 📷 Установка Immich на Synology Для установки Immich я рекомендую в Synology создать отдельную папку общего доступа с таким же именем, в которой и будут лежать все файлы. Единственно не рекомендую включать корзину и скрыть сетевое отображение. Так же можно включить контрольные суммы, что бы повысить надежность хранения файлов. Остальные параметры я не трогал, оставил по умолчанию. 📷 📷 Затем в каталоге Immich создайте такие пустые папки: library external cache redis dbdata 📷 Внутри папки external создайте пустые папки: user1 user2 user3 📷 Теперь открываем Container Manager и создаем новый проект. Указываем его имя, путь и создать файл. В поле текста вставляем docker-compose текст и жмем везде далее. 📷 Если все сделали верно, то увидите exit code 0 и запущенные контейнеры в проекте. Не торопитесь переходить к пункту первоначальной настройки, дайте некоторое время контейнерам развернуться. 📷 📷 Разрешить сеть на файрволе Про настройку Synology Firewall Брандмауэр у меня есть статья и видеоЕсли у вас на Synology включен файрвол, то необходимо сеть бриджа проекта Immich добавить в разрешающее правило. Для этого посмотрите какая сеть назначена вашему проекту. В моем случаи это 192.168.192.0 с маской 20, что равно 255.255.240.0 Каждый раз при создании проекта эта сеть меняется📷 Идем в настройки фаервола и добавляем нашу сеть выше запрещающего правила.📷 Первоначальная настройка Immich Для первоначальной настройки откройте новую вкладку в браузере и введите такой url http://IP-NAS:2283 либо введите доменное имя, которые вы сделали на этапе настройки обратного прокси https://immich.XXX.synology.me. Должно открыть такое окно 📷 Первым делом нужно придумать данные нового пользователя администратора. Указывайте реальный почтовый ящик и сложный пароль. 📷 Затем нужно осуществит mgthdsq d[jд под этим пользователем 📷 Встретит окно приветствия 📷 Можно выбрать тему оформления, потом это можно поменять. 📷 На этом этапе я рекомендую активировать шаблон хранения файлов 📷 Система предложит на выбор множество вариантов, я выбрал Год/месяц/файл 📷 И вот теперь все готово и вы попали в веб интерфейс, где еще нет ни одной фотографии. Можно нажать кнопку Upload и загружать файлы, не папки, фотографий либо на телефоне в фирменном приложении. При авторизации на телефоне укажите такие же параметры сервера как и в браузере http://IP-NAS:2283 либо введите доменное имя, которые вы сделали на этапе настройки обратного прокси https://immich.XXX.synology.me 📷 Внешняя библиотека Для чего нужна внешняя библиотека? Дело в том, что по умолчанию в Immich нельзя загружать существующие медиа файлы с собственной структурой данных. Интерфейс Immich в веб или мобильном телефоне загружает только файлы и загружает их в папку библиотеки с заранее установленным шаблоном. Если у вас много папок с фото и видео, то придется через веб интерфейс каждую по отдельности загружать. Это долго и очень неудобно.Выход есть: использовать внешние библиотеки, которые предусмотрел разработчик, но внятно нигде не написано как их добавлять. Это решит и еще одну проблему связанную с резервными копиями. Через внешнюю библиотеку можно без проблем восстанавливать Immich на новом сервере.Для начала последовательность действий. Сначала администратор должен в настройках каждого пользователя указать его внешнею библиотеку. Путь у каждого пользователя к внешней библиотеке должен быть уникальный и такой, какой видит его контейнер, а не сервер. В данном случаи в файле docker-compose было подготовлено три пути:/usr/src/app/external/user1 /usr/src/app/external/user2 /usr/src/app/external/user3 📷 📷 Затем пользователь должен перейти в свой профиль и в разделе библиотеки добавить внешнею библиотеку указав ей тот путь, который указал администратор на скринах выше. Не забудьте нажать кнопку сохранить. 📷 📷 📷 📷 📷 После копирования файлов во внешнею библиотеку через проводник необходимо нажать кнопку сканирования всех библиотек. По умолчанию сканирование библиотек запланировано на 00:00 часов каждый день. Этот параметр можно изменить на чаще в настройках. 📷 Когда система начнет сканировать библиотеки, процессор очень сильно нагрузится, а в задачах будут видны активные процессы. Процесс сканирования может быть долгим, все зависит от количества файлов и производительности процессора. 📷 Сами фото и видео начнут отображаться в веб интерфейсе и мобильном приложении 📷 Мобильное приложение Если веб интерфейс только на английском языке, то мобильное приложение полностью руссифицировано. Работает отлично. Отображает фото и видео как на телефоне, так и на сервере помечая специальным значком каждый файл. Сами файлы можно загружать как по отдельности так и делать это в фоновом режиме. 📷 📷 📷 📷 📷 📷 Обновление Immich Как уже писалось выше разработчики активно развивают проект и он время от времени обновляется. Что бы его обновить в контейнере сделайте следующее: Рекомендую сделать резервную копию библиотекОстановите проект Очистите проект Удалите образы проекта Immich Заново создайте проект. Во время создания будут скачены свежие образы. Готово, Immich в контейнере обновлен. 📷 📷 📷 Резервное копирование Для резервного копирования Immich нужно делать бекап всей папки Immich. Тут будут все файлы библиотек, база данных и файл docker-compose. Если нужно будет развернуть, то просто создайте новый проект с этим файлом, при этом папки так же должны быть на этих же местах, и все восстановится как было. 📷 Теперь вы знаете как установить Immich для просмотра и хранения личных фото и видео на ваш Synology или TerraMaster, но по аналогии можно поставить куда угодно главное поддержка docker и docker-compose.