Команда инженеров · свой ЦОД в РФ · своё железо · своя панель · CloudStack + Linstor · MCP · база знаний по self-hosted
Личное облако и файлы

PhotoPrism

Свой AI-фотоальбом на сервере - приватная замена Google Photos: офлайн-распознавание объектов и лиц, умный поиск по содержимому, карта по геометкам, альбомы, RAW и видео. Фото и индекс остаются у вас, теги считаются локально. Развернули на живой VM, замерили и проверили вход.

Июль 2026~9 минут чтенияFatmetal Team
Личное облако и файлы Лицензия: AGPL-3.0 (open-core) Статус: запущен у нас

Вердикт

Подходит
  • кому нужен приватный фотоархив с умным поиском и распознаванием лиц - без Google в середине
  • кто хочет легкий на вход стек: один Go-бинарь плюс MariaDB, вход по логину-паролю из коробки
  • кому важны офлайн-теги (объекты/лица считаются локально) и поддержка RAW/видео
Не подходит
  • кому критичен родной мобильный авто-бэкап с телефона - у PhotoPrism его нет (веб/WebDAV), у Immich есть
  • кто хочет уложиться в тариф CPU4-RAM8-DISK100 без запаса - индексатор прожорлив, нужен swap и RAM
  • кому нужны все Plus-фичи бесплатно - часть функций в платном tier
Мин. тариф: CPU4-RAM8-DISK100 Рекомендуем: CPU4-RAM8-DISK100 Сложность: medium Стек: 3 контейнера, ~236 MiB в простое Главный риск: RAM/swap на индексации Прод-готовность: с оговорками (swap, бэкап MariaDB)
Что это

Что это и какую задачу решает

PhotoPrism - self-hosted фотоальбом с искусственным интеллектом: заливаете свою фототеку, а он офлайн (без отправки наружу) распознает объекты и лица, строит умный поиск по содержимому, раскладывает снимки по карте на основе геометок, собирает альбомы и поддерживает RAW и видео. По сути это ваш Google Photos, только на вашем сервере и под вашим контролем.

Зачем держать это у себя: семейный фотоархив - чувствительные личные данные, а в облаке Google они хранятся и анализируются их алгоритмами, место постоянно дорожает. PhotoPrism переносит и хранение, и распознавание к вам - это и приватность, и независимость от подписки за гигабайты.

GoMariaDBTensorFlow (офлайн)Caddy (TLS)Docker
Сравнение

PhotoPrism против Google Photos и Immich

Две главные замены Google Photos - PhotoPrism и Immich - с разной философией.

ПараметрPhotoPrismGoogle PhotosImmich
Где фото и распознаваниена вашем сервере, офлайнв облаке Googleна вашем сервере
Модель ценыself-host, CE бесплатноподписка за местоself-host бесплатно
Стек и RAMлегче: Go + MariaDB-тяжелее: ML-контейнер + Postgres
Мобильный авто-бэкапнет родного (веб/WebDAV)естьесть родное приложение
Входлогин-пароль из коробкиаккаунт Googleлогин-пароль
Под капотом

Тех-стек и архитектура

PhotoPrism написан на Go - это один компактный бинарь-приложение, а не связка микросервисов. Распознавание объектов и лиц работает офлайн на встроенных моделях TensorFlow, так что фото никуда не отправляются. Метаданные и индекс хранятся в MariaDB. Наружу торчит только Caddy с автоматическим TLS, само приложение слушает localhost.

КонтейнерОбразРоль
photoprismphotoprism/photoprism:latestприложение (Go), порт 2342
mariadbmariadb:11метаданные, индекс, теги
caddycaddy:2reverse-proxy и авто-TLS

Образ приложения тяжелый (около 4 ГБ на диске) - в него встроены ML-модели. Это плата за офлайн-распознавание без внешних сервисов.

Конфигурация

Минимальная конфигурация

В простое стек легкий, но индексация - другая история.

Контейнеров в работе3 (photoprism + mariadb + caddy)
RAM всего стека в простое~236 MiB
Swap (обязателен)4 ГБ - ставится автоматически
Образы на диске~4.02 GB
Рекомендуем тарифCPU4-RAM8-DISK100
i

Важно: в простое 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.

  1. Создать VM

    Тариф CPU4-RAM8-DISK100, Ubuntu 24.04, приложение Docker. Или заказать готовую карточку PhotoPrism из маркетплейса в один клик.

  2. Поднять стек

    cd /opt/photoprism
    # install.sh ставит swap, генерит пароль admin,
    # поднимает MariaDB + PhotoPrism + Caddy
    docker compose up -d

    Адрес формируется из IP: точки на дефисы плюс .fatmetal.net, Caddy берет на него сертификат.

  3. Войти

    Откройте домен, логин admin, пароль - из файла кредов /root/photoprism-credentials.txt. Смените его и заливайте фото.

Библиотека PhotoPrism: фотоальбом на своем сервере
Интерфейс PhotoPrism на нашем инстансе: библиотека, поиск, альбомы. Тариф CPU4-RAM8.
Замеры

Что измерили после запуска

Цифры со свежей установки, без залитой библиотеки.

Контейнеров в работе3
RAM всего стека в простое~236 MiB (photoprism ~106, mariadb ~117)
Swap выделен4 GB (под индексатор)
Образы на диске~4.02 GB
Отклик главной (TTFB за TLS)~0.47 c
i

Главное: в простое PhotoPrism легче Immich по RAM, но реальную нагрузку создает индексация - под нее и заложены swap и запас памяти.

Альбомы PhotoPrism
Раздел альбомов PhotoPrism. Интерфейс переключается на русский.

Проверено на сборке 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-функции работают без ключа.

Страница входа PhotoPrism
Экран входа PhotoPrism: логин и пароль, из коробки, без внешнего провайдера.
Безопасность

Безопасность и обновления

Приложение слушает 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. Если они принципиальны - оцените стоимость подписки.

FAQ

Частые вопросы

Фото уходят куда-то наружу для распознавания?

Нет. Теги объектов и лиц считаются офлайн встроенными моделями 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 ₽/мес.

Запустить PhotoPrism →
Анонсы новых разборов в Telegram-канале Новые гайды и карточки в маркетплейсе первыми @fatmetal_channel →

Этот стек у нас запущен на тарифе CPU4-RAM8-DISK100. Нашли баг в гайде - напишите, поправим в течение дня.

Спросить инженера в TelegramМы на связи