- PhotoPrism wykorzystuje sztuczną inteligencję do lokalnego organizowania zdjęć za pomocą tagów, miejsc i zaawansowanego wyszukiwania.
- Jasne wymagania: dwurdzeniowy procesor, 3 GB pamięci RAM, dysk SSD do obsługi baz danych i pamięci podręcznej oraz duża przestrzeń wymiany.
- Łatwa instalacja z Dockerem, montowanie oryginałów, przechowywanie i, jeśli chcesz, importowanie folderu.
- Przede wszystkim prywatność: wdrażaj za pomocą protokołu HTTPS z systemem Traefik/Caddy, jeśli masz dostęp do Internetu i regularnie wykonujesz kopie zapasowe.
¿Jak używać PhotoPrism jako prywatnej, lokalnej galerii obsługiwanej przez sztuczną inteligencję? Kontroluj swoją bibliotekę zdjęćBez korzystania z chmury publicznej to już nie marzenie: dzięki PhotoPrism możesz stworzyć prywatną, opartą na sztucznej inteligencji galerię zdjęć na swoim komputerze lub serwerze i przeglądać wspomnienia z lat bez naruszania swojej prywatności. Oto szczegółowe i praktyczne wyjaśnienie, jak to działa, czego potrzebujesz i jak skonfigurować to lokalnie z Dockerem.
Dla wielu użytkowników aplikacja Google Photos jest niezwykle wygodna, ale w zamian za tę wygodę pojawiają się uzasadnione wątpliwości co do wykorzystania danych. Jeśli martwisz się o prywatność Jeśli w kontekście zawodowym musisz przestrzegać przepisów, takich jak RODO, PhotoPrism stanowi potężną alternatywę: automatyczna organizacja, tagi oparte na sztucznej inteligencji, zaawansowane wyszukiwanie i przepływ pracy zaprojektowany dla dużych kolekcji, a wszystko to w ramach istniejącej infrastruktury.
Czym jest PhotoPrism i dlaczego warto go używać lokalnie

PhotoPrism to aplikacja internetowa Zarządzanie zdjęciami oparte na sztucznej inteligencji (z Google TensorFlow do klasyfikacji), które rozpoznaje osoby, obiekty, kolory i sceny, aby oznaczać i porządkować bibliotekę. Rozwiązanie zostało stworzone jako rozwiązanie hostowane samodzielnie, dzięki czemu możesz przechowywać zdjęcia i filmy w domu lub na własnym serwerze, zachowując prywatność bez rezygnowania z nowoczesnych funkcji.
W jego DNA można znaleźć kilka wskazówek: zgodność z formatami RAW i klasycznymi takich jak JPEG lub PNG; inteligentne indeksowanie z wykrywaniem duplikatów; nawigacja według osi czasu, lokalizacji i tagów; oraz wyszukiwarka, która pozwala łączyć filtry według aparatu, koloru, daty, kraju, a nawet oznaczać elementy jako ulubione. Wszystko działa na Twoim komputerze, z lokalną pamięcią podręczną i bez konieczności korzystania z analiz zewnętrznych.
Interfejs jest aplikacją PWA, więc jest instalowany na ekranie głównym komputera i urządzenia mobilnego. Działa szczególnie dobrze w przeglądarkach Chrome, Chromium, Safari, Firefox i EdgeNależy pamiętać, że odtwarzanie niektórych kodeków wideo i audio (np. AAC w standardzie H.264) może się różnić w zależności od przeglądarki, co jest normalne w przypadku współczesnych sieci WWW.
Kolejnym czynnikiem wyróżniającym jest integracja z WebDAV i usługami zewnętrznymi: Możesz synchronizować dane z urządzeń mobilnych za pomocą aplikacji takich jak PhotoSynca także wyświetla galerię z linkami chronionymi hasłem, które tracą ważność. Dodatkowo, jeśli potrzebujesz map i danych o lokalizacji, PhotoPrism korzysta z usługi odwrotnego geokodowania i map o wysokiej prywatności obsługiwanych przez MapTiler; zasoby te zostały zaprojektowane tak, aby zminimalizować ryzyko i poprawić wydajność buforowania. Aby dowiedzieć się więcej, dołączyliśmy ten przewodnik. Zorganizuj swoje zdjęcia za pomocą sztucznej inteligencji bez przechowywania danych w chmurze: PhotoPrism i lokalne alternatywy.
Wymagania, sprzęt i wydajność
Do płynnego lokalnego użytkowania Zalecane są co najmniej dwa rdzenie procesora, 3 GB pamięci RAM i system 64-bitowy. Powyżej minimum, zaleca się dopasowanie pamięci RAM do liczby rdzeni, a w przypadku dużych bibliotek użycie lokalnego dysku SSD dla bazy danych i pamięci podręcznej. Indeksowanie jest intensywne; z dyskiem SSD i dobrym systemem wymiany danych, wydajność znacznie się poprawia.
Jeżeli Twój serwer ma mniej niż 4 GB pamięci wymiany lub ustawiłeś bardzo agresywne limity pamięci/pamięci wymiany, Mogą wystąpić nieoczekiwane ponowne uruchomienia Gdy indeksator potrzebuje więcej zasobów (jest to częste zjawisko w przypadku dużych plików RAW, panoram 360 lub filmów 4K), włącz lub zwiększ przestrzeń wymiany i bądź cierpliwy: w przypadku wielu zdjęć początkowe indeksowanie może potrwać kilka dni.
Jeśli chodzi o bazę danych, PhotoPrism obsługuje SQLite 3 i MariaDB 10.5.12 i nowsze wersjeSQLite jest łatwy na początek, ale jeśli zależy Ci na wydajności i skalowalności, MariaDB będzie lepszym wyborem. Wsparcie dla MySQL 8 zostało wycofane z powodu niskiego popytu i braku funkcji w porównaniu z MariaDB. Ważna wskazówka: unikaj używania tagu „latest” w obrazie MariaDB; trzymaj się stabilnych wersji, które zostały dokładnie przetestowane.
Jeśli chodzi o platformy, aplikacja jest wdrażana wszędzie tam, gdzie dostępny jest Docker: Linux, macOS i Windows z Docker DesktopOprócz FreeBSD, Raspberry Pi i wielu urządzeń NAS, dostępne są też opcje chmurowe, takie jak PikaPods lub DigitalOcean, choć tutaj skupimy się na lokalnych rozwiązaniach zapewniających prywatność i kontrolę.
Instalacja Dockera krok po kroku
Jeśli nigdy nie korzystałeś z DockeraBez obaw: wdrożenie za pomocą Docker Compose jest proste. Plik YAML można umieścić w dowolnym wybranym folderze; najpierw utwórz katalog dla PhotoPrism i zapisz w nim plik docker-compose.yml. Ważne jest, aby jasno zdefiniować woluminy dla oryginałów, pamięci masowej i, w razie potrzeby, importu.
Oto trzy typowe konfiguracje: oryginały (tylko do odczytu lub do odczytu i zapisu), pamięć masowa (pamięć podręczna, baza danych i sidecary) oraz import (Opcjonalnie). Możesz wskazać oryginałom folder, w którym już masz swoje zdjęcia. Moja rada: oddziel miejsce przechowywania od zdjęć, aby nie mieszać bazy danych i pamięci podręcznej z oryginałami.
Podstawowy przykład docker-compose z MariaDB i PhotoPrism (możesz dostosować do swojego środowiska):
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'
Gdy plik jest już gotowy, otwórz terminal w tym folderze i uruchom: docker-compose up -dPierwsza inicjalizacja pobiera obrazy i tworzy bazę danych; odczekaj kilka minut. Następnie rozpoczyna się indeksowanie. docker compose exec photoprism photoprism indexDo aktualizacji w przyszłości: docker compose pull fotopryzmat, docker compose stop photoprism y docker compose up -d –no-deps photoprism.
Domyślne dane logowania: nazwa użytkownika admin i hasło zdefiniowane w zmiennych środowiskowych. Pamiętaj o zmianie słabych haseł zaraz po pierwszym zalogowaniu. Jeśli zamierzasz zaimportować dużo materiałów, warto wyłączyć funkcje ML podczas początkowego indeksowania, a następnie włączyć je później.
Bezpieczny dostęp, domeny lokalne i odwrotny serwer proxy
Jeśli zamierzasz udostępnić usługę poza swoją siecią, Zawsze umieszczaj to po HTTPS z odwrotnym serwerem proxy, takim jak Traefik lub Caddy. Bez TLS wszystko przesyłane jest zwykłym tekstem i może zostać przechwycone. Zachowanie prywatności jest częścią planu: używaj ważnych certyfikatów i przekierowuj HTTP na HTTPS.
Aby uzyskać dostęp lokalny za pomocą domeny takiej jak photoprism.localhost bez portu, masz dwie opcje: mapować standardowy port na hoście (na przykład 80:2342, tylko do użytku lokalnego) lub skonfiguruj Traefik tak, aby nasłuchiwał na porcie 80 i kierował do usługi na adres 2342. Upewnij się, że etykiety kontenera zawierają router, punkt wejścia i wewnętrzny port usługi. Typowy schemat działania Traefika polega na zdefiniowaniu reguły hosta, punktu wejścia sieci i skierowaniu portu usługi na adres 2342.
Kolejnym kluczowym punktem jest zapora sieciowa: zezwala na połączenia przychodzące do używanych portów (web i https) oraz w razie potrzeby do API geokodowania i Dockera. Jeśli zablokujesz te połączenia wychodzące, mapy i miejsca nie będą działać poprawnie.
Organizacja, sztuczna inteligencja i funkcje, które robią różnicę
PhotoPrism współpracuje z potężnym katalogiem i narzędziami pomocniczymi; Możesz zapisywać metadane w formatach JSON i YAML Oprócz oryginałów, więc nie zależy to wyłącznie od bazy danych. Klasyfikacja za pomocą TensorFlow (twarze, obiekty, sceny i treści NSFW) przyspiesza wyszukiwanie, a decyzja o oznaczeniu wrażliwych zdjęć jako prywatnych jest tak prosta, jak włączenie odpowiedniego ustawienia.
Aby zachować wydajność, możesz dostosować jakość i rozmiar miniatur, kodeki wideo, limity szybkości transmisji danych i zmianę skali. FFmpeg jest konfigurowany za pomocą zmiennych Jeśli Twój sprzęt to obsługuje, możesz delegować transkodowanie do Intel QSV, Nvidia, Apple lub VAAPI w celu przyspieszenia transkodowania. Wystarczy kilka kliknięć, aby przejść z podstawowego procesu do dostosowanego do Twojego systemu.
Nawigacja jest elastyczna: oś czasu, albumy, tagi, ulubione i miejsca. Panel wyszukiwania zaawansowanego Umożliwia filtrowanie według aparatu, dat, krajów, kolorów lub osób. Jeśli korzystasz z chaotycznych bibliotek, wykrywanie duplikatów i normalizacja metadanych pomogą Ci bezproblemowo uporządkować dane.
Na urządzeniach mobilnych nie ma oficjalnej aplikacji, ale można użyć PWA lub zsynchronizować dane z WebDAV, korzystając z aplikacji takich jak PhotoSync. PWA jest bardzo praktycznaInstaluje się jak natywna aplikacja, dzięki czemu nie musisz za każdym razem korzystać z przeglądarki. Jednak możliwości Android TV i Google TV są ograniczone, podobnie jak w przypadku większości rozwiązań w tym sektorze; najpewniejszą opcją pozostaje korzystanie z przeglądarki na laptopie podłączonym do telewizora, jeśli chcesz wygodnie przeglądać zdjęcia z rodziną.
Kto odniesie największe korzyści z PhotoPrism
Profesjonalni fotografowie Dzięki tysiącom plików RAW znajdziesz potężnego sojusznika: indeksowanie, wyszukiwanie według obiektywu lub aparatu, wykrywanie duplikatów i funkcje sidecar, aby uniknąć modyfikacji oryginału. Kontrola, tagowanie i konsolidacja kolekcji oszczędza godziny pracy w perspektywie średnioterminowej.
do graficy i kreatywniKolorowe etykiety i znaczniki obiektów pomagają szybko znaleźć wizualną inspirację. Przeglądanie momentów i korzystanie z osi czasu pozwala na przywoływanie pomysłów i materiałów bez tracenia z nimi kontaktu.
W sektorze nieruchomości, agenci nieruchomości Mogą kategoryzować nieruchomości według lokalizacji, daty lub tagów oraz udostępniać albumy z chronionymi linkami, które tracą ważność. Prywatność jest tutaj kluczowa, a kontrola nad serwerem to dodatkowy atut.
Zespoły ds. marketingu cyfrowego Doceniają uporządkowaną bibliotekę zasobów z filtrami dla kampanii, dat i krajów. Obsługa wielu użytkowników i korzystanie z sidecarów ułatwiają unikanie błędów w oryginale i udostępnianie wewnętrznych kolekcji bez ich udostępniania na zewnątrz.
do podróżnicy, archiwiści cyfrowi i programiściZalety obejmują interaktywne mapy, a także możliwość integracji galerii z innymi usługami za pośrednictwem WebDAV. Jeśli dodatkowo zależy Ci na zgodności, przechowywanie danych we własnej infrastrukturze pomoże Ci w przestrzeganiu RODO i wewnętrznych zasad.
Popularne alternatywy i jak się do nich dopasować
Immich mocno uderzaAplikacja bardzo przypomina Google Photos, z płynną osią czasu, ulubionymi po kluczach, synchronizacją z urządzeniami mobilnymi i wyszukiwaniem semantycznym według pojęć lub kolorów. Importowanie z Google Takeout jest niezwykle proste dzięki narzędziom takim jak Immich-Go. Wadą jest ograniczona aplikacja Android TV; do oglądania telewizji lepiej sprawdzi się przeglądarka na laptopie.
W dziedzinie pakietów zwiększających produktywność, Wtyczka Nextcloud Photos and Memories Oferują solidną opcję, jeśli już korzystasz z NextCloud. Aplikacja Recognize umożliwia rozpoznawanie twarzy, a Imaginary i Preview Generator przyspieszają podgląd. Interfejs jest funkcjonalny, choć szybkie akcje, takie jak oznaczanie ulubionych, nie są tak natychmiastowe, jak w innych opcjach.
PhotoStructure Oferuje inne podejście – ekran główny wyświetla losowy wybór zdjęć, pomagając na nowo odkryć archiwum. Jest szybki i nowoczesny, ale tryb Plus odblokowuje funkcje takie jak ulubione i rozpoznawanie twarzy, co może odstraszyć osoby szukające wszystkiego, co darmowe i lokalne.
Piwigo, Photoview, Lychee lub Photonix Obejmują one różne scenariusze: proste galerie, podstawowe rozpoznawanie lub organizację według tagów. Jeśli priorytetem jest oś czasu i szybkie skróty, mogą okazać się niewystarczające. LibrePhotos wygląda obiecująco na papierze, ale jego wdrożenie może być bardziej ręczne i nie zawsze działa płynnie na słabszych komputerach.
Pacjent Plex uruchomił aplikację Plex Photos Plex, obecnie w fazie beta dla systemów iOS, Android i przeglądarek internetowych, to interesująca opcja dla użytkowników Plex, choć brakuje w niej dopracowanej, natywnej aplikacji na Android TV. Ente z kolei udostępnił swój kod źródłowy i oferuje kompleksowe szyfrowanie; wygląda to bardzo obiecująco, nawet w przypadku komputerów stacjonarnych, choć jego samodzielne hostowanie wymaga pewnej wiedzy technicznej.
Często zadawane pytania dla początkujących użytkowników Dockera
Gdzie umieścić plik YAML?W dowolnym folderze. Ważne jest, aby uruchomić polecenia Docker Compose z tego katalogu, aby odczytać poprawny plik YAML. Zachowaj plik docker-compose.yml i podfoldery, takie jak storage, database i import, razem, aby mieć wszystko pod ręką.
Czy powinienem zamontować obecny folder ze zdjęciami? Tak, zmapuj folder ze zdjęciami do /photoprism/originals. Jeśli nie chcesz udzielać uprawnień do zapisu, możesz zamontować go tylko do odczytu, ale stracisz możliwość edycji metadanych na miejscu; PhotoPrism unika również modyfikowania oryginalnych plików za pomocą sidecarów.
Gdzie trafiają baza danych i pamięć podręczna? Najlepiej przechowywać je poza folderem ze zdjęciami, w osobnej ścieżce, która jest mapowana na /photoprism/storage (oraz, jeśli używasz MariaDB, na ./database w kontenerze DBMS). W ten sposób nie mieszasz pamięci podręcznej i baz danych z oryginalnymi plikami.
Jak zamontować folder w DockerzeW kluczu volumes użyj formatu ścieżka_hosta:ścieżka_kontenera. Na przykład: ~/Pictures:/photoprism/originals. Sprawdź uprawnienia użytkownika uruchamiającego kontener; w razie potrzeby użyj zmiennych PHOTOPRISM_UID i PHOTOPRISM_GID lub dyrektywy użytkownika, aby wyrównać uprawnienia.
Czy potrzebujemy Traefika czy Caddy'ego? Zrób to tylko wtedy, gdy chcesz automatycznego TLS, czystych domen i ścieżek lub udostępniasz usługę w internecie. Lokalnie, mapowanie portu 2342 jest wystarczające. Jeśli używasz Traefik, zdefiniuj hosta, punkt wejścia do sieci i wewnętrzny port 2342 dla usługi; w ten sposób będziesz mógł uzyskać do niej dostęp za pomocą photoprism.localhost bez dodawania :2342.
Wsparcie, aktualizacje i społeczność

Celem projektu jest opcja najbardziej przyjazna dla prywatności Ma dynamiczny plan działania. Dąży do polityki zerowej liczby błędów, dlatego nie ustala sztywnych terminów wprowadzania nowych funkcji: tempo zależy również od finansowania i wsparcia społeczności. Jeśli Ci odpowiada, dołączenie do projektu przyspieszy rozwój tego, co Cię najbardziej interesuje.
Aby rozwiać wszelkie wątpliwości, należy: Dyskusje na GitHubie i czacie społecznościCzłonkowie o statusie Silver, Gold i Platinum mogą również skontaktować się z pomocą techniczną. Przed zgłoszeniem błędu należy sprawdzić listy kontrolne rozwiązywania problemów; często problem dotyczy lokalnej konfiguracji i można go szybko rozwiązać.
W aktualizacjach możesz zautomatyzować za pomocą Wieża strażnicza Jeśli Ci to odpowiada, w porządku; w przeciwnym razie lepiej zastosować proces „pull, stop i up” po wydaniu wersji stabilnej. W środowiskach o dużym ryzyku używaj wersji stałych i unikaj używania najnowszej wersji, zarówno w PhotoPrism, jak i MariaDB, aby zapewnić kontrolowane aktualizacje.
Jeśli martwisz się mapami i odwrotnym geokodowaniem, PhotoPrism i MapTiler Usługi te oferują bardzo wysoki poziom prywatności. Ich wykorzystanie jest objęte ochroną projektu, a buforowanie poprawia wydajność i zapobiega nadmiernemu narażeniu zapytań.
Na koniec pamiętaj o tym, co oczywiste, ale istotne: Tworzenie kopii zapasowych nie jest opcjonalneJeśli zarządzasz wspomnieniami rodzinnymi lub materiałami klientów, odpowiedzialność spoczywa na Tobie. Utwórz kopię zapasową bazy danych, pamięci masowej i, co najważniejsze, oryginalnych plików w co najmniej dwóch różnych lokalizacjach. Unikaj tanich dysków USB i powolnych folderów sieciowych dla swojej bazy danych.
Na tym etapie, ZdjęciePryzmat Zasłużył na to stanowisko Solidne rozwiązanie do posiadania własnej, lokalnej aplikacji Google Photos: sztuczna inteligencja do sortowania, szybki dysk SSD, aplikacje sidecar do przechowywania oryginałów i dopracowana aplikacja PWA. Jeśli cenisz sobie przyjemność korzystania z aplikacji bardziej niż katalogowanie, możesz zainteresować się alternatywami takimi jak Immich ze względu na ich interfejs; jeśli zależy Ci na dokładnej organizacji, PhotoPrism sprawdzi się znakomicie. Niezależnie od Twoich potrzeb, dzięki dobrej konfiguracji Docker Compose, wystarczającej przestrzeni wymiany, dostępowi do internetu przez HTTPS i kopiom zapasowym, będziesz mieć solidny system na lata.
Od najmłodszych lat pasjonat technologii. Uwielbiam być na bieżąco w branży i przede wszystkim ją komunikować. Dlatego od wielu lat zajmuję się komunikacją w serwisach poświęconych technologii i grom wideo. Możesz znaleźć mnie piszącego o Androidzie, Windowsie, MacOS, iOS, Nintendo lub jakimkolwiek innym pokrewnym temacie, który przyjdzie Ci do głowy.