Newer
Older
Andrew Morgan
committed
# Introduction
Welcome to the documentation repository for Synapse, a
[Matrix](https://matrix.org) homeserver implementation developed by the matrix.org core
team.
## Installing and using Synapse
This documentation covers topics for **installation**, **configuration** and
Andrew Morgan
committed
**maintenance** of your Synapse process:
* Learn how to [install](setup/installation.md) and
Andrew Morgan
committed
[configure](usage/configuration/config_documentation.md) your own instance, perhaps with [Single
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
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
Andrew Morgan
committed
supporter 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!