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

Установка и запуск PhotoPrism на Raspberry Pi

7 min read Self-hosting Обновлено 23 Dec 2025
PhotoPrism на Raspberry Pi: установка и настройка
PhotoPrism на Raspberry Pi: установка и настройка

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

  • Docker: контейнеризация приложений для изоляции и простого развёртывания.
  • docker-compose: инструмент для запуска нескольких контейнеров из одного файла конфигурации.
  • SSH: безопасный удалённый доступ к системе.
  • WebDav: протокол доступа к файлам по HTTP, используется для интеграции с Nextcloud.
  • Certbot: клиент для получения сертификатов от Let’s Encrypt.

Почему PhotoPrism на Raspberry Pi — хороший выбор

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

Важно: для комфортной работы рекомендован Raspberry Pi 4 с 4 ГБ ОЗУ или больше. Модели с 1–2 ГБ будут часто «сыпаться» при анализе больших коллекций.

Подготовка Raspberry Pi

  1. Установите Raspberry Pi OS (рекомендуется 64‑битная версия для Pi 4). Обновите систему:
ssh pi@your.pi.local.ip
sudo apt update
sudo apt upgrade -y
  1. Установите Docker и docker-compose (если ещё не установлены). Быстрая команда от официального скрипта Docker подойдет для большинства пользователей:
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker pi
sudo apt install -y docker-compose
  1. Если оперативной памяти меньше 4 ГБ, настройте swap на SSD (если вы грузитесь с microSD — учтите риск скорого износа):
sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

Заметка: swap помогает, но влияет на срок жизни microSD. Лучше использовать SSD.

Загрузка и правка docker-compose.yml

PhotoPrism проектируется для запуска через docker-compose. Скачайте файл и отредактируйте его:

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

В файле измените пароли по умолчанию и пути к хранилищу. По умолчанию PhotoPrism смотрит в /home/pi/Pictures. Если нужно, укажите другой каталог в секции volumes. Сохраните изменения: Ctrl+O, Enter, Ctrl+X.

Скриншот файла docker-compose в nano

Пример наиболее важных переменных (вставьте в раздел environment в docker-compose.yml):

environment:
  PHOTOPRISM_ADMIN_PASSWORD: your_secure_password_here
  PHOTOPRISM_HTTP_PORT: 2342
  PHOTOPRISM_STORAGE_PATH: "/photoprism/storage"
  PHOTOPRISM_ORIGINALS_PATH: "/photoprism/originals"

Совет: используйте длинные случайные пароли и храните их в менеджере паролей.

Запуск контейнеров

Подтяните образы и запустите контейнеры в фоновом режиме:

docker-compose pull
docker-compose up -d
docker-compose ps

Проверьте логи при ошибках:

docker-compose logs -f photoprism

После старта интерфейс доступен по http://your.pi.local.ip:2342. Имя пользователя: admin, пароль — указан в docker-compose.yml.

Вывод терминала с docker-compose

Доступ к PhotoPrism извне сети — вариант через Apache и Let’s Encrypt

Если вы хотите доступ из интернета, можно использовать Apache как обратный прокси и Certbot для HTTPS.

  1. В панели регистратора создайте A‑запись на ваш публичный IP.
  2. Создайте файл конфигурации Apache:
cd /etc/apache2/sites-available/
sudo nano photos.conf

Вставьте (отредактируйте доменное имя и локальный IP):


  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. Получите сертификат через Certbot:
sudo certbot --apache

Следуйте подсказкам, введите email, выберите домен. После этого сайт будет доступен по https://your-domain-name.tld.

Важно: альтернативой является настройка VPN (WireGuard) или туннеля (Tailscale), чтобы не открывать публично порты и полностью сохранить приватность.

Добавление фотографий

По умолчанию PhotoPrism ищет фото в /home/pi/Pictures. Копируйте файлы с локальной машины с помощью scp:

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

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

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

Варианты поиска и примеры тегов с изображениями

Сканирование создаст миниатюры, теги, распознавание лиц и карту мест съёмки (если в файлах есть геоданные).

Генерация тегов, сгруппированных по объектам

Карта съёмок с метками по GPS

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

  • PhotoSync (Android/iOS) — рекомендуемый производителями клиент для синхронизации фотографий на телефон с сервером PhotoPrism.
  • Syncthing — хорошо подходит для автоматической синхронизации папок между устройствами.
  • Nextcloud + WebDav — если у вас уже есть Nextcloud, добавьте его как сервер в настройках PhotoPrism → Sync → Add server.

Настройка WebDav в PhotoPrism позволяет проверять новые файлы по расписанию (ежечасно, ежедневно, еженедельно).

