- PhotoPrism использует ИИ для локальной организации ваших фотографий с помощью тегов, мест и расширенного поиска.
- Четкие требования: 2-ядерный процессор, 3 ГБ ОЗУ, SSD для БД и кэшей, а также большой объем подкачки.
- Простая установка с помощью Docker, монтирование оригиналов, хранение и, при желании, импорт папки.
- Конфиденциальность прежде всего: при наличии доступа к Интернету используйте HTTPS с Traefik/Caddy и регулярное резервное копирование.
¿Как использовать PhotoPrism в качестве локальной частной галереи на базе ИИ? Держите свою фототеку под контролемБез использования публичного облака это больше не мечта: с PhotoPrism вы можете создать частную фотогалерею на базе искусственного интеллекта на своём компьютере или сервере и просматривать воспоминания за годы, не нарушая конфиденциальности. Вот подробное и практичное объяснение того, как это работает, что вам нужно и как настроить это локально с помощью Docker.
Для многих Google Photos чрезвычайно удобен, но в обмен на это удобство возникают обоснованные сомнения относительно использования данных. Если вас беспокоит конфиденциальность Или, если вам необходимо соблюдать такие нормативные требования, как GDPR в профессиональной сфере, PhotoPrism станет для вас мощной альтернативой: автоматическая организация, теги на базе искусственного интеллекта, расширенный поиск и рабочий процесс, разработанный для больших коллекций, — и все это в рамках вашей существующей инфраструктуры.
Что такое PhotoPrism и зачем его использовать локально

