Бесплатная open-source альтернатива Google Photos и iCloud Photos

Как-то мы лежали в кровати с нашим малышом и жена сказала, что фотографий и видео с ним стало больше и она не хочет использовать платное приложение. Примерно так начинается рассказ создателя Immich — бесплатного open-source решения для хранения фотографий и видео.

Надо сказать, в последние годы я тоже регулярно пытался найти бесплатную self-hosted альтернативу Google Photos и iCloud, однако до сегодняшнего дня функциональных и вместе с тем простых в настройке решений я не встречал. Тот же Nextcloud всегда казался чересчур громоздким. Immich же, напротив, сразу завоевал моё сердце, и вот, после нескольких недель его использования, с радостью делюсь своим рабочим примером:

Так работает моё собственное Immich хранилище фотографий и видео

Так работает моё собственное Immich хранилище фотографий и видео

Установка Immich на ПК

Immich можно поставить одной командой с помощью установочного скрипта практически на любую ОС, где есть Docker. Минимальные требования к железу: 2 ядра CPU и 4GB RAM. Я использовал свой домашний компьютер с Ubuntu 24.04.

После установки и запуска Docker контейнеров видим URL-ы, по которым сервис локально доступен для браузера и мобильных приложений:

Immich установлен и запущен

Immich установлен и запущен

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

Следуя этой инструкции, арендуем недорогой виртуальный сервер для VPN, а на домашний компьютер ставим впн-клиент Amnezia.

Как только компьютер подключится к VPN, ему будет назначен внутренний IP адрес в этой виртуальной частной сети. По умолчанию Amnezia использует WireGuard подключение и назначенный адрес будет всегда одинаков. Нам нужно узнать этот IP, так как именно он будет использоваться для доступа к хранилищу.

В терминале Linux выполняем команду ip a и ищем нужный адрес в строке, подобной этой:

inet 10.8.1.4/32 scope global amn0

Для Windows команда называется ipconfig, а искомая строка выглядит примерно так:

 IPv4-адрес . . . . . . . . . . : 10.8.1.4

Теперь домашний компьютер будет всегда подключен к виртуальной частной сети, а Immich доступен через браузер по адресу http://10.8.1.4:2283

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

Установка приложения на телефон

Для настройки Immich на смартфоне нужно:

  1. Установить Immich (Android, iOS) и Amnezia (Android, iOS)

  2. Подключить Amnezia к VPN, как описано здесь

  3. Запустить установленное на телефоне приложение Immich и в поле Server Endpoint URL ввести http://10.8.1.4:2283/api . Учтите, что в вашем случае IP в может быть другой

Опыт использования

Для начала полезный совет перед использованием: если вы планируете работать с хранилищем регулярно, рекомендую в настройках программы Amnezia активировать автоматическое подключение к VPN, чтобы виртуальная частная сеть работала всегда.

Что касается моего личного опыта работы с Immich, я решил представить его в форме субъективного перечня достоинств и недостатков приложения.

Преимущества:

  • полностью бесплатный, с открытым исходным кодом, быстро растущее комьюнити

  • ваши фото и видео хранятся только у вас

  • функции машинного обучения для умного поиска, распознавания лиц, определения дубликатов фото

  • отображение места сделанных фото на карте

  • гибкие настройки сжатия фото и видео

  • готовый скрипт для резервного копирования всех данных по правилу 3–2–1

  • возможно хранение фотографий только на компьютере, что экономит место на смартфоне

  • создание пользователей с автономным хранилищем заданного размера

  • если настроить доступ к Immich как у меня (с VPN на внешнем виртуальном сервере), то бонусом у вас будет свой VPN

Недостатки:

  • нужен свой ПК с минимум 2 ядрами CPU, 4GB RAM и настроенным VPN для безопасного доступа извне

  • проект достаточно новый и быстро развивающийся, и, как следствие, возможны баги

Вывод

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

Полезные ссылки:

  1. Онлайн демо версия Immich

  2. Здесь есть удобное табличное сравнение бесплатных open-source фотохранилищ, включая Immich

© Habrahabr.ru