Roles and Permissions

Role View Shared View Private View Library Download Upload WebDAV Full Access
admin optional
user optional
viewer except private except private
contributor uploaded shared & uploaded upload path optional
guest shared
visitor shared

Please note that this overview only applies to PhotoPrism® Pro. Information on the user management features of our personal editions is available in the user guide at


Admins have unrestricted access to all pictures, albums, and settings.

Regular Admins can lose their privileges due to an intentional or accidental role change. However, accounts with the optional "superadmin" status (can be set with the -s flag) retain their admin privileges even if they are assigned a non-admin or invalid role. This is to prevent them from locking themselves out.

When Super Admins change settings such as the language or theme, these automatically become the default settings for other users, unless they have explicitly made a different choice. In addition, global feature flags can only be changed by Super Admins.


Users have full access to the library and can view, edit, and delete all pictures and albums. Unlike Admins, Users cannot view or change the Library and Advanced Settings, only personal preferences such as theme, language, and password. In addition, their WebDAV access can be disabled. Future releases may include more ways to customize user privileges, e.g. with individual account attributes.


Viewers are similar to regular Users, except that they do not have write access to the library and cannot see content that has been archived or marked private. They also cannot upload/import files or trigger indexing. Like all registered users, Viewers can change and save personal preferences such as theme, language, and password.


Contributors have read-only access (view and download) to the resources that are in their configured base path, and to the albums that an admin or regular user has shared with them via a link (see below). The Contributor role does not have access to the entire library, but does have the right to upload files to the directory specified as the upload path. Contributors can also change their personal user preferences such as theme, language, and password.


Guests do not have access to the entire library. They only have read access (view and download) to the resources that are in their configured base path (if any) and to the resources that other users have shared with them, e.g. via a link. Guests can also change personal settings such as theme, language, and password.


Visitors cannot be added manually. This special role is tied to a system account that represents anonymous users who use links to view albums or other content that has been shared with them. Visitors can only access these resources and cannot log in with a username or password. They also cannot retain their personal settings for longer than their browsing session lasts.

Our team will be happy to provide you with configuration recommendations and information about customization options.

Sharing Between Users

To share resources e.g. with Guests or Contributors who do not have full access, Admins and Users can create share links. When a user with limited privileges opens such a link while being logged in, their account will get read-only access to the shared resources. It will later also be possible to share content with other users directly through the web interface without creating links first.

Managing User Accounts

Admin Web UI

PhotoPrism® Pro includes a web user interface for account and session management. It allows you to conveniently manage user accounts and sessions when you log in as Admin and then navigate to Settings > Users.

CLI Commands

As an alternative to the web user interface, you can run the following commands in a terminal to perform tasks such as adding, viewing, editing and deleting user accounts:

Command Description
photoprism users ls [search] Searches existing user accounts
photoprism users legacy [search] Searches legacy user accounts
photoprism users add [options] [username] Adds a new user account
photoprism users show [username] Displays user account information
photoprism users mod [options] [username] Modifies an existing user account
photoprism users rm [username] Removes a user account
photoprism users reset Removes all accounts and resets the database
photoprism passwd [username] Changes the password required to log in

Account Options

The users add and users mod commands support these flags to set or change account properties:

Command Flag Description
--name NAME, -n NAME full NAME for display in the interface
--email EMAIL, -m EMAIL unique EMAIL address of the user
--password PASSWORD, -p PASSWORD PASSWORD for authentication
--role value, -r value admin, user, viewer, contributor or guest (default: "user")
--attr ATTRIBUTES, -a ATTRIBUTES custom user account ATTRIBUTES
--superadmin, -s make user super admin with full access
--no-login, -l disable login on the web interface
--webdav, -w allow to sync files via WebDAV
--base-path value,-d value` restrict search to this originals folder
--upload-path value, -u value upload files to this sub-folder
--disable-2fa deactivate two-factor authentication

Changing a Password

Running the following in a terminal changes the password of an existing user without affecting other account settings, e.g. if you cannot remember the currently set password or if there was a problem configuring the initial admin account (replace [username] with the username of the account you want to update):

photoprism passwd [username]

Note that when you use Docker Compose and do not already have a terminal session open, you must prepend docker compose exec photoprism so that the command is executed within the photoprism container, for example:

docker compose exec photoprism photoprism passwd admin

The examples in our documentation use the new docker compose command by default. If your server does not yet support it, you can still use docker-compose or alternatively podman-compose on Red Hat-compatible Linux distributions.

Creating a New Account

The command photoprism users add creates a new user account. For example, you could run the following to add a new admin with the username "bob" and the password "mysecret":

docker compose exec photoprism photoprism users add -p mysecret -n "Bob" bob

If you do not specify an initial password with the -p flag, you will be prompted to enter a password for the new account. Further account properties can be set with the flags listed above.

Viewing Account Details

To view the account properties of a specific user, use the show subcommand:

docker compose exec photoprism photoprism users show bob

Searching User Accounts

To list all existing accounts, you can run the following:

docker compose exec photoprism photoprism users ls

With the photoprism users ls command, you can also find specific accounts based on a search term you provide:

docker compose exec photoprism photoprism users ls bob

To display a description and the available options for a command, use the --help flag:

docker compose exec photoprism photoprism users ls --help

Session Management

You can use the following terminal commands to create, inspect and, if necessary, delete access tokens for the authentication of browsers and other clients (including app passwords):

CLI Command Description
photoprism auth ls [search] Lists currently authenticated users and clients
photoprism auth add [username] Adds a new authentication secret for client applications
photoprism auth show [identifier] Shows detailed information about a session
photoprism auth rm [identifier] Deletes a session by id or access token
photoprism auth reset --yes Resets the authentication of all users and clients

In addition, login attempts can be viewed in the application service logs as well as with this command:

docker compose exec photoprism photoprism audit logins [search]

Learn more ›

PhotoPrism® Documentation

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: