Polski
Zacznij

← Wszystkie szablony · Multimedia

Wdróż PhotoPrism jednym kliknięciem

Biblioteka zdjęć z AI: przeglądaj, wyszukuj, oglądaj na mapie i udostępniaj swoje zdjęcia i filmy

Alternatywa dla Google Photos i Apple Photos, hostowana u siebie.

Czym jest PhotoPrism?

PhotoPrism to aplikacja webowa do biblioteki zdjęć i filmów. Odczytuje datę, aparat i miejsce każdego pliku, oznacza etykietami to, co widać na zdjęciu, znajduje twarze i grupuje je według osób oraz wykrywa duplikaty. Bibliotekę przegląda się przez wyszukiwanie, albumy, chwile, kalendarz, mapę świata z miejscami, ludzi, etykiety i foldery, a obsługuje ona pliki RAW, filmy i Live Photos. PhotoPrism instaluje się na telefonie jako progresywna aplikacja webowa i udostępnia oryginały przez WebDAV, więc aplikacje takie jak PhotoSync same wgrywają zdjęcia z aparatu telefonu.

Ludzie hostują PhotoPrism u siebie, żeby ich zdjęcia nie trafiały do Google Photos i iCloud. Ten szablon uruchamia darmową edycję Community z MariaDB, ze zdjęciami i miniaturami na wolumenach, i tworzy administratora z pól formularza, zanim PhotoPrism komukolwiek odpowie. Haczyk: kolejne konta użytkowników dodaje się z wiersza poleceń, bo ekran zarządzania użytkownikami, dodatkowe role i mapy 3D są w płatnych członkostwach, a natywnych aplikacji na telefon nie ma.

Hosting PhotoPrism na Pethost

  1. Logujesz się do Pethost kluczem dostępu, przez GitHub albo Google. Nie masz jeszcze maszyny? Wybierasz plan, a link czeka, aż będzie gotowa.
  2. Okno „Nowy projekt” otwiera się na aplikacji PhotoPrism. Wypełniasz to, o co prosi, i klikasz „Utwórz projekt”: Nazwa użytkownika, Hasło administratora.
  3. Za minutę czy dwie aplikacja PhotoPrism działa pod własnym adresem z HTTPS. Jej sekrety są tworzone losowo, a dane trafiają do nocnego backupu.
  4. To projekt jak każdy inny: ty albo twój agent możecie go zmienić, cofnąć do wcześniejszej wersji albo przywrócić.

Pytania o PhotoPrism

Czy PhotoPrism jest darmowy?

Tak. Edycja Community to open source na licencji AGPL-3.0 i jest darmowa. Członkostwo Essentials, od 2 € miesięcznie przy płatności rocznej, dodaje więcej ról użytkowników i lepsze mapy, a Plus, od 6 € miesięcznie, dodaje ekran zarządzania użytkownikami.

PhotoPrism czy Immich?

Oba to hostowane u siebie biblioteki zdjęć z rozpoznawaniem twarzy i mapami. Immich ma natywne aplikacje, które robią backup telefonu, a PhotoPrism to aplikacja webowa, z którą telefony synchronizują się przez WebDAV.

Czy PhotoPrism rozpoznaje twarze?

Tak. Podczas indeksowania wykrywa twarze, grupuje te należące do tej samej osoby, a gdy nadasz grupie imię w sekcji Ludzie, znajduje tę osobę w reszcie biblioteki.

Jak wgrać zdjęcia z telefonu do PhotoPrisma?

Otwórz go w przeglądarce telefonu i wgraj zdjęcia albo synchronizuj je przez WebDAV aplikacją taką jak PhotoSync, z adresem i kontem pokazanymi w oknie Ustawienia → Konto → Połącz przez WebDAV.

Jak dodać użytkowników do PhotoPrisma?

W edycji Community z wiersza poleceń: photoprism users add z nazwą użytkownika, rolą i hasłem, uruchomione w powłoce usługi photoprism. Ekran zarządzania użytkownikami jest częścią płatnego członkostwa Plus.

Ile pamięci i miejsca na dysku potrzebuje PhotoPrism?

PhotoPrism w spoczynku zajmuje razem z MariaDB około 300 MB pamięci, a podczas importu około 550 MB; na dysku zdjęcia zajmują tyle, ile ważą, plus miniatury. Na Pethost wystarczy mu plan Starter, z miejscem na inne aplikacje obok.

PhotoPrism: plik Docker Compose

Szablon to ten compose.yaml i zmienne zapisywane do .env projektu przy jego tworzeniu. Pethost uruchamia plik dokładnie tak, jak jest napisany.

Kontenery: photoprism (photoprism/photoprism:261007), mariadb (mariadb:11.8).

Wolumeny, w nocnym backupie: 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:

Więcej w kategorii Multimedia