2021-06-03 12:20:40 -04:00
|
|
|
# Introduction
|
|
|
|
|
2021-10-06 06:05:07 -04:00
|
|
|
Welcome to the documentation repository for Synapse, a
|
|
|
|
[Matrix](https://matrix.org) homeserver implementation developed by the matrix.org core
|
|
|
|
team.
|
2021-10-06 13:09:35 -04:00
|
|
|
|
|
|
|
## Installing and using Synapse
|
|
|
|
|
|
|
|
This documentation covers topics for **installation**, **configuration** and
|
|
|
|
**maintainence** of your Synapse process:
|
|
|
|
|
|
|
|
* Learn how to [install](setup/installation.md) and
|
|
|
|
[configure](usage/configuration/index.html) your own instance, perhaps with [Single
|
|
|
|
Sign-On](usage/configuration/user_authentication/index.html).
|
|
|
|
|
|
|
|
* See how to [upgrade](upgrade.md) between Synapse versions.
|
|
|
|
|
|
|
|
* Administer your instance using the [Admin
|
|
|
|
API](usage/administration/admin_api/index.html), installing [pluggable
|
|
|
|
modules](modules/index.html), or by accessing the [manhole](manhole.md).
|
|
|
|
|
|
|
|
* Learn how to [read log lines](usage/administration/request_log.md), configure
|
|
|
|
[logging](usage/configuration/logging_sample_config.md) or set up [structured
|
|
|
|
logging](structured_logging.md).
|
|
|
|
|
|
|
|
* Scale Synapse through additional [worker processes](workers.md).
|
|
|
|
|
|
|
|
* Set up [monitoring and metrics](metrics-howto.md) to keep an eye on your
|
|
|
|
Synapse instance's performance.
|
|
|
|
|
|
|
|
## Developing on Synapse
|
|
|
|
|
|
|
|
Contributions are welcome! Synapse is primarily written in
|
|
|
|
[Python](https://python.org). As a developer, you may be interested in the
|
|
|
|
following documentation:
|
|
|
|
|
|
|
|
* Read the [Contributing Guide](development/contributing_guide.md). 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](https://github.com/matrix-org/synapse)).
|
|
|
|
|
|
|
|
* Set up your [development
|
|
|
|
environment](development/contributing_guide.md#2-what-do-i-need), then learn
|
|
|
|
how to [lint](development/contributing_guide.md#run-the-linters) and
|
|
|
|
[test](development/contributing_guide.md#8-test-test-test) your code.
|
|
|
|
|
|
|
|
* Look at [the issue tracker](https://github.com/matrix-org/synapse/issues) for
|
|
|
|
bugs to fix or features to add. If you're new, it may be best to start with
|
|
|
|
those labeled [good first
|
|
|
|
issue](https://github.com/matrix-org/synapse/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22).
|
|
|
|
|
|
|
|
* Understand [how Synapse is
|
|
|
|
built](development/internal_documentation/index.html), how to [migrate
|
|
|
|
database schemas](development/database_schema.md), learn about
|
|
|
|
[federation](federate.md) and how to [set up a local
|
|
|
|
federation](federate.md#running-a-demo-federation-of-synapses) for development.
|
|
|
|
|
|
|
|
* We like to keep our `git` history clean. [Learn](development/git.md) how to
|
|
|
|
do so!
|
|
|
|
|
|
|
|
* And finally, contribute to this documentation! The source for which is
|
|
|
|
[located here](https://github.com/matrix-org/synapse/tree/develop/docs).
|
|
|
|
|
|
|
|
## Donating to Synapse development
|
|
|
|
|
|
|
|
Want to help keep Synapse going but don't know how to code? Synapse is a
|
|
|
|
[Matrix.org Foundation](https://matrix.org) project. Consider becoming a
|
|
|
|
supportor on [Liberapay](https://liberapay.com/matrixdotorg),
|
|
|
|
[Patreon](https://patreon.com/matrixdotorg) or through
|
|
|
|
[PayPal](https://paypal.me/matrixdotorg) 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
|
|
|
|
|
|
|
|
## Reporting a security vulnerability
|
|
|
|
|
|
|
|
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](https://www.matrix.org/security-disclosure-policy/). Thank you!
|