PhotoPrism — это веб-приложение Система управления фотографиями на базе искусственного интеллекта (с классификацией Google TensorFlow) распознаёт людей, объекты, цвета и сцены, присваивая им теги и упорядочивая вашу библиотеку. Она разработана как решение для самостоятельного размещения фотографий и видео, позволяющее хранить их дома или на собственном сервере, сохраняя конфиденциальность и не жертвуя современными функциями.
В его ДНК есть несколько подсказок: совместимость с RAW и классическими форматами Например, JPEG или PNG; интеллектуальное индексирование с обнаружением дубликатов; навигация по временной шкале, местоположению и тегам; а также поисковая система, позволяющая комбинировать фильтры по камере, цвету, дате, стране и даже добавлять элементы в избранное. Всё работает на вашем компьютере, с локальным кэшем и без необходимости использования сторонних сервисов для анализа.
Интерфейс представляет собой PWA, поэтому он устанавливается на главный экран компьютеров и мобильных устройств. Он особенно хорошо работает в Chrome, Chromium, Safari, Firefox и Edge.Обратите внимание, что воспроизведение некоторых видео- и аудиокодеков (например, AAC в H.264) может различаться в зависимости от браузера, что является нормой для современного Интернета.
Еще одним отличительным фактором является интеграция с WebDAV и внешними сервисами: Вы можете синхронизировать данные с мобильных устройств с помощью таких приложений, как PhotoSync.а также отобразить галерею со ссылками, защищёнными паролем, срок действия которых истекает. Кроме того, если вам нужны карты и данные о местоположении, PhotoPrism использует сервис обратного геокодирования и карты с высоким уровнем конфиденциальности, созданные MapTiler; эти ресурсы разработаны для минимизации риска и повышения эффективности кэширования. Чтобы узнать больше, мы включили это руководство о том, как Организуйте свои фотографии с помощью ИИ без облачного хранилища: PhotoPrism и локальные альтернативы.
Требования, оборудование и производительность
Для равномерного местного применения Рекомендуется не менее двух ядер процессора, 3 ГБ оперативной памяти и 64-разрядная система. Сверх этого минимума рекомендуется подбирать объём оперативной памяти в соответствии с количеством ядер, а для больших библиотек использовать локальный SSD для базы данных и кэшей. Индексация — ресурсоёмкий процесс; при наличии SSD и хорошей подкачки он значительно ускоряется.
Если на вашем сервере объем подкачки составляет менее 4 ГБ или вы установили очень жесткие ограничения на объем памяти/подкачки, У вас могут возникнуть неожиданные перезагрузки Если индексатору требуются дополнительные ресурсы (это часто случается с большими файлами RAW, панорамами 360 градусов или видео 4K), включите или увеличьте пространство подкачки и будьте терпеливы: при большом количестве фотографий начальная индексация может занять несколько дней.
Что касается базы данных, PhotoPrism поддерживает SQLite 3 и MariaDB 10.5.12 и более поздние версии.С SQLite легко начать работу, но если вам нужны производительность и масштабируемость, MariaDB — лучший выбор. Поддержка MySQL 8 прекращена из-за низкого спроса и недостатка функций по сравнению с MariaDB. Важный совет: избегайте использования тега «последняя версия» в образе MariaDB; используйте стабильные версии, которые прошли тщательное тестирование.
Что касается платформ, приложение развертывается везде, где доступен Docker: Linux, macOS и Windows с Docker DesktopПомимо FreeBSD, Raspberry Pi и многих устройств NAS, существуют облачные варианты через PikaPods или DigitalOcean, хотя здесь мы сосредоточимся на локальных решениях для обеспечения конфиденциальности и контроля.
Установка Docker шаг за шагом
Если вы никогда не использовали DockerНе беспокойтесь: развёртывание с помощью Docker Compose очень просто. Файл YAML можно разместить в любой папке. Сначала создайте каталог для PhotoPrism и сохраните в нём файл docker-compose.yml. Важно чётко определить объёмы для оригиналов, хранилища и, при необходимости, импорта.
Вот три типичные установки: оригиналы (только для чтения или для чтения/записи), хранилище (кэш, БД и вспомогательные файлы) и импорт (Необязательно). Вы можете указать папку, где у вас уже есть фотографии, в качестве оригиналов. Мой совет: хранить фотографии отдельно от хранилища, чтобы не смешивать базу данных и кэш с оригиналами.
Базовый пример docker-compose с MariaDB и PhotoPrism (вы можете адаптировать его под свою среду):
version: '3.5'
services:
mariadb:
image: 'mariadb:11'
restart: unless-stopped
security_opt:
- 'seccomp:unconfined'
- 'apparmor:unconfined'
command: >-
--innodb-buffer-pool-size=512M
--transaction-isolation=READ-COMMITTED
--character-set-server=utf8mb4
--collation-server=utf8mb4_unicode_ci
--max-connections=512
--innodb-rollback-on-timeout=OFF
--innodb-lock-wait-timeout=120
environment:
MARIADB_AUTO_UPGRADE: '1'
MARIADB_INITDB_SKIP_TZINFO: '1'
MARIADB_DATABASE: 'photoprism'
MARIADB_USER: 'photoprism'
MARIADB_PASSWORD: 'cambia-esto'
MARIADB_ROOT_PASSWORD: 'cambia-esto'
volumes:
- './database:/var/lib/mysql'
photoprism:
image: 'photoprism/photoprism:latest'
depends_on:
- mariadb
stop_grace_period: 10s
security_opt:
- 'seccomp:unconfined'
- 'apparmor:unconfined'
ports:
- '2342:2342'
environment:
PHOTOPRISM_ADMIN_USER: 'admin'
PHOTOPRISM_ADMIN_PASSWORD: 'cambia-esto'
PHOTOPRISM_AUTH_MODE: 'password'
PHOTOPRISM_SITE_URL: 'http://localhost:2342/'
PHOTOPRISM_DEFAULT_TLS: 'true'
PHOTOPRISM_DATABASE_DRIVER: 'mysql'
PHOTOPRISM_DATABASE_SERVER: 'mariadb:3306'
PHOTOPRISM_DATABASE_NAME: 'photoprism'
PHOTOPRISM_DATABASE_USER: 'photoprism'
PHOTOPRISM_DATABASE_PASSWORD: 'cambia-esto'
PHOTOPRISM_ORIGINALS_LIMIT: 5000
PHOTOPRISM_JPEG_QUALITY: 85
PHOTOPRISM_DISABLE_WEBDAV: 'false'
PHOTOPRISM_DISABLE_TENSORFLOW: 'false'
PHOTOPRISM_DETECT_NSFW: 'false'
PHOTOPRISM_SIDECAR_JSON: 'true'
PHOTOPRISM_SIDECAR_YAML: 'true'
working_dir: '/photoprism'
volumes:
- '~/Pictures:/photoprism/originals'
- './storage:/photoprism/storage'
- './import:/photoprism/import'
Когда файл будет готов, откройте терминал в этой папке и выполните: docker-compose вверх -dПервая инициализация загружает изображения и создаёт базу данных. Подождите несколько минут. Затем начинается индексация. docker compose exec photoprism photoprism indexБудет обновлено в будущем: докер композишн пул фотопризма, докер компози стоп фотопризма y docker compose up -d –no-deps photoprism.
Учетные данные по умолчанию: имя пользователя admin и пароль, которые вы определяете в переменных среды. Не забудьте сменить слабые пароли Как только вы войдете в систему в первый раз. Если вы планируете импортировать большой объём материала, стоит отключить функции машинного обучения на этапе первоначальной индексации, а затем включить их позже.
Безопасный доступ, локальные домены и обратный прокси-сервер
Если вы собираетесь предоставить доступ к сервису за пределами своей сети, Всегда ставьте его после HTTPS с обратным прокси-сервером, таким как Traefik или Caddy. Без TLS всё передается открытым текстом и может быть перехвачено. Обеспечение конфиденциальности — часть плана: используйте действительные сертификаты и перенаправляйте HTTP на HTTPS.
Для локального доступа с помощью домена, например photoprism.localhost, без порта у вас есть два варианта: сопоставить стандартный порт на хосте (например, 80:2342, только для локального использования) или настройте Traefik на прослушивание порта 80 и маршрутизацию к сервису на порту 2342. Убедитесь, что метки контейнеров включают маршрутизатор, точку входа и внутренний порт сервиса. Типичный шаблон работы с Traefik — определить правило для хоста, веб-точку входа и указать порт сервиса на 2342.
Еще один ключевой момент — брандмауэр: разрешает входящие соединения к используемым вами портам (веб и https), а также к API геокодирования и Docker при необходимости. Если вы заблокируете эти исходящие соединения, карты и местоположения не будут работать корректно.
Организация, ИИ и функции, которые имеют значение
PhotoPrism работает с мощным каталогом и дополнительными модулями; Вы можете записывать метаданные в форматах JSON и YAML. Наряду с оригиналами, чтобы не зависеть исключительно от базы данных. Классификация с TensorFlow (лица, объекты, сцены и NSFW) ускоряет поиск, а решение о том, следует ли отмечать конфиденциальные фотографии как личные, так же просто, как включить соответствующую настройку.
Для поддержания производительности вы можете настроить качество и размер миниатюр, видеокодеки, ограничения битрейта и масштабирование. FFmpeg настраивается переменными Если ваше оборудование поддерживает эту функцию, вы можете делегировать её Intel QSV, Nvidia, Apple или VAAPI для ускоренного перекодирования. Всего за несколько щелчков мыши вы можете перейти от базового рабочего процесса к адаптированному под вашу систему.
Навигация очень гибкая: временная шкала, альбомы, теги, избранное и места. Панель расширенного поиска Фильтрация по камере, датам, странам, цветам или людям. Если вы работаете в хаотичных библиотеках, поиск дубликатов и нормализация метаданных помогут вам без труда навести порядок.
На мобильных устройствах официального приложения нет, но вы можете использовать PWA или синхронизироваться с WebDAV с помощью таких приложений, как PhotoSync. PWA очень практиченОн устанавливается как нативное приложение, избавляя вас от необходимости каждый раз использовать браузер. Однако возможности Android TV или Google TV ограничены, как и у большинства решений в этом секторе; наиболее надёжным вариантом остаётся использование браузера на ноутбуке, подключенном к телевизору, если вы хотите комфортно просматривать фотографии с семьёй.
Кто больше всего выигрывает от PhotoPrism?
Профессиональные фотографы С тысячами RAW-файлов вы найдете надежного союзника: индексацию, поиск по объективу или камере, обнаружение дубликатов и добавление дополнительных файлов, чтобы избежать изменения оригинала. Контроль, маркировка и консолидация вашей коллекции сэкономят часы работы в среднесрочной перспективе.
к графические дизайнеры и креативщикиЦветовые метки и теги объектов помогут вам быстро найти визуальное вдохновение. Просмотр по моментам и использование временной шкалы помогут вам находить идеи и материалы, не теряя их из виду.
В секторе недвижимости, агенты по недвижимости Они могут классифицировать объекты по местоположению, дате или тегам, а также делиться альбомами с помощью защищённых ссылок, срок действия которых истекает. Конфиденциальность здесь играет ключевую роль, и контроль над сервером — это плюс.
Команды цифрового маркетинга Они ценят организованную библиотеку ресурсов с фильтрами по кампаниям, датам и странам. Многопользовательская поддержка и использование дополнительных ресурсов позволяют избежать нарушения исходных данных и делиться внутренними коллекциями, не раскрывая их внешним пользователям.
к путешественники, цифровые архивисты и разработчикиПреимущества включают в себя интерактивные карты и возможность интеграции галереи с другими сервисами через WebDAV. Если соблюдение нормативных требований также является важным, хранение данных в собственной инфраструктуре поможет вам соблюдать требования GDPR и внутренние политики.
Популярные альтернативы и как они вписываются
Иммич бьет сильноОн очень напоминает Google Фото с бесшовной временной шкалой, избранным по ключам, синхронизацией с мобильными устройствами и семантическим поиском по концепциям или цветам. Импорт из Google Архиватора невероятно прост с помощью таких инструментов, как Immich-Go. К сожалению, приложение для Android TV ограничено; для просмотра телепередач лучше использовать браузер на ноутбуке.
В области офисных пакетов, Nextcloud Photos и плагин Memories Они предлагают хороший вариант, если вы уже используете Nextcloud. Приложение Recognize распознаёт лица, а Imaginary и Preview Generator ускоряют предварительный просмотр. Интерфейс функционален, хотя быстрые действия, такие как добавление в избранное, выполняются не так быстро, как в других приложениях.
Фотоструктура Он предлагает другой подход: на главном экране отображается случайная подборка фотографий, которая поможет вам заново открыть свой архив. Приложение быстрое и удобное, но в режиме «Плюс» открываются такие функции, как избранное и распознавание лиц, что может отпугнуть тех, кто ищет всё бесплатное и локальное.
Piwigo, Photoview, Lychee или Photonix Они подходят для самых разных сценариев: простые галереи, базовое распознавание или организация по тегам. Если для вас важнее всего временная шкала и быстрые команды, их может быть недостаточно. LibrePhotos выглядит очень многообещающе на бумаге, но его реализация может потребовать больше ручного труда и не всегда работает гладко на слабых компьютерах.
Hasta Plex запустил Plex Photos Plex, который сейчас находится в стадии бета-тестирования для iOS, Android и веб-версии, — интересный вариант для тех, кто уже пользуется Plex, хотя у него пока нет полноценного приложения для Android TV. Ente же, напротив, открыл свой исходный код и может похвастаться сквозным шифрованием; приложение выглядит весьма многообещающе даже с десктопными клиентами, хотя для его самостоятельного размещения требуются некоторые технические навыки.
Часто задаваемые вопросы для начинающих пользователей Docker
Куда мне поместить файл YAML?В любой папке. Важно запускать команды Docker Compose из этого каталога, чтобы он правильно считывал YAML-файл. Файл docker-compose.yml и подпапки, такие как storage, database и import, храните вместе, чтобы всё было под рукой.
Стоит ли мне монтировать текущую папку с фотографиями? Да, подключите папку с фотографиями к /photoprism/originals. Если вы предпочитаете не предоставлять права на запись, вы можете смонтировать её в режиме «только для чтения», но при этом потеряете возможность редактирования метаданных на месте. PhotoPrism также не затрагивает исходные файлы с помощью дополнительных файлов.
Куда делись база данных и кэш? Лучше всего хранить их вне папки с фотографиями, по отдельному пути, указанному в /photoprism/storage (а если вы используете MariaDB, то в ./database в контейнере СУБД). Таким образом, вы не будете смешивать кэши и базы данных с исходными файлами.
Как смонтировать папку в DockerВ разделе томов используйте формат host_path:container_path. Например, ~/Pictures:/photoprism/originals. Проверьте права пользователя, запустившего контейнер; при необходимости используйте переменные PHOTOPRISM_UID и PHOTOPRISM_GID или директиву user для выравнивания прав.
Нам нужен Трафик или Кэдди? Делайте это только в том случае, если вам нужны автоматический TLS, чистые домены и пути, или если вы предоставляете сервису доступ в Интернет. Локально достаточно указать порт 2342. Если вы используете Traefik, укажите хост, точку входа в веб и внутренний порт 2342 для сервиса; таким образом, вы сможете получить к нему доступ через photoprism.localhost без добавления :2342.
Поддержка, обновления и сообщество

