- PhotoPrism використовує штучний інтелект для локального впорядкування ваших фотографій за допомогою тегів, місць та розширеного пошуку.
- Чіткі вимоги: 2-ядерний процесор, 3 ГБ оперативної пам'яті, SSD для бази даних та кешів, а також великий обсяг підкачки.
- Легке встановлення за допомогою Docker, монтування оригіналів, зберігання та, за бажанням, імпорт папки.
- Конфіденційність понад усе: розгортайте за HTTPS за допомогою Traefik/Caddy, якщо ви підключені до Інтернету, та регулярно створюйте резервні копії.
¿Як використовувати PhotoPrism як приватну галерею на базі штучного інтелекту локально? Контролюйте свою фотобібліотекуБез залежності від публічної хмари це вже не мрія: за допомогою PhotoPrism ви можете створити приватну фотогалерею на базі штучного інтелекту на власному комп’ютері або сервері та переглядати спогади за роки, не ставлячи під загрозу свою конфіденційність. Ось детальне та практичне пояснення того, як це працює, що вам потрібно та як налаштувати це локально за допомогою Docker.
Для багатьох Google Фото надзвичайно зручний, але натомість за цю зручність виникають обґрунтовані сумніви щодо використання даних. Якщо ви турбуєтеся про конфіденційність Або якщо вам потрібно дотримуватися таких правил, як 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. Важлива порада: уникайте використання тегу «latest» в образі 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 up -dПерша ініціалізація завантажує зображення та створює базу даних; дайте цьому кілька хвилин. Потім починається індексація з docker compose exec photoprism photoprism індексБуде оновлено в майбутньому: docker compose pull photoprism, зупинка написання докера фотопризма y docker compose up -d –no-deps photoprism.
Облікові дані за замовчуванням: ім'я користувача admin та пароль, які ви визначаєте у змінних середовища. Не забудьте змінити слабкі паролі щойно ви вперше ввійдете в систему. Якщо ви збираєтеся імпортувати багато матеріалу, варто вимкнути функції машинного навчання під час початкового індексування, а потім увімкнути їх пізніше.
Безпечний доступ, локальні домени та зворотний проксі-сервер
Якщо ви збираєтеся розкрити сервіс за межами вашої мережі, Завжди ставте це після HTTPS за допомогою зворотного проксі-сервера, такого як Traefik або Caddy. Без TLS усі дані передаються у звичайному тексті та можуть бути перехоплені. Збереження конфіденційності є частиною плану: використовуйте дійсні сертифікати та перенаправляйте HTTP на HTTPS.
Щоб отримати локальний доступ за допомогою домену, такого як photoprism.localhost, без порту, у вас є два варіанти: зіставити стандартний порт на хості (наприклад, 80:2342, лише для локального використання) або налаштуйте Traefik для прослуховування на 80 та маршрутизації до служби на 2342. Переконайтеся, що мітки контейнера містять маршрутизатор, точку входу та внутрішній порт служби. Типовим шаблоном роботи з Traefik буде визначення правила хоста, веб-точки входу та вказівка порту служби на 2342.
Ще один ключовий момент – це брандмауер: дозволяє вхідні з'єднання до портів, які ви використовуєте (web та 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 Takeout неймовірно простий за допомогою таких інструментів, як Immich-Go. З недоліків – обмежений додаток для Android TV; для телевізійних сеансів краще використовувати браузер на ноутбуці.
У сфері пакетів програмного забезпечення для підвищення продуктивності, Nextcloud Photos та плагін Memories Вони пропонують непоганий варіант, якщо ви вже користуєтеся Nextcloud. Додаток Recognize забезпечує розпізнавання обличчя, а Imaginary та Preview Generator пришвидшують попередній перегляд. Інтерфейс функціональний, хоча швидкі дії, такі як позначення обраного, не такі миттєві, як в інших варіантах.
ФотоСтруктура Він пропонує інший підхід, з головним екраном, який відображає випадкову добірку фотографій, щоб допомогти вам знову відкрити свій архів. Він швидкий та сучасний, але його режим Plus розблоковує такі функції, як обране та розпізнавання облич, що може відлякати тих, хто шукає все безкоштовне та локальне.
Piwigo, Photoview, Lychee або Photonix Вони охоплюють різноманітні сценарії: прості галереї, базове розпізнавання або організацію за тегами. Якщо вашим пріоритетом є часова шкала та швидкі комбінації клавіш, вони можуть бути недостатніми. LibrePhotos виглядає дуже перспективно на папері, але його реалізація може бути більш ручною, і він не завжди працює гладко на скромних комп'ютерах.
Вгору 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У ключі volumes використовуйте формат host_path:container_path. Наприклад, ~/Pictures:/photoprism/originals. Перевірте дозволи користувача, який запускає контейнер; за необхідності використовуйте змінні PHOTOPRISM_UID та PHOTOPRISM_GID або директиву user для узгодження дозволів.
Нам потрібен Traefik чи Caddy? Робіть це, лише якщо вам потрібен автоматичний TLS, чисті домени та шляхи, або якщо ви надаєте сервіс доступу до Інтернету. Локально достатньо зіставлення порту 2342. Якщо ви використовуєте Traefik, визначте хост, точку входу в веб-ресурси та внутрішній порт 2342 для сервісу; таким чином ви зможете отримати до нього доступ за допомогою photoprism.localhost без додавання :2342.
Підтримка, оновлення та спільнота

