These source files are written in human-friendly Markdown. They are meant to be parsed with MkDocs Material to generate the final HTML pages published at docs.photoprism.app.
Although arguably less convenient to work with than a Wiki, this enables us to easily merge pull requests and constantly improve our documentation in a transparent way. Direct access to the source files in a revision control system is a big plus to ensure the quality of our documentation.
At the top of each generated page is an edit this page link to the corresponding page on GitHub, where you can make changes (and submit pull requests with a few clicks) without needing to know Git or run anything on your system.
To make more extensive changes, fork this repository, modify the corresponding .md source files (or create new ones), commit the changes, push them back to your fork, and then submit a pull request to our develop branch.
mkdocs.yml # The configuration file.
docs/
index.md # The documentation homepage.
... # Other markdown pages, images and other files.
MkDocs Material (including the features that previously shipped as the Insiders build) now installs directly from PyPI, so make deps / make install work out of the box without adding tokens to .env.
This site is built with ProperDocs, a maintained drop-in fork of MkDocs 1.x (MkDocs core is EOL). It reads the existing mkdocs.yml unchanged and is installed via requirements.txt; the make targets call it under the hood, so the commands below are unchanged.
When using a Debian, Ubuntu, or Mint Linux, run this command the first time you work with this repository on your computer so that the dependencies are installed:
make deps
Otherwise, install Python 3 and Pip manually and run the following command:
make install
In case files in the project directory have bad permissions and mkdocs cannot read or write them:
make fix
Once the dependencies are installed (see Build Setup above), preview the documentation locally with live reload:
make watchThis runs MkDocs Material from the local venv/. Now open http://localhost:8000/ in a browser to view the rendered documentation.
The content will be updated automatically when changes are detected.
To produce a one-off build without installing a Python toolchain on your host, run the upstream MkDocs Material image and add this repo's extra plugins at run time (the image's entrypoint is mkdocs, so override it to run pip first):
docker run --rm --entrypoint sh -v "$PWD":/docs -w /docs squidfunk/mkdocs-material:latest \
-c "pip install -r requirements.txt && properdocs build -f mkdocs.deploy.yml"The rendered site is written to site/ (the container writes it as root); site/ and any hooks/__pycache__ it creates are git-ignored build artifacts.
When you merge the develop branch to deploy, the live documentation is automatically created, uploaded and will be visible shortly.
Linux/Unix users can run make merge in a terminal. Otherwise, please use the tools provided by your development environment or editor.
After you submit your first pull request, you will be asked to accept our Contributor License Agreement (CLA). Visit photoprism.app/cla to learn more.
For AI agents and LLM crawlers, the build publishes an llms.txt index and an llms-full.txt full-text dump at the site root, following the llms.txt convention. These are generated by a small MkDocs build hook. See LLMS.md for details on scope, configuration, and how to adjust generation.
- photoprism/photoprism-docs-de - User Guide (German)
- photoprism/photoprism - AI-Powered Photos App 🌈💎✨
- photoprism/photoprism-contrib - Contributed Resources, Scripts, Tutorials and Examples
PhotoPrism® is a registered trademark. By using the software and services we provide, you agree to our Terms of Service, Privacy Policy, and Code of Conduct. Docs are available under the CC BY-NC-SA 4.0 License; additional terms may apply.