diff options
author | Brendan Abolivier <babolivier@matrix.org> | 2021-09-08 19:14:54 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-09-08 17:14:54 +0000 |
commit | 03caba65777ab6ec8d089f8975352242e0d7b0af (patch) | |
tree | a88495bb8c0f11d55c56ab3c5075673a69e9cf48 /docs/modules/index.md | |
parent | Fix frontend_proxy jinja script in docker workers (#10783) (diff) | |
download | synapse-03caba65777ab6ec8d089f8975352242e0d7b0af.tar.xz |
Improve the modules doc (#10758)
* Split up the documentation in several files rather than one huge one * Add examples for each callback category * Other niceties like fixing https://github.com/matrix-org/synapse/issues/10632 * Add titles to callbacks so they're easier to find in the navigation panels and link to
Diffstat (limited to 'docs/modules/index.md')
-rw-r--r-- | docs/modules/index.md | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/docs/modules/index.md b/docs/modules/index.md new file mode 100644 index 0000000000..3fda8cb7f0 --- /dev/null +++ b/docs/modules/index.md @@ -0,0 +1,34 @@ +# Modules + +Synapse supports extending its functionality by configuring external modules. + +## Using modules + +To use a module on Synapse, add it to the `modules` section of the configuration file: + +```yaml +modules: + - module: my_super_module.MySuperClass + config: + do_thing: true + - module: my_other_super_module.SomeClass + config: {} +``` + +Each module is defined by a path to a Python class as well as a configuration. This +information for a given module should be available in the module's own documentation. + +**Note**: When using third-party modules, you effectively allow someone else to run +custom code on your Synapse homeserver. Server admins are encouraged to verify the +provenance of the modules they use on their homeserver and make sure the modules aren't +running malicious code on their instance. + +Also note that we are currently in the process of migrating module interfaces to this +system. While some interfaces might be compatible with it, others still require +configuring modules in another part of Synapse's configuration file. + +Currently, only the following pre-existing interfaces are compatible with this new system: + +* spam checker +* third-party rules +* presence router |