Introduction
Welcome to the documentation repository for Synapse, aMatrix homeserver implementation developed by Element.
Installing and using Synapse
This documentation covers topics forinstallation,configuration andmaintenance of your Synapse process:
Learn how toinstall andconfigure your own instance, perhaps withSingleSign-On.
See how toupgrade between Synapse versions.
Administer your instance using theAdminAPI, installingpluggablemodules, or by accessing themanhole.
Learn how toread log lines, configurelogging or set upstructuredlogging.
Scale Synapse through additionalworker processes.
Set upmonitoring and metrics to keep an eye on yourSynapse instance's performance.
Developing on Synapse
Contributions are welcome! Synapse is primarily written inPython. As a developer, you may be interested in thefollowing documentation:
Read theContributing Guide. It is meantto walk new contributors through the process of developing and submitting achange to the Synapse codebase (which ishosted onGitHub).
Set up yourdevelopmentenvironment, then learnhow tolint andtest your code.
Look atthe issue tracker forbugs to fix or features to add. If you're new, it may be best to start withthose labeledgood firstissue.
Understandhow Synapse isbuilt, how tomigratedatabase schemas, learn aboutfederation and how toset up a localfederation for development.
We like to keep our
git
history clean.Learn how todo so!And finally, contribute to this documentation! The source for which islocated here.
Reporting a security vulnerability
If you've found a security issue in Synapse or any other Element project,please report it to us in accordance with ourSecurity DisclosurePolicy. Thank you!