Как-то мы лежали в кровати с нашим малышом и жена сказала, что фотографий и видео с ним стало больше и она не хочет использовать платное приложение. Примерно так начинается рассказ создателя Immich – бесплатного open-source решения для хранения фотографий и видео.
Надо сказать, в последние годы я тоже регулярно пытался найти бесплатную self-hosted альтернативу Google Photos и iCloud, однако до сегодняшнего дня функциональных и вместе с тем простых в настройке решений я не встречал. Тот же Nextcloud всегда казался чересчур громоздким. Immich же, напротив, сразу завоевал моё сердце, и вот, после нескольких недель его использования, с радостью делюсь своим рабочим примером:
Установка Immich на ПК
Immich можно поставить одной командой с помощью установочного скрипта практически на любую ОС, где есть Docker. Минимальные требования к железу: 2 ядра CPU и 4GB RAM. Я использовал свой домашний компьютер с Ubuntu 24.04.
После установки и запуска Docker контейнеров видим URL-ы, по которым сервис локально доступен для браузера и мобильных приложений:
Наша задача сделать так, чтобы хранилище было доступно не только в локальной сети, но и удаленно. Открывать или пробрасывать порты домашнего компьютера наружу – не лучшая идея, поэтому мы используем вариант с 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 на смартфоне нужно:
Подключить Amnezia к VPN, как описано здесь
Запустить установленное на телефоне приложение 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 решением, ведь, как сказано на сайте разработчика, "конфиденциальность не должна быть роскошью".
Полезные ссылки:
Онлайн демо версия Immich
Здесь есть удобное табличное сравнение бесплатных open-source фотохранилищ, включая Immich
Комментарии (13)
BigD
29.09.2024 19:15Насколько я понял по отзывам, ключевой недостаток - при обновлениях сбои бывают.
Araki_Satoshi
29.09.2024 19:15The project is under very active development. Expect bugs and changes. Do not use it as the only way to store your photos and videos!
Видел этот проект недавно, но отказался после того как увидел это предупреждение.
NAI
29.09.2024 19:15Открывать или пробрасывать порты домашнего компьютера наружу – не лучшая идея, поэтому мы используем вариант с VPN.
...и что конкретно сделает VPN к VPS\VDS лучше?
Безопасность - нет, т.к. открыты те же порты
Надежность - нет, даже ухудшит т.к. появляются две дополнительные точки отказа
Дешевле - нет, белый, статический IP - 100\150 р. VPS-ки за такие цены может и есть, но их качество сильно так себе, см. п. выше.
Можно вообще крамольной мыслью озадачиться - SSL-сертификат + два файрволла (на роутере и на сервере) и никакие VPN'ы не нужны?
askharitonov
29.09.2024 19:15А может и роутер не нужен? По идее, не самый новый компьютер с двумя сетевыми картами, с Linux и настроенным фаерволом и автоматическими обновлениями, должен быть безопаснее, чем отдельный маршрутизатор, прошивка которого обновляется производителем раз в несколько месяцев. При этом, для большей безопасности, веб-сервер с приложением можно поместить в виртуальную машину, не давая ей возможность устанавливать исходящие соединения в локальную сеть.
NAI
29.09.2024 19:15По идее, не самый новый компьютер с двумя сетевыми картами
Жужжит и ЭЭ жрет больше :) при работе 24/7. ... и карточки должно быть три - wan, lan и wifi
Но на самом деле если посмотреть в реддит r/selfhosted то, да, большинство селфхостеров сидят с pfsense/opensense, в отдельных контейнерах/VMках/хостах
askharitonov
29.09.2024 19:15Ну я так понял, что свой сервер и так предполагается. А, если это домашний компьютер, то тут вопрос, не будет ли навороченный компьютер для игр потреблять больше электроэнергии, чем старый компьютер со встроенным видео, если говорить про работу 24/7 (домашний компьютер наверное выключается на ночь или когда все на работе/учёбе).
Markscheider
29.09.2024 19:15А можно его поставить только на VPS? Понимаю, что это будет не совсем self-hosted, но все же...
crims0n_ru
29.09.2024 19:15Можно, но дорого выйдет, так как он памяти много ест, да и для фото нужен значительный объём. Для недорогого VPS лучше подойдёт File Browser.
askharitonov
29.09.2024 19:15А он лучше NextCloud в плане работы с видео?
Я сейчас экспериментирую с NextCloud, и вроде всё более-менее хорошо: фотографии с телефона копируются, музыку можно слушать и с компьютера, и со смартфона, фильмы тоже со смартфона получается смотреть (через файловый менеджер с поддержкой WebDAV), но не хватает возможности смотреть видео одно за другим: есть каталог с видеоклипами, и их бы хотелось смотреть подряд.
Andthe
Цена диска + риски его поломки. Такое себе решение по надёжности.
crims0n_ru
Диск стоит дешевле, чем облако большого объёма. Диск можно зеркалировать.