Faça deploy de PhotoPrism em um clique
Uma biblioteca de fotos com IA: navegue, busque, veja no mapa e compartilhe suas fotos e vídeos
Uma alternativa auto-hospedada para Google Photos e Apple Photos.
O que é PhotoPrism?
O PhotoPrism é um app web para uma biblioteca de fotos e vídeos. Ele lê a data, a câmera e o local de cada arquivo, marca com etiquetas o que uma foto mostra, encontra rostos e os agrupa em pessoas, e detecta duplicatas. A biblioteca pode ser explorada por busca, álbuns, momentos, calendário, um mapa-múndi de lugares, pessoas, etiquetas e pastas, e aceita arquivos RAW, vídeos e Live Photos. Ele se instala no celular como progressive web app e serve os originais por WebDAV, então apps como o PhotoSync enviam sozinhos as fotos da câmera de um celular.
As pessoas auto-hospedam o PhotoPrism para manter as fotos fora do Google Photos e do iCloud. Este template roda a edição Community, gratuita, com MariaDB, as fotos e as miniaturas em volumes, e cria o administrador a partir dos campos antes de o PhotoPrism responder a qualquer pessoa. O porém: outras contas de usuário são adicionadas pela linha de comando, já que a tela de gerenciamento de usuários, mais papéis e os mapas 3D ficam nas assinaturas pagas, e não há apps nativos para celular.
Hospedagem de PhotoPrism no Pethost
- Você entra no Pethost com uma passkey, GitHub ou Google. Ainda não tem máquina? Você escolhe um plano, e o link espera até ela ficar pronta.
- Novo projeto abre em PhotoPrism. Você preenche o que ele pede e clica em Criar projeto: Usuário, Senha do administrador.
- Em um ou dois minutos PhotoPrism está no ar no próprio endereço com HTTPS. Os segredos são gerados ao acaso, e os dados vão para o backup noturno.
- É um projeto como qualquer outro: você ou seu agente podem alterá-lo, fazer rollback ou restaurá-lo.
Perguntas sobre PhotoPrism
O PhotoPrism é gratuito?
Sim. A edição Community é de código aberto sob a AGPL-3.0 e gratuita. A assinatura Essentials, a partir de € 2 por mês com cobrança anual, adiciona mais papéis de usuário e mapas melhores, e a Plus, a partir de € 6 por mês, adiciona uma tela de gerenciamento de usuários.
PhotoPrism ou Immich?
Os dois são bibliotecas de fotos auto-hospedadas com reconhecimento facial e mapas. O Immich vem com apps nativos que fazem backup do celular, enquanto o PhotoPrism é um app web com o qual os celulares sincronizam por WebDAV.
O PhotoPrism reconhece rostos?
Sim. Ele detecta rostos enquanto indexa, agrupa os da mesma pessoa e, depois que você dá nome a um grupo em “Pessoas”, encontra essa pessoa no resto da biblioteca.
Como envio fotos do celular para o PhotoPrism?
Abra-o no navegador do celular e envie, ou sincronize por WebDAV com um app como o PhotoSync, usando o endereço e a conta que aparecem em Configurações → Conta → Conectar via WebDAV.
Como adiciono usuários ao PhotoPrism?
Na edição Community, pela linha de comando: photoprism users add com um nome de usuário, um papel e uma senha, rodado no shell do serviço photoprism. A tela de gerenciamento de usuários faz parte da assinatura Plus, paga.
De quanta memória e disco PhotoPrism precisa?
O PhotoPrism usa cerca de 300 MB de memória com o MariaDB em repouso e cerca de 550 MB enquanto importa; o disco guarda as fotos no tamanho original delas, mais as miniaturas. No Pethost, o plano Starter basta, com espaço para outros apps ao lado.
Arquivo Docker Compose de PhotoPrism
O template é este compose.yaml e as variáveis gravadas no .env do projeto quando ele é criado. O Pethost roda o arquivo exatamente como está escrito.
Containers: photoprism (photoprism/photoprism:261007), mariadb (mariadb:11.8).
Volumes, no backup noturno: 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:
Mais em Mídia
- OwncastVídeo ao vivo e chat em uma página só sua
- NavidromeUm servidor de música que faz streaming da sua própria coleção
- RomMUma biblioteca e um player no navegador para os seus jogos retrô
- KomgaUm servidor e leitor web para seus quadrinhos, mangás e e-books
- LycheeUma galeria para enviar, organizar e compartilhar suas fotos
- AudiobookshelfSeu próprio servidor de audiolivros e podcasts: ouça no navegador ou nos apps, com o progresso guardado entre dispositivos