Хотите самостоятельное решение для хранения фотографий в качестве альтернативы Google Photos или Apple iCloud? Вот как установить Immich на Raspberry Pi.
Google Photos — это основное решение для хранения и резервного копирования фотографий, которое без труда переносит ваши изображения с телефона в облако. Но если вы не хотите делиться своими личными фотографиями с Google, есть альтернативы.
Несмотря на то, что существует множество самостоятельных решений, которые вы можете разместить на Raspberry Pi, Иммич стоит на голову выше большинства конкурентов. Он предлагает машинное обучение, несколько пользователей, автоматическую классификацию изображений, распознавание лиц, собственные приложения для Android и iOS и множество других функций.
Зачем устанавливать Immich на Raspberry Pi?
На фотографиях запечатлены части нашей жизни, которые мы считаем достойными сохранения в памяти, и которые мы захотим вспомнить позже. Это напоминания о хороших временах, вкусной еде, высоких днях и праздниках.
В прошлом вам нужно было носить с собой пленку или цифровую камеру, чтобы снимать эти события, а затем либо распечатывать их, либо вручную переносить файлы на свой компьютер.
Сегодня почти у каждого есть телефон с двумя и более встроенными камерами. лучшие камеры телефона достаточно хороши для использования профессиональными фотографами.
Автоматическая загрузка
В большинстве случаев, когда вы делаете снимок, он загружается либо в Google, либо в Apple, и вы можете снова получить к нему доступ через любое устройство с помощью веб-интерфейса или приложения. Но есть веские причины, по которым вы, возможно, не захотите полагаться на третью сторону для размещения ваших изображений.
Кроме того, эти услуги оплачиваются после того, как вы превысите порог хранилища — в настоящее время 15 ГБ для Google и 5 ГБ для Apple — вы никогда не можете быть уверены, что компании не просматривают ваши фотографии архив или использование ваших изображений для обучения генеративного ИИ.
Облачное хранилище фотографий — это нечто большее, чем просто хранение ваших фотографий и доступ к ним, и в последние годы мы привыкли к автоматически сгенерированные альбомы, распознавание лиц, временные шкалы, идентификация объектов, напоминания о важных моментах и возможность поиска Лента новостей. Естественно, он также должен поставляться с привлекательными мобильными приложениями, с помощью которых вы можете загружать свои фотографии в облако.
Immich — это собственное программное обеспечение с открытым исходным кодом, которое может делать все это и многое другое. Вот как установить Immich на Raspberry Pi. Прежде чем продолжить, следует загрузите свои фотографии из Google, или экспортировать изображения из iCloud.
Как установить Иммич на Raspberry Pi
Прежде чем приступить к работе, вам необходимо настройте свой Raspberry Pi в качестве веб-сервера. Хотя вам не обязательно нужны MariaDB или PHP для установки Immich, вы можете найти их полезными для других проектов самостоятельного хостинга. Вы также должны установить последнюю версию Docker Compose вручную.
Как только ваш Pi заработает как базовый веб-сервер, создайте новый каталог для Immich, а затем перейдите в него:
мкдир ~/immich && cd ~/immiч
Вам также нужно будет создать каталог для загруженных файлов.
mkdir immich-загрузки
Вам понадобится абсолютный путь к этому каталогу позже, поэтому перейдите в него и используйте pwd команда, чтобы найти, где именно он находится в вашей файловой системе:
CD immich-загрузки
pwd
Запишите вывод и сохраните его. Теперь переместитесь на уровень каталога и используйте wget скачать иммих докер-compose.yml файл и файл среды, введя эти команды отдельно:
CD..
https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
wget -O .env https://github.com/immich-app/immich/releases/latest/download/example.env
.env В файле окружения содержатся переменные, которые необходимо изменить, прежде чем подключить экземпляр Immich к сети. Используйте текстовый редактор nano, чтобы открыть файл:
нано.env
Установите место загрузки в каталог загрузки, который вы создали ранее. Это единственное необходимое изменение, которое вам нужно внести в файл, но есть и другие параметры конфигурации, которые вы можете указать, если захотите.
Если вы хотите, чтобы Иммих мог помечать ваши фотографии названием места, где они были сделаны, прокрутите вниз до Обратное геокодирование раздел и раскомментируйте Обратное геокодирование и REVERSE_GEOCODING_PRECISION линии.
Immich предлагает четыре уровня точности. 3 является наиболее точным и будет называть населенные пункты с населением более 500 человек. Эта точность связана с затратами памяти, и установка 3 потребуется 200 МБ оперативной памяти. Для сравнения, установив значение 0 назовет города с населением более 50 000 человек и высосет всего 40 МБ.
Изменить PUBLIC_LOGIN_PAGE_MESSAGE к тому, что вы хотите, чтобы пользователи видели, прежде чем они войдут на сайт.
Когда вы будете довольны своими изменениями, сохраните и выйдите из nano с помощью Ctrl + О затем Ctrl + Х.
Следующая команда вызовет Docker Compose в автономном режиме, загрузит необходимые образы и настроит контейнеры, которые должен запустить Иммич.
docker-compose up -d
Процесс займет несколько минут, за это время вы можете посмотрите несколько классных подкастов в своем терминале. Когда Immich выйдет в сеть, зайдите в веб-приложение в своем браузере по адресу ваш-пи-местный-ip-адрес: 2283.
Нажмите Начать, затем создайте пользователя-администратора. Ваш экземпляр Immich в конечном итоге будет доступен в Интернете, поэтому не забудьте использовать надежный пароль, который невозможно угадать, а затем нажмите Зарегистрироваться. Вам нужно будет снова войти в систему, указав свой адрес электронной почты и пароль.
Загрузите свои фотографии в Иммих
Если вы не начинаете полностью с нуля, вы, вероятно, захотите загрузить существующий фотоархив в новый экземпляр Immich. Пока вы можете щелкнуть Загрузить в правом верхнем углу веб-интерфейса, затем выберите изображения вручную, этот метод нецелесообразен, если у вас есть тысячи фотографий в многогигабайтном архиве.
Разработчики Immich создали инструмент командной строки, который можно использовать для массовой загрузки изображений в Immich. Хотя заманчиво использовать безопасное копирование (SCP) для передачи файлов, Immich их не распознает.
Вам нужно будет установить инструмент загрузки CLI в вашей локальной системе, а не на самом Pi. Но сначала вам нужно иметь Node Package Manager и Node.js версии 16 или выше. Ты можешь установить npm и Node.js в Windows, а еще проще установить npm и Node.js в Linux.
Вернувшись в веб-приложение, нажмите значок пользователя или инициалы в правом верхнем углу экрана, затем нажмите Настройки учетной записи > Ключи API > Новый ключ API.
Дайте ключу имя, затем нажмите Создавать. Иммич сгенерирует новый ключ API — запишите его.
В окне терминала или командной строке перейдите в каталог, где хранятся ваши изображения, и введите:
иммич загрузить --key ваш-сгенерированный-API-ключ --server http://your-pi-local-ip-address: 2283/апи --рекурсивный .
Ударять у когда вас спросят, хотите ли вы начать процесс загрузки, откиньтесь на спинку кресла, так как это может занять некоторое время. Для справки: загрузка нашего 82-гигабайтного архива из более чем 40 000 изображений заняла около шести часов, но это лишь малая часть работы.
После завершения загрузки Immich обработает ваши изображения, извлечет метаданные, пометит лица и запустит алгоритмы распознавания объектов. Во время этого процесса веб-интерфейс будет менее отзывчивым, а изображения могут отображаться в неправильном порядке. Для нашего архива процесс занял около четырех дней на 8 ГБ Raspberry Pi 4B, хотя это не оказало заметного влияния на множество других сервисов, которые мы обычно размещаем.
Вы можете отслеживать прогресс через веб-интерфейс, нажав Администрация > Работа. Immich будет обрабатывать несколько заданий одновременно; чтобы изменить эти значения и потенциально ускорить процесс, перейдите к Администрация > Настройки > Настройки заданияи настройте параллелизм по своему вкусу.
Разоблачить Иммиха в Интернете
Вам нужно будет создать файл конфигурации Apache для вашего экземпляра Immich:
CD /etc/apache2/sites-available && sudo nano immich.conf
В новый файл вставьте следующее:
<Виртуальный хост *:80>
Имя сервераваше доменное имя.TLD
ПроксиПасс/http://127.0.0.1:2283/
ПроксиПассРеверс/http:/127.0.0.1:2283/
ProxyPreserveHost включен
Виртуальный хост>
Сохраните и выйдите из nano с помощью Ctrl + О затем Ctrl + Х. Включите файл conf, затем перезапустите Apache:
судоa2ensiteиммих.conf && судоуслугаапач2перезапуск
Используйте Certbot для получения и развертывания сертификатов и ключей TLS:
sudo certbot
Выберите свое доменное имя из списка и нажмите Входить. Перезапустите Apache снова с помощью:
перезагрузка службы sudo apache2
Теперь вы можете получить доступ к своему веб-приложению Immich, используя свое доменное имя.
Используйте мобильные приложения с Immich
Если вы используете Immich для воспроизведения функциональности коммерческих предложений, вам понадобится сопутствующее приложение на вашем телефоне. Immich доступен для Android и iOS и поддерживает загрузку и просмотр изображений и видео, быструю навигацию и автоматическое резервное копирование, поиск и многое другое.
Чтобы начать, введите свой URL-адрес Immich, включая https:// префикс и войдите в систему, используя свои учетные данные администратора. Вам нужно будет предоставить приложению разрешение на просмотр ваших фотографий и видео.
Интерфейс прост и интуитивно понятен, и вы сможете перемещаться по большей части без посторонней помощи. Нажмите на значок облака в правом верхнем углу и выберите локальные альбомы, для которых вы хотите создать резервную копию, а также активируйте автоматическое резервное копирование на переднем плане и в фоновом режиме.
Скачать: Иммих для iOS | Андроид (Игровой магазин) | Андроид (F-дроид)
Иммих находится в стадии разработки
Разработка Immich продолжается постоянно, и, несмотря на то, что работа над проектом началась только в 2022 году, это, без сомнения, потрясающе компетентная замена iCloud или Google Photos.
Если вы предпочитаете более зрелый проект, рассмотрите возможность развертывания PhotoPrism на Raspberry Pi.