Skip to content

How to contribute

We welcome contributions of any kind including bug reports, pull requests, ideas, testing, writing documentation, tutorials and blog posts.

Issues labeled help wanted can be good (first) contributions. Let us know if you need additional information or permissions on GitHub to perform a task. There are no stupid questions.


If you have a question or an idea, please contact us via email or join our #photoprism channel on If you don't have an account yet, you can create one on

Feature requests

You are welcome to add specific feature requests directly to our GitHub issue tracker if no similar idea or todo already exists. Please don't use the issue tracker to ask general questions. We also maintain a couple of pages in our Developer Guide for collecting interesting ideas and feedback, e.g. Related, Love, Concerns and Research.

Reporting bugs

Please use the GitHub issue tracker to report clearly identified bugs and impediments to us. If you're not sure, start by asking via email or chat. When reporting an issue, please provide the version in use and information about your environment like browser, operating system, installed memory, and processor type.

Submitting pull requests

We welcome all contributors and contributions regardless of skill or experience level. If you are interested in helping with the project, we will help you with your contribution.

Development environment

It is easiest to build and test the application inside a Docker container. See Developer Guide.

Code contribution guidelines

Because we want to create the best possible product for our users and the best contribution experience for our developers, we have a set of guidelines which ensure that all contributions are acceptable. The guidelines are not intended as a filter or barrier to participation. If you are unfamiliar with the contribution process, we will help you.

To make the contribution process as seamless as possible, we ask for the following:

Fork the repository and make your changes

  • If your commit references one or more GitHub issues, always end your commit message body with see #1234 or fixes #1234. Replace 1234 with the GitHub issue ID. The last example will close the issue when the commit is merged into master.
  • Use a short and descriptive branch name, e.g. NOT "patch-1". It's very common but creates a naming conflict each time when a submission is pulled for a review.

When you’re ready to create a pull request


Part of this project is to find better ways of organizing product development, in particular by embracing simplicity and consistently leveraging community feedback. Please share your experience with us, especially if you haven't actively contributed yet. Name and email are optional.


Please leave a star on GitHub if you like this project, it provides enough motivation to keep going. Thank you very much! <3