---
title: "PhotoPrism: Docker Compose и хостинг в один клик"
description: "Self-hosted PhotoPrism — фотобиблиотека с ИИ: сортирует, размечает и показывает на карте ваши фото и видео. Альтернатива Google Photos в один клик."
---

[← Все шаблоны](https://pethost.dev/ru/templates/) · [Медиа](https://pethost.dev/ru/templates/media/)

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

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

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

[Задеплоить на Pethost](https://console.pethost.dev/?template=photoprism)

## Что такое 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:
```

[compose.yaml](https://pethost.dev/templates/photoprism/compose.yaml)[Открыть на GitHub](https://github.com/pethost-dev/templates/tree/main/photoprism)

## [Еще в категории «Медиа»](https://pethost.dev/ru/templates/media/)

- [**Owncast**Прямые трансляции и чат на собственной странице](https://pethost.dev/ru/templates/owncast/)
- [**Navidrome**Музыкальный сервер, который стримит вашу собственную коллекцию](https://pethost.dev/ru/templates/navidrome/)
- [**RomM**Библиотека и плеер в браузере для ваших ретро-игр](https://pethost.dev/ru/templates/romm/)
- [**Komga**Сервер и веб-читалка для ваших комиксов, манги и электронных книг](https://pethost.dev/ru/templates/komga/)
- [**Lychee**Фотогалерея, чтобы загружать, упорядочивать и показывать ваши фото](https://pethost.dev/ru/templates/lychee/)
- [**Audiobookshelf**Собственный сервер аудиокниг и подкастов: слушайте в браузере или приложениях, прогресс сохраняется на всех устройствах](https://pethost.dev/ru/templates/audiobookshelf/)

Pethost · Stephan Gomer · NIP 1133096755

Pethost

- [Шаблоны](https://pethost.dev/ru/templates/)
- [О нас](https://pethost.dev/about/)
- [Документация](https://pethost.dev/docs/)
- [Блог](https://pethost.dev/ru/blog/)
- [API](https://pethost.dev/docs/api/)
- [CLI](https://pethost.dev/docs/cli/)
- [Плагин](https://github.com/pethost-dev/plugin)
- [Условия](https://pethost.dev/terms/)
- [Конфиденциальность](https://pethost.dev/privacy/)
- [Возвраты](https://pethost.dev/refunds/)
- [support@pethost.dev](mailto:support@pethost.dev)

Базы данных

- [Postgres](https://pethost.dev/ru/postgres/)

Сравнения

- [Coolify vs Dokploy vs CapRover vs Dokku](https://pethost.dev/ru/blog/coolify-vs-dokploy-vs-caprover-vs-dokku/)
- [Coolify Cloud vs Dokploy Cloud](https://pethost.dev/ru/blog/coolify-cloud-vs-dokploy-cloud/)
- [Цены Railway, Render и Fly.io](https://pethost.dev/ru/blog/railway-vs-render-vs-fly-io-pricing/)
- [Управляемый хостинг Docker Compose](https://pethost.dev/ru/blog/managed-docker-compose-hosting/)

Альтернативы

- [Альтернативы Railway](https://pethost.dev/ru/blog/railway-alternatives/)
- [Альтернативы Heroku](https://pethost.dev/ru/blog/heroku-alternatives/)
- [Альтернативы Dokploy](https://pethost.dev/ru/blog/dokploy-alternatives/)
- [Альтернативы Coolify](https://pethost.dev/ru/blog/coolify-alternatives/)
- [Альтернативы Render](https://pethost.dev/ru/blog/render-alternatives/)
- [Альтернативы Sliplane](https://pethost.dev/ru/blog/sliplane-alternatives/)
