Getting Updates¶
Back us on Patreon or GitHub Sponsors. Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.
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
Note that our guides now use the new docker compose
command by default. If your server does not yet support it, you can still use docker-compose
.
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.
Even when you use an image with the :latest
tag, Docker does not automatically download new images for you. You can either manually upgrade as shown above, or set up a service like Watchtower to get automatic updates.
Config Examples¶
We recommend that you compare your own docker-compose.yml
with our latest examples from time to time, as they may include new config options or other enhancements relevant to you.
Development Preview¶
You can test upcoming features and enhancements 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.
Watchtower¶
Adding Watchtower as a service to your docker-compose.yml
will
automatically keep images up-to-date:
services:
watchtower:
image: containrrr/watchtower
restart: unless-stopped
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
Users of our DigitalOcean 1-Click App have Watchtower pre-installed.
Caution
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.
Complete Rescan¶
We recommend performing a complete rescan after major updates to take advantage of new search filters and sorting options. Be sure to read the notes for each release to see what changes have been made and if they might affect your library, for example, because of the file types you have or because new search features have been added. If you encounter problems that you cannot solve otherwise (i.e. before reporting a bug), please also try a rescan and see if it solves the problem.
You can start a rescan from the user interface by navigating to Library > Index, selecting "Complete Rescan", and then clicking "Start". Manually entered information such as labels, people, titles or descriptions will not be modified when indexing, even if you perform a "complete rescan".
Be careful not to start multiple indexing processes at the same time, as this will lead to a high server load.
Face 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
MariaDB Server¶
Our configuration examples are generally based on the current stable version to take advantage of performance improvements. This does not mean that older versions are no longer supported and you must upgrade immediately. We recommend not using the :latest
tag for the MariaDB Docker image and to upgrade manually by changing the tag once we had a chance to test a new major version, e.g.:
services:
mariadb:
image: mariadb:10.9
...
If MariaDB fails to start after upgrading from an earlier version (or migrating from MySQL), the internal management schema may be outdated. See Troubleshooting MariaDB Problems for instructions on how to fix this.
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.
-
The default Docker Compose config filename is
docker-compose.yml
. For simplicity, it doesn't need to be specified when runningdocker compose
ordocker-compose
in the same directory. Config files for other apps or instances should be placed in separate folders. ↩