Гид по технологиям

Установка и настройка PhotoPrism на Raspberry Pi

7 min read Самохостинг Обновлено 09 Jan 2026
PhotoPrism на Raspberry Pi — установка и настройка
PhotoPrism на Raspberry Pi — установка и настройка

Что такое PhotoPrism (одно предложение)

PhotoPrism — это локальный сервис для хранения, индексирования и поиска фотографий с распознаванием лиц и объектов, картой съёмок и возможностью синхронизации с мобильными устройствами.

Быстрая памятка по намерениям статьи

  • Основной сценарий: установка PhotoPrism на Raspberry Pi с помощью docker-compose.
  • Дополнительные сценарии: доступ из внешней сети через Apache + Let’s Encrypt, способы загрузки и синхронизации фотографий, советы по производительности и безопасности.

Требования и подготовка

  • Raspberry Pi (рекомендуется модель с 4 ГБ ОЗУ и выше).
  • Операционная система: Raspberry Pi OS или совместимая Debian-подобная сборка.
  • Подключение к сети и доступ по SSH.

Важно: PhotoPrism стабилен только при наличии минимум 4 ГБ ОЗУ. Если у вас меньше, можно увеличить файл подкачки (swap), но запись в microSD-карту при частых операциях может быстро её износить. Рекомендуется загрузка с SSD для более долгого срока службы и стабильности.

Подготовка Raspberry Pi и обновление пакетов

Подключитесь по SSH, затем обновите систему:

ssh pi@your.pi.local.ip
sudo apt update
sudo apt upgrade

Если на устройстве нет docker и docker-compose, установите их (пример для Debian-подобных систем):

sudo apt install -y docker.io docker-compose
sudo systemctl enable --now docker
sudo usermod -aG docker $USER

(Перезапустите сессию SSH или выйдите и войдите снова, чтобы изменения группы вступили в силу.)

Настройка памяти (если ОЗУ < 4 ГБ)

Если у вас меньше 4 ГБ ОЗУ и вы хотите попробовать PhotoPrism, можно временно увеличить swap:

sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

Примечание: это ускорит деградацию microSD-карты при интенсивной записи; используйте SSD по возможности.

Загрузка и правка docker-compose файла

PhotoPrism предназначен для запуска в контейнерах. Скачайте официальный docker-compose.yml:

wget https://dl.photoprism.app/docker/docker-compose.yml

Откройте файл в текстовом редакторе (например, nano):

nano docker-compose.yml

В файле замените значения паролей по умолчанию (по умолчанию «insecure») на надёжные строки. Также проверьте путь к фотографиям — по умолчанию /home/pi/Pictures; при необходимости скорректируйте раздел Volumes.

photoprism docker-compose file in nano

ALT изображения: Внешний вид файла docker-compose для PhotoPrism, открытого в nano на терминале.

Сохраните и закройте файл: Ctrl + O, Enter, Ctrl + X.

Развёртывание контейнеров

Скачайте образы и поднимите контейнеры:

docker-compose pull
docker-compose up -d

Проверьте статус:

docker-compose ps

terminal output for docker-compose commands

ALT изображения: Вывод команд docker-compose в терминале, показывающий состояние контейнеров.

По умолчанию PhotoPrism будет доступен по адресу: your.local.pi.ip:2342. Логин: admin, пароль — тот, что вы указали в docker-compose.yml.

Доступ к PhotoPrism из внешней сети (опционально)

Чтобы попасть на PhotoPrism вне вашей домашней сети, потребуется доменное имя и обратный прокси (в примере — Apache).

  1. В панели управления вашего регистратора создайте DNS A-запись: тип A, хост @, значение — ваш публичный IP.

  2. На Raspberry Pi создайте конфигурацию Apache:

cd /etc/apache2/sites-available/
sudo nano photos.conf

Вставьте:


ServerName your-domain-name.tld
ProxyPass /api/v1/ws ws://your.pi.local.ip:2342/api/v1/ws
ProxyPassReverse /api/v1/ws ws://your.pi.local.ip:2342/api/v1/ws
ProxyPass / http://your.pi.local.ip:2342/
ProxyPassReverse / http://your.pi.local.ip:2342/
ProxyRequests off

Сохраните и выйдите. Затем включите сайт и перезапустите Apache:

sudo a2ensite photos.conf
sudo service apache2 restart
  1. Выпустите TLS-сертификат через Certbot (Let’s Encrypt):
sudo certbot

Следуйте подсказкам: укажите email, выберите домен для защиты. После успешного получения сертификатов Apache будет обслуживать PhotoPrism по HTTPS на https://your-domain-name.tld.

Важно: при пробросе портов на маршрутизаторе убедитесь, что проброс порта 80/443 направлен на Raspberry Pi, если вы не используете внешний прокси.

Загрузка фотографий на сервер

По умолчанию PhotoPrism сканирует /home/pi/Pictures. Для передачи фотографий с локальной машины используйте scp:

scp -r /path/to/your/images/* pi@your.pi.local.ip:/home/pi/Pictures/

Альтернативы для автоматизации: PhotoSync (мобильный клиент), SyncThing, Nextcloud (PhotoPrism может читать WebDAV Nextcloud).

Запуск ресканирования и индексации

В веб-интерфейсе нажмите значок плёнки слева, отметьте “Complete rescan” и нажмите Start. Индексация создаёт миниатюры, теги по объектам/лицам и карту по геоданным.

Предупреждение: процесс индексации может потребовать много памяти и времени — для больших коллекций он может занять часы или дни. При недостатке ОЗУ сервис может аварийно завершиться.

photoprism search options plus pictures of dogs

ALT изображения: Интерфейс PhotoPrism с полем поиска, примерами изображений домашних животных и вариантами фильтрации.

Как PhotoPrism распознаёт объекты и где он ошибается

PhotoPrism использует TensorFlow и модели машинного обучения для генерации тегов — чаще всего метки корректны, но иногда случаются ошибки (например, кошка помечена как обезьяна). Это нормальное поведение компьютерного зрения: точность зависит от модели, качества изображений и контекста.

photoprism tags showing objects grouped by name

ALT изображения: Примеры тегов PhotoPrism, группирующих изображения по распознанным объектам.

Карта съёмок и геоданные

Если камера или смартфон сохраняют GPS в EXIF, PhotoPrism отобразит местоположения на карте и позволит искать фотографии по локациям.

photoprism map showing locations in the UK, Europe, and Turkey

ALT изображения: Карта PhotoPrism с пометками мест съёмки по Великобритании, Европе и Турции.

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

Добавление синхронизации с мобильными устройствами

  • PhotoSync (рекомендуемый мобильный клиент) для прямой загрузки на сервер.
  • SyncThing для синхронного копирования папок между устройствами.
  • Nextcloud + WebDAV: PhotoPrism может подкачивать новые фотографии из Nextcloud по расписанию (настройки → Sync → Add server → WebDAV).

Производительность и оптимизация

  • Желательно 4 ГБ ОЗУ или больше.
  • Используйте SSD вместо microSD для главного хранилища и базы данных.
  • Ограничьте одновременно работающие потоки и задачи индексирования в конфигурации PhotoPrism при низкой памяти.
  • Периодически чистите ненужные миниатюры и бэкапы.

Резервное копирование и восстановление

  • Резервируйте каталог с библиотекой фото и базу данных (MariaDB): создайте регулярные бэкапы volume-ов или копии папок с фотографиями.
  • Простой способ: rsync на внешний диск или сетевой NAS.

Пример бэкапа каталога с фотографиями:

rsync -av --delete /home/pi/Pictures/ /media/backup/photoprism-pictures/

Безопасность и конфиденциальность

  • Всегда используйте HTTPS для внешнего доступа.
  • Сильные уникальные пароли для админа и базы данных.
  • Ограничьте доступ фаерволом (ufw) к портам, которые не должны быть публичными.
  • Если не нужен внешний доступ — избегайте проброса портов и держите сервис в локальной сети.

Пример базовых правил ufw:

sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable

GDPR и приватность (коротко)

  • PhotoPrism хранит и индексирует метаданные EXIF, включая геолокацию.
  • Для соответствия требованиям конфиденциальности: отключите сохранение GPS в камере/смартфоне, удаляйте чувствительные EXIF-поля при экспорте, документируйте политику хранения данных, если у вас есть доступы других пользователей.

Важно: локальный сервер под вашим контролем меньше подвержен внешним утечкам, но вы всё равно ответственны за обработку персональных данных, если ими пользуются другие люди.

Когда PhotoPrism может не подойти (краткие контрпримеры)

  • Очень большие корпоративные коллекции (миллионы изображений) — потребуется кластерная и более ресурсоёмкая инфраструктура.
  • Жёсткие требования к точности распознавания для критичных задач (медицина, правоохранительные системы).
  • Если вам нужен нативный мобильный клиент с полными возможностями — PhotoPrism полагается на сторонние приложения для синхронизации.

Альтернативные подходы

  • Nextcloud Photos — лучше интегрирован в Nextcloud-экосистему.
  • Lychee / PhotoStructure / Piwigo — лёгкие решения для простых галерей.
  • Коммерческие облачные сервисы (Google Photos, iCloud) — удобнее, но менее приватно.

Чек-лист по ролям

  • Для администратора:
    • Проверить наличие Docker и docker-compose.
    • Настроить резервные копии и мониторинг.
    • Настроить HTTPS и правила брандмауэра.
  • Для домашнего пользователя:
    • Скопировать фото в /home/pi/Pictures.
    • Запустить полное сканирование и проверить результаты.
    • Настроить мобильную синхронизацию.

Критерии приёмки

  • Сервис доступен локально по http://your.local.pi.ip:2342 или по HTTPS через ваш домен.
  • База данных MariaDB работает и не выдаёт ошибок при старте контейнеров.
  • Индексация завершена без критических ошибок, миниатюры созданы.
  • Как минимум одна фотография правильно отображается в галерее и по результатам поиска.

Тесты и сценарии проверки

  • Тест 1: загрузить папку с 10 изображениями, запустить Complete rescan, убедиться, что все 10 отображаются.
  • Тест 2: проверить поиск по дате и по камере (если EXIF содержит данные).
  • Тест 3: убедиться, что карта отображает фото с GPS.
  • Тест 4: доступ по HTTPS для внешнего домена работает и сертификат валиден.

Краткая методология миграции с другого сервиса

  1. Экспортируйте фотографии и метаданные (если возможно).
  2. Поместите файлы в целевой каталог /home/pi/Pictures.
  3. Запустите Complete rescan.
  4. Сверьте контрольные выборки (по датам, по именам файлов).

Глоссарий (1 строка)

  • EXIF — метаданные в файле изображения, включающие дату, модель камеры и координаты GPS.

Итог и рекомендации

PhotoPrism — отличный выбор для личного архива фотографий на Raspberry Pi: удобный поиск, распознавание лиц и объектов, карта съёмок и гибкая синхронизация. Для стабильной работы используйте минимум 4 ГБ ОЗУ или SSD, настраивайте резервное копирование и HTTPS для внешнего доступа. Если вам нужны дополнительные возможности или корпоративный масштаб, рассмотрите альтернативы.

Важно: тестируйте процесс индексации на небольшой выборке перед импортом всей коллекции.

Резюме

  • PhotoPrism легко запускать через docker-compose на Raspberry Pi.
  • Рекомендуется 4 ГБ ОЗУ, SSD и регулярные бэкапы.
  • Для внешнего доступа используйте обратный прокси + Let’s Encrypt.
  • Учитывайте приватность EXIF-геоданных при совместном использовании сервера.
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

RDP: полный гид по настройке и безопасности
Инфраструктура

RDP: полный гид по настройке и безопасности

Android как клавиатура и трекпад для Windows
Гайды

Android как клавиатура и трекпад для Windows

Советы и приёмы для работы с PDF
Документы

Советы и приёмы для работы с PDF

Calibration в Lightroom Classic: как и когда использовать
Фото

Calibration в Lightroom Classic: как и когда использовать

Отключить Siri Suggestions на iPhone
iOS

Отключить Siri Suggestions на iPhone

Рисование таблиц в Microsoft Word — руководство
Office

Рисование таблиц в Microsoft Word — руководство