PhotoPrism
Свой AI-фотоальбом на сервере - приватная замена Google Photos: офлайн-распознавание объектов и лиц, умный поиск по содержимому, карта по геометкам, альбомы, RAW и видео. Фото и индекс остаются у вас, теги считаются локально. Развернули на живой VM, замерили и проверили вход.
Вердикт
- кому нужен приватный фотоархив с умным поиском и распознаванием лиц - без Google в середине
- кто хочет легкий на вход стек: один Go-бинарь плюс MariaDB, вход по логину-паролю из коробки
- кому важны офлайн-теги (объекты/лица считаются локально) и поддержка RAW/видео
- кому критичен родной мобильный авто-бэкап с телефона - у PhotoPrism его нет (веб/WebDAV), у Immich есть
- кто хочет уложиться в тариф CPU4-RAM8-DISK100 без запаса - индексатор прожорлив, нужен swap и RAM
- кому нужны все Plus-фичи бесплатно - часть функций в платном tier
Что это и какую задачу решает
PhotoPrism - self-hosted фотоальбом с искусственным интеллектом: заливаете свою фототеку, а он офлайн (без отправки наружу) распознает объекты и лица, строит умный поиск по содержимому, раскладывает снимки по карте на основе геометок, собирает альбомы и поддерживает RAW и видео. По сути это ваш Google Photos, только на вашем сервере и под вашим контролем.
Зачем держать это у себя: семейный фотоархив - чувствительные личные данные, а в облаке Google они хранятся и анализируются их алгоритмами, место постоянно дорожает. PhotoPrism переносит и хранение, и распознавание к вам - это и приватность, и независимость от подписки за гигабайты.
PhotoPrism против Google Photos и Immich
Две главные замены Google Photos - PhotoPrism и Immich - с разной философией.
| Параметр | PhotoPrism | Google Photos | Immich |
|---|---|---|---|
| Где фото и распознавание | на вашем сервере, офлайн | в облаке Google | на вашем сервере |
| Модель цены | self-host, CE бесплатно | подписка за место | self-host бесплатно |
| Стек и RAM | легче: Go + MariaDB | - | тяжелее: ML-контейнер + Postgres |
| Мобильный авто-бэкап | нет родного (веб/WebDAV) | есть | есть родное приложение |
| Вход | логин-пароль из коробки | аккаунт Google | логин-пароль |
Тех-стек и архитектура
PhotoPrism написан на Go - это один компактный бинарь-приложение, а не связка микросервисов. Распознавание объектов и лиц работает офлайн на встроенных моделях TensorFlow, так что фото никуда не отправляются. Метаданные и индекс хранятся в MariaDB. Наружу торчит только Caddy с автоматическим TLS, само приложение слушает localhost.
| Контейнер | Образ | Роль |
|---|---|---|
| photoprism | photoprism/photoprism:latest | приложение (Go), порт 2342 |
| mariadb | mariadb:11 | метаданные, индекс, теги |
| caddy | caddy:2 | reverse-proxy и авто-TLS |
Образ приложения тяжелый (около 4 ГБ на диске) - в него встроены ML-модели. Это плата за офлайн-распознавание без внешних сервисов.
Минимальная конфигурация
В простое стек легкий, но индексация - другая история.
| Контейнеров в работе | 3 (photoprism + mariadb + caddy) |
| RAM всего стека в простое | ~236 MiB |
| Swap (обязателен) | 4 ГБ - ставится автоматически |
| Образы на диске | ~4.02 GB |
| Рекомендуем тариф | CPU4-RAM8-DISK100 |
Важно: в простое PhotoPrism ест немного (~236 MiB), но первичная индексация большой библиотеки - долгая и упирается в CPU и RAM, пиковое потребление заметно выше. Официальная дока прямо требует минимум 4 ГБ swap; наш install.sh ставит его сам. На тарифе CPU4-RAM8-DISK100 без swap индексатор ловит OOM-рестарты.
В маркетплейсе Fatmetal
Не хотите ставить руками?
Этот стек есть в маркетплейсе Fatmetal - заказываете сервер, за пару минут получаете рабочий домен, валидный TLS и PhotoPrism, готовый к входу admin с паролем из файла кредов.
Рекомендуемая конфигурация:
4 vCPU · 8 ГБ RAM · 100 ГБ NVMe от 990 ₽/мес
Развертывание на Fatmetal
Cloud Server + Ubuntu 24.04 + Docker, стек за Caddy с авто-TLS.
Создать VM
Тариф CPU4-RAM8-DISK100, Ubuntu 24.04, приложение Docker. Или заказать готовую карточку PhotoPrism из маркетплейса в один клик.
Поднять стек
cd /opt/photoprism # install.sh ставит swap, генерит пароль admin, # поднимает MariaDB + PhotoPrism + Caddy docker compose up -dАдрес формируется из IP: точки на дефисы плюс
.fatmetal.net, Caddy берет на него сертификат.Войти
Откройте домен, логин
admin, пароль - из файла кредов/root/photoprism-credentials.txt. Смените его и заливайте фото.
Что измерили после запуска
Цифры со свежей установки, без залитой библиотеки.
| Контейнеров в работе | 3 |
| RAM всего стека в простое | ~236 MiB (photoprism ~106, mariadb ~117) |
| Swap выделен | 4 GB (под индексатор) |
| Образы на диске | ~4.02 GB |
| Отклик главной (TTFB за TLS) | ~0.47 c |
Главное: в простое PhotoPrism легче Immich по RAM, но реальную нагрузку создает индексация - под нее и заложены swap и запас памяти.
Проверено на сборке 260601, июль 2026. На новых версиях результаты могут отличаться.
Где может сломаться
Реальные грабли из документации и опыта сообщества.
Индексация прожорлива - нужен swap. Первичная индексация большой библиотеки долгая (сообщество: десятки часов на сотни гигабайт) и пиково ест RAM выше простоя. Без swap индексатор ловит OOM-рестарты. Официальная дока требует минимум 4 ГБ swap и советует НЕ ставить жесткий лимит памяти контейнеру. Наш install.sh добавляет swap автоматически.
Нет родного мобильного авто-бэкапа. Главное отличие от Immich: у PhotoPrism нет официального мобильного приложения с автозагрузкой фото с телефона - заливка через веб или WebDAV. Если нужен бэкап с телефона в один тап - это Immich.
Open-core: часть фич в Plus. PhotoPrism под AGPL-3.0, но это open-core: базовый функционал (CE) бесплатен, ряд возможностей - в платном tier Plus по подписке/членству. Образ latest - Plus-сборка, но CE-функции работают без ключа.
Безопасность и обновления
Приложение слушает localhost, наружу - только Caddy с TLS. Смените сгенерированный пароль admin после первого входа. Основные данные - фото в томе originals и база MariaDB; их и бэкапьте. Обновление:
cd /opt/photoprism && docker compose pull && docker compose up -d
Бэкап базы:
docker exec photoprism-mariadb mariadb-dump -u root -p photoprism > backup.sql
Связь с другими стеками
- Immich - альтернатива с родным мобильным авто-бэкапом, если он критичен (у нас есть отдельный разбор).
- Обратный прокси - встроенный Caddy уже дает TLS; для своего домена меняйте настройки вместе.
- Хранилище - большой том под фото (originals); при росте библиотеки берите диск с запасом.
- Бэкапы - dump MariaDB плюс снапшот тома с оригиналами фото.
Когда это НЕ ваш выбор
Нужен авто-бэкап с телефона одним тапом
У PhotoPrism нет родного мобильного приложения с автозагрузкой. Для этого сценария берите Immich.
Хотите уложиться в самый тариф CPU4-RAM8-DISK100
Индексатор прожорлив и требует swap с запасом RAM. На CPU2-RAM4 без swap будут OOM-рестарты; комфортный минимум - CPU4-RAM8.
Нужны все продвинутые фичи бесплатно
PhotoPrism open-core: часть возможностей в платном Plus. Если они принципиальны - оцените стоимость подписки.
Частые вопросы
Фото уходят куда-то наружу для распознавания?
Нет. Теги объектов и лиц считаются офлайн встроенными моделями TensorFlow, фото не покидают ваш сервер.
Хватит ли 2 ГБ RAM?
В простое да, но индексация упрется в память. Нужен swap (ставится автоматически, 4 ГБ) и лучше CPU4-RAM8.
Есть ли мобильное приложение с авто-бэкапом?
Родного нет - заливка через веб или WebDAV. Если нужен авто-бэкап с телефона, смотрите Immich.
Как войти?
Логин admin, пароль генерится при установке и лежит в файле кредов на сервере. Смените его после входа.
Это полностью бесплатно?
Базовый функционал (CE) - да, под AGPL-3.0. Часть фич - в платном tier Plus.
Чем отличается от Immich?
PhotoPrism легче по стеку и RAM, офлайн-теги; Immich тяжелее, но с родным мобильным авто-бэкапом.
Итог
PhotoPrism - самый легкий на вход способ поднять приватный AI-фотоальбом: один Go-бинарь плюс MariaDB, офлайн-распознавание лиц и объектов без отправки фото наружу, вход по логину-паролю из коробки. По RAM он экономнее Immich, но платит за это отсутствием родного мобильного авто-бэкапа. Заложите swap и запас памяти под индексацию, помните про open-core (часть фич в Plus) - и получите свой Google Photos на своем сервере.
Рекомендуемая конфигурация для установки:
4 vCPU · 8 ГБ RAM · 100 ГБ NVMe
Не хотите устанавливать вручную?
Запустите PhotoPrism на этой конфигурации автоматически - от 990 ₽/мес.
Этот стек у нас запущен на тарифе CPU4-RAM8-DISK100. Нашли баг в гайде - напишите, поправим в течение дня.