Советы по отладке и когда всё идёт не так

  • Если контейнер падает с ошибкой OOM, увеличьте swap или используйте Pi с большим объёмом RAM.
  • Проверьте логи MariaDB при проблемах с базой: docker-compose logs db
  • Таймауты и ошибки прокси проверяйте в логах Apache и Photoprism.
  • Если карты не показывают метки, убедитесь, что у фотографий есть GPS в EXIF.

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

  • Всегда используйте HTTPS при открытии доступа извне.
  • Ограничьте доступ по фаерволу: откройте только 80/443 для Apache, блокируйте прямой доступ к 2342 извне.
  • Запускайте обновления безопасности для ОС и контейнеров регулярно.
  • Используйте fail2ban или аналог для защиты SSH.
  • Делайте регулярные резервные копии базы данных MariaDB и каталога originals.

Пример простой команды для резервного дампа MariaDB из контейнера:

docker exec -t  mysqldump -u root -pYOURPASSWORD photoprism > photoprism_dump.sql

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

  • Веб‑интерфейс PhotoPrism доступен по HTTPS на вашем домене.
  • Полная переиндексация проходит без падений контейнеров.
  • Поиск возвращает релевантные результаты по дате, локации и тегам.
  • Резервная копия базы создана и может быть восстановлена.

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

  • Минимум 4 ГБ ОЗУ для плавной индексации; лучше 8 ГБ для больших коллекций.
  • Храните оригиналы на SSD, если планируете частые операции с файлами.
  • Для больших коллекций рассмотрите отдельный сервер для базы данных и отдельный — для обработки ML задач.

Таблица совместимости по моделям Raspberry Pi

  • Raspberry Pi 4 (4 ГБ и 8 ГБ): рекомендуется для нормальной работы.
  • Raspberry Pi 3: возможно, будет работать, но индексация и распознавание изображений будут медленными и небезопасны из‑за ограничений по памяти.
  • Raspberry Pi Zero: не подходит для PhotoPrism.

Риски и варианты обхода

  • Проблема: малая оперативная память → Риск падений при индексации. Обход: увеличить swap на SSD или использовать внешнюю машину для индексирования.
  • Проблема: публичный доступ без HTTPS → утечка данных. Обход: использовать VPN или Tailscale вместо прямого проброса портов.

Миграция с другой системы (коротко)

  1. Экспортируйте оригиналы и метаданные из старой системы.
  2. Скопируйте файлы в каталог originals, запустите Complete rescan.
  3. При необходимости импортируйте теги вручную или с помощью API PhotoPrism.

Контрольный чеклист для администратора

  • Pi обновлён и перезагружён после установки Docker
  • docker-compose.yml отредактирован: пароли, пути
  • Сертификат HTTPS получен (Certbot) или настроен VPN
  • Регулярный backup настроен и проверен
  • Политика доступа к портам реализована в фаерволе

Тесты и приёмочные сценарии

  • Тест 1: зайти на главную страницу и авторизоваться под admin.
  • Тест 2: загрузить 100 фотографий и дождаться завершения полного сканирования.
  • Тест 3: поиск по году и по геопозиции → ожидается нахождение соответствующих фото.
  • Тест 4: восстановление БД из резервной копии.

Примеры альтернатив и когда PhotoPrism не подходит

  • Нужно реальное облачное хранение с автоматическим распределением и доступом для множества пользователей — рассмотрите коммерческие облака. PhotoPrism больше ориентирован на личное и семейное использование.
  • Огромные коллекции (сотни тысяч снимков) могут выйти за пределы возможностей одного Raspberry Pi; лучше выбрать сервер с большим объёмом RAM и дискового пространства.

Быстрые команды-образцы и шпаргалка

  • Запустить обновление контейнеров:
docker-compose pull && docker-compose up -d
  • Просмотр логов:
docker-compose logs -f photoprism
  • Остановка и удаление контейнеров:
docker-compose down

Небольшая методология: как поддерживать проект в рабочем состоянии

  1. Еженедельно проверять логи на ошибки и обновления образов.
  2. Раз в месяц проверять целостность резервных копий.
  3. Обновлять систему и контейнеры в окне обслуживания, когда у пользователей минимальная активность.

“Короткая мысль эксперта”: Поддерживайте изоляцию сервисов: БД, приложение и обратный прокси — это простая, но эффективная архитектура для безопасности и масштабирования.

Короткое резюме

PhotoPrism на Raspberry Pi — отличное решение для домашнего фотосервера: относительно простая установка через docker-compose, мощный поиск и картирование фотографий. Главное — обеспечить достаточный объём памяти, использовать HTTPS и продумать резервное копирование.

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

Поделиться: 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 — руководство