Welcome to the documentation repository for Synapse, a Matrix homeserver implementation developed by the matrix.org core team.
This documentation covers topics for installation, configuration and maintainence of your Synapse process:
Learn how to install and configure your own instance, perhaps with Single Sign-On.
See how to upgrade between Synapse versions.
Administer your instance using the Admin API, installing pluggable modules, or by accessing the manhole.
Learn how to read log lines, configure logging or set up structured logging.
Scale Synapse through additional worker processes.
Set up monitoring and metrics to keep an eye on your Synapse instance's performance.
Contributions are welcome! Synapse is primarily written in Python. As a developer, you may be interested in the following documentation:
Read the Contributing Guide. It is meant to walk new contributors through the process of developing and submitting a change to the Synapse codebase (which is hosted on GitHub).
Set up your development environment, then learn how to lint and test your code.
Look at the issue tracker for bugs to fix or features to add. If you're new, it may be best to start with those labeled good first issue.
Understand how Synapse is built, how to migrate database schemas, learn about federation and how to set up a local federation for development.
We like to keep our git
history clean. Learn how to
do so!
And finally, contribute to this documentation! The source for which is located here.
Want to help keep Synapse going but don't know how to code? Synapse is a Matrix.org Foundation project. Consider becoming a supportor on Liberapay, Patreon or through PayPal via a one-time donation.
If you are an organisation or enterprise and would like to sponsor development, reach out to us over email at: support (at) matrix.org
If you've found a security issue in Synapse or any other Matrix.org Foundation project, please report it to us in accordance with our Security Disclosure Policy. Thank you!