Проект має на меті бути найбезпечніший для конфіденційності варіант І в нього динамічний план дій. Вони прагнуть політики нульового рівня дефектів, тому не встановлюють чітких дат для нових функцій: темпи також залежать від фінансування та підтримки спільноти. Якщо це вам підходить, членство пришвидшує розвиток того, що вас найбільше цікавить.
Щоб розвіяти будь-які сумніви, вам потрібно Обговорення на GitHub та в чаті спільнотиУчасники зі статусом «Срібний», «Золотий» та «Платиновий» також можуть звернутися до служби технічної підтримки. Перш ніж відкривати звіт про помилку, перевірте контрольні списки усунення несправностей; часто проблема пов’язана з локальною конфігурацією та може бути швидко вирішена.
В оновленнях ви можете автоматизувати за допомогою Вартова башта Якщо вас це влаштовує, добре; в іншому випадку краще використовувати процес "витягни, зупини та онови", коли виходить стабільна версія. У серйозних середовищах використовуйте фіксовані версії та уникайте використання останньої версії, як у PhotoPrism, так і в MariaDB, щоб забезпечити контрольовані оновлення.
Якщо вас турбують карти та зворотне геокодування, PhotoPrism та MapTiler Ці сервіси пропонують дуже високий рівень конфіденційності. Їх використання охоплюється проектом, з кешуванням для покращення продуктивності та запобігання надмірному впливу ваших запитів.
Зрештою, пам’ятайте очевидне, але важливе: Створення резервних копій не є необов'язковимЯкщо ви керуєте сімейними спогадами або клієнтськими матеріалами, відповідальність лежить на вас. Зробіть резервні копії бази даних, сховища та, найголовніше, оригінальних файлів щонайменше у двох різних місцях. Уникайте використання дешевих USB-накопичувачів або повільних мережевих папок для бази даних.
На цій стадії, Фотопризма Він заслужив посаду Як надійне рішення для створення власних локальних фотографій у Google Фото: штучний інтелект для сортування, швидкість SSD, додаткові компоненти для збереження оригіналів та відшліфована PWA. Якщо ви надаєте перевагу розвазі над каталогізацією, вас можуть зацікавити такі альтернативи, як Immich, завдяки їхньому інтерфейсу; якщо ж вам подобається ретельна організація, PhotoPrism – це саме те, що вам потрібно. Якими б не були ваші потреби, з гарним налаштуванням Docker Compose, достатнім простором для підкачки, HTTPS для доступу до Інтернету та резервними копіями ви матимете надійну систему, налаштовану на довгі роки.
Захоплювався технікою з дитинства. Я люблю бути в курсі подій у секторі та, перш за все, повідомляти про це. Ось чому я вже багато років присвячую комунікації на веб-сайтах технологій і відеоігор. Ви можете знайти, як я пишу про Android, Windows, MacOS, iOS, Nintendo або будь-яку іншу пов’язану тему, яка спадає вам на думку.