Skip to content

Getting Updates

Back us on Patreon or GitHub Sponsors. Your continued support helps us provide regular updates and services like world maps. Thank you! 💜

Docker Compose

Open a terminal and change to the folder where the docker-compose.yml file is located.1 Now run the following commands to download the most recent image from Docker Hub and restart your instance in the background:

docker-compose pull
docker-compose stop
docker-compose up -d

Pulling a new version can take several minutes, depending on your internet connection speed.

Advanced users can add this to a Makefile so that they only have to type a single command like make update. See Command-Line Interface to learn more about terminal commands.

Running an image with :latest tag does not cause Docker to automatically download new images.

You can test upcoming features and improvements by changing the image from photoprism/photoprism:latest to photoprism/photoprism:preview in your docker-compose.yml. Then pull the most recent image and restart your instance as shown above. There is no preview available for 32-bit operating systems.

Raspberry Pi

Our stable version and development preview have been built into a single multi-arch Docker image for 64-bit AMD, Intel, and ARM processors.

That means, Raspberry Pi 3 / 4, Apple M1, and other ARM64-based devices can pull from the same repository, enjoy the exact same functionality, and can follow the regular Installation Instructions after going through a short list of System Requirements and Architecture Specific Notes.

Try explicitly pulling the ARM64 version if you've booted your device with the arm_64bit=1 flag and you see the "no matching manifest" error on Raspberry Pi OS (Raspbian):

docker pull --platform=arm64 photoprism/photoprism:latest

We recommend choosing a standard 64-bit Linux distribution instead of Raspbian to run modern server applications.

Alternative Docker images are provided for ARMv7-based devices and those with a 32-bit operating system.

Darktable is not included in the ARMv7 version because it is not 32-bit compatible.

Facial Recognition

Existing users may index faces without performing a complete rescan:

docker-compose exec photoprism photoprism faces index

Remove existing people and faces for a clean start e.g. after upgrading from our development preview:

docker-compose exec photoprism photoprism faces reset -f


Adding Watchtower as a service to your docker-compose.yml will automatically keep images up-to-date:

    image: containrrr/watchtower
    restart: unless-stopped
      - "/var/run/docker.sock:/var/run/docker.sock"

Users of our DigitalOcean 1-Click App have Watchtower pre-installed.


Automatic updates may interrupt indexing and import operations. Only enable Watchtower if you are comfortable with this.

Pure Docker

Open a terminal on your server, and run the following command to pull the most recent container image:

docker pull photoprism/photoprism:latest

See Running PhotoPrism with Docker for a command reference.

  1. The default Docker Compose config filename is docker-compose.yml. For simplicity, it doesn't need to be specified when running the docker-compose command in the same directory. Config files for other apps or instances should be placed in separate folders.