Целью проекта является наиболее безопасный с точки зрения конфиденциальности вариант И у него динамичная дорожная карта. Они стремятся к политике нулевого дефекта и поэтому не устанавливают чётких сроков выпуска новых функций: темпы также зависят от финансирования и поддержки сообщества. Если вам это подходит, членство ускорит разработку того, что вас больше всего интересует.
Чтобы разрешить любые сомнения, у вас есть Обсуждения на GitHub и в чате сообществаУчастники уровней Silver, Gold и Platinum также могут обратиться в службу технической поддержки. Прежде чем создавать отчёт об ошибке, проверьте контрольные списки устранения неполадок; часто проблема связана с локальной конфигурацией и может быть быстро решена.
В обновлениях вы можете автоматизировать с помощью сторожевая башня Если вас это устраивает, отлично. В противном случае лучше использовать процесс «извлечения, остановки и обновления» после выхода стабильной версии. В серьёзных средах используйте исправленные версии и избегайте использования последних, как в PhotoPrism, так и в MariaDB, чтобы обеспечить контролируемые обновления.
Если вас беспокоят карты и обратное геокодирование, PhotoPrism и MapTiler Эти сервисы обеспечивают очень высокий уровень конфиденциальности. Их использование покрывается проектом, а кэширование повышает производительность и предотвращает чрезмерное раскрытие ваших запросов.
Наконец, помните очевидное, но важное: Создание резервных копий не является обязательнымЕсли вы управляете семейными воспоминаниями или материалами клиентов, ответственность лежит на вас. Создавайте резервные копии базы данных, хранилища и, самое главное, исходных файлов как минимум в двух разных местах. Избегайте использования дешёвых USB-накопителей и медленных сетевых папок для хранения базы данных.
На данном этапе, Фотопризма Он заслужил эту должность Надёжное решение для создания собственного локального Google Photos: ИИ для сортировки, скорость SSD, дополнительные функции для сохранения оригиналов и продуманный PWA. Если вы цените удовольствие от каталогизации, вас могут привлечь альтернативы вроде Immich с их интерфейсом; если же вам нравится тщательная организация, PhotoPrism — это то, что вам нужно. Какими бы ни были ваши потребности, с хорошей настройкой Docker Compose, достаточным пространством подкачки, HTTPS для доступа в Интернет и резервным копированием вы получите надёжную систему на долгие годы.
Увлекся технологиями с самого детства. Мне нравится быть в курсе событий в отрасли и, прежде всего, сообщать о них. Вот почему я уже много лет занимаюсь общением на веб-сайтах, посвященных технологиям и видеоиграм. Вы можете найти меня пишу об Android, Windows, MacOS, iOS, Nintendo или любой другой связанной теме, которая приходит на ум.