Collecting Debug Information¶
Make sure Logs is enabled under Settings > General so you can see log messages in the Web UI.
The continuously updated live logs in Library > Logs are especially useful for diagnosing indexing and import issues, but also display other types of logs (depending on the log level):
- Navigate to Library
- Open the Logs tab
Only a limited number of messages are visible in the Web App to reduce memory usage. You can see all messages in the Docker Logs. This may be more convenient if you are looking for information on a specific file or want to attach your full logs to a support request.
Errors and Warnings
- Expand the main navigation
- Open the Library sub navigation
- Navigate to Library > Errors
If you have a frontend issue, it is often helpful to check the browser console for errors and warnings. A console is available in all modern browsers and can be activated via keyboard shortcuts or the browser menu.
In case you don't see any log messages, try reloading the page, as the problem may occur while the page is loading.
Chrome, Chromium, and Edge
- press ⌘+Option+J (Mac) or Ctrl+Shift+J (Windows, Linux, Chrome OS) to go directly to the Developer Tools
- or, navigate to More tools > Developer tools in the browser menu and open the Console tab
- press ⌘+Option+K (Mac) or Ctrl+Shift+K (Windows) to go directly to the Firefox Web Console panel
- or, navigate to Web Development > Web Console in the menu and open the Console panel
Before you can access the console in Safari on MacOS, you first need to enable the Develop menu:
- Choose Safari Menu > Preferences and select the Advanced Tab
- Select "Show Develop menu in menu bar"
Once the Develop menu is enabled:
Browser logs on Apple mobile devices running iOS or iPadOS can be viewed when you connect them to a Mac. Before you can connect your device to a Mac, you must allow your device to be inspected:
- Open the Settings app
- Go to Safari
- Scroll down to Advanced
- Enable the Web Inspector toggle
If you now connect the device to your Mac with a cable, websites opened in Safari on iOS and iPadOS will appear in a submenu for the connected device in the Develop menu of the Safari desktop browser. Note that when prompted, you may need to confirm that you trust the Mac you are connecting your device to.
Web pages (and other content) are separated by app, making it easier for you to find the web page you are looking for. Once you have found and selected the site you want to inspect, a Web Inspector window will open. See Apple's Developer Guide for additional help and information.
You can run this command to watch the Docker service logs, including the last 100 messages (omit
--tail=100 to see them all, and
-f to output only the last logs without watching them):
docker compose logs -f --tail=100
A good way to troubleshoot configuration issues is to increase the log level. To enable trace log mode, set
"trace" in the
environment: section of the
photoprism service (or use the
--trace flag when running the
photoprism command directly):
Now restart all services for your changes to take effect:
docker compose stop
docker compose up -d
It can also be helpful to keep Docker running in the foreground while debugging, so that log messages are displayed directly. To do this, omit the
-d parameter when (re)starting:
docker compose stop
docker compose up
If you see no errors or no logs at all, you may have started the server on a different host and/or port. There could also be an issue with your browser, browser plugins, firewall settings, or other tools you may have installed.
The default Docker Compose config filename is
docker-compose.yml. For simplicity, it doesn't need to be specified when running
docker compose or
docker-compose in the same directory. Config files for other apps or instances should be placed in separate folders.
We kindly ask you not to report bugs via GitHub Issues unless you are certain to have found a fully reproducible and previously unreported issue that must be fixed directly in the app. Ask for technical support if you need help, it could be a local configuration problem, or a misunderstanding in how the software works.