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. We recommend that you compare your docker-compose.yml with our examples at from time to time in case there are new configuration options or other improvements.

Development Preview

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.

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 Silicon, 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

If you do not have legacy software, we recommend choosing a standard 64-bit Linux distribution as this requires less experience. Alternative 32-bit Docker images are provided for ARMv7-based devices.

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. 

Back to top