---
title: "PhotoPrism com Docker Compose e hospedagem em um clique"
description: "PhotoPrism: biblioteca de fotos com IA que organiza, etiqueta e põe no mapa suas fotos e vídeos. Auto-hospede a alternativa ao Google Photos em um clique."
---

[← Todos os templates](https://pethost.dev/pt/templates/) · [Mídia](https://pethost.dev/pt/templates/media/)

# 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.

[Fazer deploy no Pethost](https://console.pethost.dev/?template=photoprism)

## 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

1. 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.
2. Novo projeto abre em PhotoPrism. Você preenche o que ele pede e clica em Criar projeto: **Usuário**, **Senha do administrador**.
3. 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.
4. É 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:
```

[compose.yaml](https://pethost.dev/templates/photoprism/compose.yaml)[Ver no GitHub](https://github.com/pethost-dev/templates/tree/main/photoprism)

## [Mais em Mídia](https://pethost.dev/pt/templates/media/)

- [**Owncast**Vídeo ao vivo e chat em uma página só sua](https://pethost.dev/pt/templates/owncast/)
- [**Navidrome**Um servidor de música que faz streaming da sua própria coleção](https://pethost.dev/pt/templates/navidrome/)
- [**RomM**Uma biblioteca e um player no navegador para os seus jogos retrô](https://pethost.dev/pt/templates/romm/)
- [**Komga**Um servidor e leitor web para seus quadrinhos, mangás e e-books](https://pethost.dev/pt/templates/komga/)
- [**Lychee**Uma galeria para enviar, organizar e compartilhar suas fotos](https://pethost.dev/pt/templates/lychee/)
- [**Audiobookshelf**Seu próprio servidor de audiolivros e podcasts: ouça no navegador ou nos apps, com o progresso guardado entre dispositivos](https://pethost.dev/pt/templates/audiobookshelf/)

Pethost · Stephan Gomer · NIP 1133096755

Pethost

- [Templates](https://pethost.dev/pt/templates/)
- [Sobre nós](https://pethost.dev/about/)
- [Docs](https://pethost.dev/docs/)
- [Blog](https://pethost.dev/pt/blog/)
- [API](https://pethost.dev/docs/api/)
- [CLI](https://pethost.dev/docs/cli/)
- [Plugin](https://github.com/pethost-dev/plugin)
- [Termos](https://pethost.dev/terms/)
- [Privacidade](https://pethost.dev/privacy/)
- [Reembolsos](https://pethost.dev/refunds/)
- [support@pethost.dev](mailto:support@pethost.dev)

Bancos de dados

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

Comparativos

- [Coolify vs Dokploy vs CapRover vs Dokku](https://pethost.dev/pt/blog/coolify-vs-dokploy-vs-caprover-vs-dokku/)
- [Coolify Cloud vs Dokploy Cloud](https://pethost.dev/pt/blog/coolify-cloud-vs-dokploy-cloud/)
- [Preços Railway vs Render vs Fly.io](https://pethost.dev/pt/blog/railway-vs-render-vs-fly-io-pricing/)
- [Hospedagem gerenciada de Docker Compose](https://pethost.dev/pt/blog/managed-docker-compose-hosting/)

Alternativas

- [Alternativas ao Railway](https://pethost.dev/pt/blog/railway-alternatives/)
- [Alternativas ao Heroku](https://pethost.dev/pt/blog/heroku-alternatives/)
- [Alternativas ao Dokploy](https://pethost.dev/pt/blog/dokploy-alternatives/)
- [Alternativas ao Coolify](https://pethost.dev/pt/blog/coolify-alternatives/)
- [Alternativas ao Render](https://pethost.dev/pt/blog/render-alternatives/)
- [Alternativas ao Sliplane](https://pethost.dev/pt/blog/sliplane-alternatives/)
