Русский
Начать

← Все шаблоны · Медиа

Задеплойте PhotoPrism в один клик

Фотобиблиотека с ИИ: просмотр, поиск, карта и общий доступ к вашим фото и видео

Альтернатива Google Photos и Apple Photos на вашей машине.

Что такое PhotoPrism?

PhotoPrism — веб-приложение для библиотеки фото и видео. Он считывает у каждого файла дату, камеру и место съемки, ставит метки по тому, что изображено на снимке, находит лица и группирует их по людям, а также замечает дубликаты. Библиотеку можно открыть через поиск, альбомы, моменты, календарь, карту мира с местами съемки, людей, метки и папки, а принимает она RAW-файлы, видео и Live Photos. На телефон PhotoPrism ставится как прогрессивное веб-приложение и отдает оригиналы по WebDAV, так что приложения вроде PhotoSync сами загружают фотопленку телефона.

PhotoPrism хостят у себя, чтобы не держать фото в Google Photos и iCloud. Этот шаблон запускает бесплатную редакцию Community с MariaDB, хранит фото и миниатюры в томах и создает администратора по данным из полей еще до того, как PhotoPrism начнет кому-либо отвечать. Подвох: новые аккаунты пользователей добавляются из командной строки, потому что экран управления пользователями, дополнительные роли и 3D-карты входят в платные подписки, а нативных приложений для телефона нет.

Хостинг PhotoPrism на Pethost

  1. Вы входите в Pethost — с passkey, через GitHub или Google. Машины еще нет? Вы выбираете тариф, и ссылка ждет, пока машина не будет готова.
  2. Окно «Новый проект» открывается на приложении PhotoPrism. Вы заполняете то, что оно просит, и нажимаете «Создать проект»: Имя пользователя, Пароль администратора.
  3. Через минуту-две PhotoPrism работает по своему адресу с HTTPS. Секреты создаются случайно, а данные попадают в ночной бэкап.
  4. Это проект как любой другой: вы или ваш агент можете его изменить, откатить или восстановить.

Вопросы про PhotoPrism

PhotoPrism бесплатный?

Да. Редакция Community распространяется с открытым кодом под лицензией AGPL-3.0 и бесплатна. Подписка Essentials — от 2 € в месяц при оплате за год — добавляет больше ролей пользователей и улучшенные карты, а Plus — от 6 € в месяц — экран управления пользователями.

PhotoPrism или Immich?

Оба — self-hosted фотобиблиотеки с распознаванием лиц и картами. У Immich есть нативные приложения, которые делают бэкап телефона, а PhotoPrism — веб-приложение, с которым телефоны синхронизируются по WebDAV.

Распознает ли PhotoPrism лица?

Да. Во время индексации он находит лица и группирует лица одного человека, а когда вы даете группе имя в разделе «Люди», находит этого человека в остальной библиотеке.

Как загрузить фото с телефона в PhotoPrism?

Откройте его в браузере телефона и загрузите фото или синхронизируйте их по WebDAV приложением вроде PhotoSync, с адресом и аккаунтом, которые показаны в разделе «Настройки» → «Учетная запись» → «Соединиться через WebDAV».

Как добавить пользователей в PhotoPrism?

В редакции Community — из командной строки: photoprism users add с именем пользователя, ролью и паролем, в шелле сервиса photoprism. Экран управления пользователями входит в платную подписку Plus.

Сколько памяти и диска нужно PhotoPrism?

PhotoPrism в простое занимает около 300 MB памяти вместе с MariaDB и около 550 MB во время импорта; на диске фото занимают столько, сколько весят, плюс миниатюры. На Pethost ему хватит тарифа Starter, и рядом останется место для других приложений.

PhotoPrism: файл Docker Compose

Шаблон — это этот compose.yaml и переменные, которые пишутся в .env проекта при его создании. Pethost запускает файл так, как он написан.

Контейнеры: photoprism (photoprism/photoprism:261007), mariadb (mariadb:11.8).

Тома, в ночном бэкапе: originals, storage, db.

services:
  photoprism:
    image: photoprism/photoprism:261007
    restart: unless-stopped
    stop_grace_period: 15s
    working_dir: /photoprism
    environment:
      PHOTOPRISM_SITE_URL: ${URL}/
      # The administrator is made from these at the first start, before PhotoPrism answers anyone;
      # every page and photo asks to sign in. Later the password is changed in PhotoPrism.
      PHOTOPRISM_AUTH_MODE: password
      PHOTOPRISM_ADMIN_USER: ${ADMIN_USERNAME}
      PHOTOPRISM_ADMIN_PASSWORD: ${ADMIN_PASSWORD}
      # The proxy serves HTTPS; requests come from it over the project's network.
      PHOTOPRISM_DISABLE_TLS: "true"
      PHOTOPRISM_DEFAULT_TLS: "false"
      PHOTOPRISM_TRUSTED_PROXY: 10.0.0.0/8,172.16.0.0/12,192.168.0.0/16
      PHOTOPRISM_DATABASE_DRIVER: mysql
      PHOTOPRISM_DATABASE_SERVER: mariadb:3306
      PHOTOPRISM_DATABASE_NAME: photoprism
      PHOTOPRISM_DATABASE_USER: photoprism
      PHOTOPRISM_DATABASE_PASSWORD: ${MARIADB_PASSWORD}
      PHOTOPRISM_SIDECAR_YAML: "true"
      PHOTOPRISM_BACKUP_ALBUMS: "true"
      PHOTOPRISM_BACKUP_DATABASE: "true"
      PHOTOPRISM_BACKUP_SCHEDULE: daily
      PHOTOPRISM_UPLOAD_NSFW: "true"
    volumes:
      # The photos and videos as they were uploaded.
      - originals:/photoprism/originals
      # The index's thumbnails, sidecar files and backups.
      - storage:/photoprism/storage
    depends_on:
      mariadb:
        condition: service_healthy

  mariadb:
    image: mariadb:11.8
    restart: unless-stopped
    stop_grace_period: 15s
    command: --innodb-buffer-pool-size=256M --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: ${MARIADB_PASSWORD}
      MARIADB_ROOT_PASSWORD: ${MARIADB_ROOT_PASSWORD}
    volumes:
      - db:/var/lib/mysql
    healthcheck:
      test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
      interval: 5s
      timeout: 5s
      retries: 10
      start_period: 30s

volumes:
  originals:
  storage:
  db:

Еще в категории «Медиа»