We recommend hosting PhotoPrism® on a server with at least 2 cores, 4 GB of physical memory, and a 64-bit operating system. It runs best with Docker Desktop on Windows 10+ and macOS 11+, Podman on Red Hat and compatible Linux distributions such as CentOS, Fedora, AlmaLinux, and Rocky Linux, and Docker on all other Linux distributions such as Ubuntu and Debian.
Setup Using Docker Compose
For this to work, make sure that you have Docker and Docker Compose (Linux) or Docker Desktop (Windows) installed and running on your server before you continue. If your server does not yet support the new
docker compose command, you can still use the legacy
docker-compose command instead.
Windows users should have the latest Windows Subsystem for Linux (WSL2) installed. With Windows Pro, Server and Enterprise, Hyper-V can be enabled as an alternative, which Microsoft does not offer its Windows Home customers.
Linux Kernel Security Modules such as AppArmor and SELinux may require additional configuration if you want to use them. The application services may fail to start if they have insufficient permissions or privileges.
In case you are not sure if you have Docker installed yet, and if so, which version, you can run the following command in a terminal to display the version information:
Users of Red Hat Enterprise Linux® and compatible Linux distributions such as CentOS, Fedora, AlmaLinux, and Rocky Linux can substitute the
docker compose commands with
podman-compose as drop-in replacements.
Step 1: Customize Configuration
Download the docker-compose.yml default configuration for your operating system (right click and Save Link As...) to a local folder, e.g.
/opt/photoprism on Linux, then open the file with a text editor to customize the storage volumes and other options as needed:
Please refer to our official documentation for basic settings and general setup instructions. When editing the configuration file, related values must start at the same indentation level in YAML files and that tabs are not allowed for indentation. We recommend using 2 spaces.
Please always change
PHOTOPRISM_ADMIN_PASSWORD so that the app starts with a secure initial password. Never use easy-to-guess passwords or default values like "insecure" on publicly accessible servers. There is no default in case no password was provided. A minimum length of 8 characters is required.
Step 2: Launch PhotoPrism®
When you are done with the configuration, open a terminal and change to the folder where the docker-compose.yml file was saved. Now run the following commands to pull the latest image from there, and then start MariaDB and PhotoPrism as background services:
docker compose pull docker compose up -d
After waiting a few moments, you should be able to open the user interface in a Web browser by navigating to:
If you have modified the server hostname, port, or protocol in your configuration, the URL to use changes accordingly. Other issues? Our Troubleshooting Checklists help you quickly diagnose and solve them.
When you see the login screen, sign in with the admin username and initial password you specified in your docker-compose.yml file. You can change it in the user interface when you navigate to Settings > Account. PhotoPrism® Plus also includes a web user interface for creating additional accounts and managing sessions.
Note that the examples in our documentation use the new
docker compose command by default. If your server does not yet support it, the old
docker-compose command will continue to work.
To verify that all services are running properly, you can view the server logs at any time by running
docker compose logs -f.
Step 3: Index Your Library & Create Accounts
Our First Steps 👣 tutorial guides you through the user interface and library settings to ensure your library is indexed according to your individual preferences.
In the following section, we'll give you an overview of the additional features available in PhotoPrism® Plus.
PhotoPrism® Plus includes advanced multi-user functionality with additional account roles. These roles are intended for applications where multiple users share a single library or, for example, to give family members access to your personal library without granting write permissions or exposing private content.
It is recommended that you set up multiple instances of PhotoPrism® Plus if you have multiple users, such as a family, who want to manage their own files independently and share only selected content. That way you can avoid problems with conflicting library settings, file permissions, and dealing with duplicates.
Built-in reporting helps you monitor PhotoPrism® Plus for potential vulnerabilities, misuse, and other critical incidents.
Our guide shows you how to enable transport encryption, add server certificates, and create new certificates.
For detailed information on specific product features, services, and related resources, see our Knowledge Base, or read the User Guide for help using the web user interface: